// First mission goes here // Fish icon comes from Nys's icon collection:https://imgur.com/a/x9Y8GFk /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //Start//Wave 1//Wave 2//Wave 3/////////Wave 4//Wave 5 //600////700(800)//800(900)//800(900)//700(800)//700(800) /////////////////////////////////////////////////////// //Bonus// 1400 // 2200 // 3100 // 3900 // 4700 /////////////////////////////////////////////////////// /////////////////////////////////////////////////////// /////////////////////////////////////////////////////// /////////////////////////////////////////////////////// /////////////////////////////////////////////////////// /////////////////////////////////////////////////////// /////////////////////////////////////////////////////// /////////////////////////////////////////////////////// /////////////////////////////////////////////////////// /////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// #base robot_standard.pop #base robot_giant.pop WaveSchedule { StartingCurrency 600 RespawnWaveTime 12 CanBotsAttackWhileInSpawnRoom no //Can you decide which bot can attack in the spawn room in a specific wave or not? //at best, you can give a robot Attributes AlwaysFireWeapon, which'll make it fire in spawn, but of course it'll also always be firing its weapon //AddSentryBusterWhenDamageDealtExceeds and AddSentryBusterWhenKillCountExceeds can be used to summon a Sentry Buster without using Mission. Mission { Objective DestroySentries InitialCooldown 5 Where spawnbot BeginAtWave 1 RunForThisManyWaves 6 CooldownTime 40 TFBot { Template T_TFBot_SentryBuster } } Mission { Objective Sniper InitialCooldown 5 Where spawnbot_mission_sniper BeginAtWave 4 RunForThisManyWaves 1 //Putting 1 makes Mission active for exactly one wave, and since the commmand includes the BeginAtWave's Wave, you can only consider BeginAtWave. CooldownTime 60 DesiredCount 1 TFBot { Template T_TFBot_Sniper } } Mission { Objective Spy InitialCooldown 5 Where spawnbot_mission_spy BeginAtWave 5 RunForThisManyWaves 2 //Putting 1 makes Mission active for exactly one wave, and since the commmand includes the BeginAtWave's Wave, you can only consider BeginAtWave. CooldownTime 60 DesiredCount 2 TFBot { Template T_TFBot_Spy } } Mission { Objective Sniper InitialCooldown 5 Where spawnbot_mission_sniper BeginAtWave 6 RunForThisManyWaves 1 //Putting 1 makes Mission active for exactly one wave, and since the commmand includes the BeginAtWave's Wave, you can only consider BeginAtWave. CooldownTime 40 DesiredCount 2 TFBot { Template T_TFBot_Sniper } } Wave //Wave 1 contains demoknights spawning alongside some scouts. Giant Heavy at the end alone { WaitWhenDone 65 StartWaveOutput { Target wave_start_relay //wave_start_relay_666 displays 666 on the wavebar. Action Trigger } DoneOutput { Target wave_finished_relay Action trigger } Checkpoint Yes WaveSpawn { Name PartOne Where spawnbot TotalCount 32 MaxActive 4 SpawnCount 2 WaitBeforeStarting 0 WaitBetweenSpawns 10 TotalCurrency 320 TFBot { Template T_TFBot_Demoman_Knight } } WaveSpawn { Name PartOne Where spawnbot TotalCount 28 MaxActive 8 SpawnCount 4 WaitBeforeStarting 0 WaitBetweenSpawns 15 TotalCurrency 280 TFBot { Class Scout Skill Easy Item "Ye Olde Baker Boy" } } WaveSpawn { WaitForAllDead PartOne Name PartTwo Where spawnbot TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 5 TotalCurrency 100 TFBot { Template T_TFBot_Giant_Heavyweapons //Giant Heavy has increased damage by default. } } WaveSpawn { WaitForAllDead PartOne Name PartTwo Where spawnbot TotalCount 5 //Maybe Scouts should spawn in just one location, the one where the giant comes from? Squad better? MaxActive 5 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 5 Support 1 TotalCurrency 0 TFBot { Class Scout Skill Hard Item "Ye Olde Baker Boy" ClassIcon scout_bat WeaponRestrictions MeleeOnly } } } //Supposed value: 1300. Bonus: 1400 ///////////////////////////////////////////////////////////////////////////////////////////// Wave { WaitWhenDone 65 StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action trigger } Checkpoint Yes WaveSpawn { Name PartOneWaveTwo Where spawnbot TotalCount 30 MaxActive 5 SpawnCount 5 WaitBeforeStarting 0 WaitBetweenSpawns 10 TotalCurrency 200 TFBot { Class Soldier Skill Easy Item "Tyrant's Helm" } } WaveSpawn { Name PartOneWaveTwo Where spawnbot_left Where spawnbot_right RandomSpawn 1 TotalCount 36 MaxActive 6 SpawnCount 3 WaitBeforeStarting 8 WaitBetweenSpawns 5 TotalCurrency 400 TFBot { Class Sniper Name "Bowman" Skill Normal Item "Larrikin Robin" ClassIcon sniper_bow WeaponRestrictions PrimaryOnly Item "The Huntsman" } } WaveSpawn { WaitForAllDead PartOneWaveTwo TotalCount 1 WaitBeforeStarting 5 TotalCurrency 100 FirstSpawnOutput { Target boss_spawn_relay Action Trigger } Tank { Health 20000 Speed 75 Name "Mark I" StartingPathTrackNode "boss_path_1" OnKilledOutput { Target boss_dead_relay Action Trigger } OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn { WaitForAllDead PartOneWaveTwo Where spawnbot TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 10 WaitBetweenSpawns 10 TotalCurrency 100 TFBot { Template T_TFBot_Giant_Heavyweapons } } } //Must consider Bonus credit for each wave. Might consider to do a scheme Wave //This Wave has two Giants waiting for specific conditions to happen { WaitWhenDone 65 StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action trigger } Checkpoint Yes WaveSpawn { Name WaveThreeI Where spawnbot TotalCount 30 MaxActive 10 SpawnCount 2 WaitBeforeStarting 0 WaitBetweenSpawns 10 TotalCurrency 200 TFBot { Class Soldier Skill Normal Item "Tyrant's Helm" } } WaveSpawn { Name WaveThreeI Where spawnbot TotalCount 24 MaxActive 6 SpawnCount 3 WaitBeforeStarting 0 WaitBetweenSpawns 6 TotalCurrency 200 TFBot { Class Demoman Skill Normal Item "Glengarry Bonnet" } } WaveSpawn { Name SupportI Where spawnbot TotalCount 6 MaxActive 6 SpawnCount 3 WaitBeforeStarting 10 WaitBetweenSpawns 15 TotalCurrency 0 Support 1 TFBot { Template T_TFBot_Demoman_Knight } } WaveSpawn { WaitForAllDead WaveThreeI Name GiantScoutAttack Where spawnbot TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 5 WaitBetweenSpawns 10 TotalCurrency 200 TFBot { Template T_TFBot_Giant_Scout_Fast } } WaveSpawn { WaitForAllSpawned WaveThreeI WaitForAllDead GiantScoutAttack Name WaveThreeII Where spawnbot TotalCount 40 MaxActive 10 SpawnCount 5 WaitBeforeStarting 5 WaitBetweenSpawns 10 TotalCurrency 100 TFBot { Class Scout Skill Easy Item "Ye Olde Baker Boy" } } WaveSpawn { WaitForAllSpawned WaveThreeI WaitForAllDead GiantScoutAttack WaitForAllSpawned WaveThreeII Name GiantPyroAttack Where spawnbot TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 10 TotalCurrency 100 TFBot { Class Pyro Name "Giant Flare Pyro" ClassIcon pyro_flare_giant Skill Expert Health 3000 Item "The detonator" Item "Brigade Helm" WeaponRestrictions SecondaryOnly Attributes MiniBoss ItemAttributes { ItemName "The detonator" "fire rate bonus" 0.3 } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.6 "airblast vulnerability multiplier" 0.6 "override footstep sound set" 6 } } } } Wave //Wave 4 uses a squad with GSoldier and uber meds, with Snipers as Support. The Support stays until the end. { WaitWhenDone 65 StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action trigger } Checkpoint Yes WaveSpawn { Name SquadAttack! Where spawnbot TotalCount 12 MaxActive 4 SpawnCount 4 WaitBetweenSpawns 5 WaitBeforeStarting 0 TotalCurrency 200 Squad { TFBot { Template T_TFBot_Giant_Soldier } TFBot { Template T_TFBot_Medic_QuickUber } TFBot { Template T_TFBot_Medic_QuickUber } TFBot { Template T_TFBot_Medic_QuickUber } } } WaveSpawn { WaitForAllDead SquadAttack! Name Fistplusballs Where spawnbot TotalCount 16 MaxActive 4 SpawnCount 2 WaitBetweenSpawns 15 WaitBeforeStarting 5 TotalCurrency 100 TFBot { Template T_TFBot_Heavyweapons_Fist } } WaveSpawn { WaitForAllDead SquadAttack! Name Fistplusballs Where spawnbot TotalCount 32 MaxActive 16 SpawnCount 8 WaitBetweenSpawns 15 WaitBeforeStarting 5 TotalCurrency 200 TFBot { Template T_TFBot_Scout_Sandman } } WaveSpawn { WaitForAllDead SquadAttack! WaitForAllDead Fistplusballs Name GDemoAttack!AndScouts Where spawnbot TotalCount 3 MaxActive 1 SpawnCount 1 WaitBetweenSpawns 30 WaitBeforeStarting 0 TotalCurrency 100 TFBot { Class Demoman Name "Giant Fast Fire Demoman" ClassIcon demo_giant Item "Glengarry Bonnet" Health 3000 Skill Expert WeaponRestrictions PrimaryOnly Attributes HoldFireUntilFullReload Attributes MiniBoss ItemAttributes { ItemName "TF_WEAPON_GRENADELAUNCHER" "fire rate bonus" 0.5 "damage force reduction" 0.5 } CharacterAttributes { "move speed bonus" 0.5 "airblast vulnerability multiplier" 0.5 "override footstep sound set" 4 } } } WaveSpawn { WaitForAllDead SquadAttack! WaitForAllSpawned Fistplusballs Name GDemoAttack!AndScouts Where spawnbot TotalCount 28 MaxActive 7 SpawnCount 7 WaitBetweenSpawns 15 WaitBeforeStarting 5 TotalCurrency 100 TFBot { Class Scout Skill Normal Item "Ye Olde Baker Boy" } } } Wave //Original idea is a first part with GPyros AlwaysFireWeapon + Huntsman, followed by Heavies. Second Part is very fishy. { WaitWhenDone 65 StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action trigger } Checkpoint Yes WaveSpawn { Name FlamingSquad Where spawnbot TotalCount 20 MaxActive 5 SpawnCount 5 WaitBetweenSpawns 15 WaitBeforeStarting 0 TotalCurrency 100 Squad { TFBot { Class Pyro Name "Giant Pyro" ClassIcon pyro_giant Skill Expert Item "Brigade Helm" Health 3000 WeaponRestrictions PrimaryOnly Attributes MiniBoss Attributes AlwaysFireWeapon CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.6 "airblast vulnerability multiplier" 0.6 "override footstep sound set" 6 } } TFBot { Template T_TFBot_Sniper_Huntsman } TFBot { Template T_TFBot_Sniper_Huntsman } TFBot { Template T_TFBot_Sniper_Huntsman } TFBot { Template T_TFBot_Sniper_Huntsman } } } WaveSpawn { Name FlamingSupport Where spawnbot TotalCount 36 MaxActive 12 SpawnCount 6 WaitBetweenSpawns 20 WaitBeforeStarting 10 TotalCurrency 200 TFBot { Class Pyro Name "Flare Pyro" Skill Normal Item "Pyro's Beanie" ClassIcon pyro_flare Item "The Flare Gun" WeaponRestrictions SecondaryOnly } } WaveSpawn { WaitForAllDead FlamingSupport Name FishyAttack RandomSpawn 1 Where spawnbot Where spawnbot_left Where spawnbot_right TotalCount 60 MaxActive 20 SpawnCount 10 WaitBetweenSpawns 15 WaitBeforeStarting 5 TotalCurrency 300 TFBot { Class Scout Name "Fishy Scout" Skill Hard Item "The Holy Mackerel" ClassIcon scout_fish_nys Item "Milkman" WeaponRestrictions MeleeOnly } } WaveSpawn { WaitForAllDead FlamingSupport WaitForAllSpawned FishyAttack Name FishyFinalAttack Where spawnbot TotalCount 1 MaxActive 1 SpawnCount 1 WaitBetweenSpawns 10 WaitBeforeStarting 15 TotalCurrency 100 TFBot { Template T_TFBot_Giant_Soldier_Crit } } } Wave //Final Wave is a Boss Wave. { WaitWhenDone 65 StartWaveOutput { Target wave_start_relay Action Trigger } Checkpoint Yes WaveSpawn //Boss time: a simple Giant(er) Soldier with regen and spammy rocket launcher. Sounds like a noob is in the house... { Name BossTime! Where spawnbot TotalCount 1 MaxActive 1 SpawnCount 1 WaitBetweenSpawns 0 WaitBeforeStarting 0 TotalCurrency 100 TFBot { Class Soldier Skill Expert Health 12000 ClassIcon soldier_barrage Scale 1.9 Name "Rusty General Soldier" Item "Ghostly Gibus" //Gibus + Spam rockets = funny meme ahah Attributes UseBossHealthBar Attributes HoldFireUntilFullReload Attributes MiniBoss ItemAttributes { ItemName "TF_WEAPON_ROCKETLAUNCHER" "damage bonus" 2.0 "faster reload rate" 0.4 "fire rate bonus" 0.2 "clip size upgrade atomic" 5.0 } ItemAttributes { ItemName "Ghostly Gibus" //Why yes, I painted a Gibus with the color black. Redundant? Yes. Do I look like I care? Nope. "set item tint rgb" 1315860 } CharacterAttributes { "health regen" 500 "move speed bonus" 0.5 "damage force reduction" 0.4 "airblast vulnerability multiplier" 0.4 "override footstep sound set" 3 "Projectile speed increased" 0.9 } } } } } // Tbf, if you want to have decent test results, do this: //-Test your mission without Phlog Pyro and Beggar's Bazooka Soldier atleast once. //-Never test your mission with Gas Passer Pyro. //-Test your mission without Heavy atleast once. //-Test your mission without Medic atleast once. //-Test your mission without Sniper atleast once. //-Test your mission without a Spy atleast once. //-Test your mission without using canteens. //-Test your mission without using refunds.