// mvm_gd_caster mission: Melting Point // Authors: randomguy (concept, programming and testing), Jack5 (programming and testing) // Difficulty: Normal #base robot_caster.pop WaveSchedule { StartingCurrency 1200 RespawnWaveTime 0 FixedRespawnWaveTime Yes CanBotsAttackWhileInSpawnRoom No AddSentryBusterWhenDamageDealtExceeds 4000 AddSentryBusterWhenKillCountExceeds 20 MaxRedPlayers 2 // Sigsegv maximum RED players override Mission { Objective DestroySentries InitialCooldown 30 Where spawnbot Where spawnbot_gate BeginAtWave 1 RunForThisManyWaves 6 CooldownTime 60 TFBot { Template T_Caster_SentryBuster } } Mission { // Wave 2 Snipers Objective Sniper InitialCooldown 30 Where spawnbot_top Where spawnbot_gate BeginAtWave 2 RunForThisManyWaves 1 CooldownTime 30 DesiredCount 2 TFBot { Template T_Caster_Sniper } } Mission { // Wave 3 Snipers Objective Sniper InitialCooldown 10 Where spawnbot_top Where spawnbot_gate BeginAtWave 3 RunForThisManyWaves 1 CooldownTime 45 DesiredCount 2 TFBot { Template T_Caster_Sniper } } // ---------------------------------------------------------------------- // Wave 1 ($1200 + $400 (this wave) + $100 (bonus) = $1700) // Group 1: 24 Fish Scouts and 4 Soldiers on bottom floor // Group 2: 6 Shotgun Heavies, 12 Shovel Soldiers and 2 Steel Heavies on bottom floor Wave { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action trigger } InitWaveOutput { Target wave_pathmodels_bottom Action Trigger } WaveSpawn { Support Limited TotalCount 1 Where spawnbot_money WaitForAllSpawned "wave1-group2" // Will not take up an extra bot slot TotalCurrency 400 RandomChoice { // Will hide bot icon RandomChoice { TFBot { Class Scout } } } } WaveSpawn { Name "wave1-group1" TotalCount 24 SpawnCount 6 MaxActive 12 Where spawnbot Where spawnbot_gate WaitBetweenSpawns 6 TFBot { Template T_Caster_ScoutFish Tag nav_prefer_left } } WaveSpawn { Name "wave1-group1" TotalCount 4 SpawnCount 1 MaxActive 4 Where spawnbot Where spawnbot_gate WaitBeforeStarting 2 WaitBetweenSpawns 6 TFBot { Template T_Caster_Soldier Tag nav_prefer_right } } WaveSpawn { Name "wave1-group2" TotalCount 18 SpawnCount 3 MaxActive 9 Where spawnbot Where spawnbot_gate WaitForAllDead "wave1-group1" WaitBeforeStarting 5 WaitBetweenSpawns 5 Squad { TFBot { Template T_Caster_HeavyShotgun Tag nav_prefer_left } TFBot { Template T_Caster_SoldierShovel Tag nav_prefer_left } TFBot { Template T_Caster_SoldierShovel Tag nav_prefer_left } } } WaveSpawn { Name "wave1-group2" TotalCount 2 SpawnCount 1 MaxActive 2 Where spawnbot Where spawnbot_gate WaitForAllDead "wave1-group1" WaitBeforeStarting 10 WaitBetweenSpawns 10 TFBot { Template T_Caster_HeavySteel Tag nav_prefer_left } } } // ---------------------------------------------------------------------- // Wave 2 ($1700 + $500 (this wave) + $100 (bonus) = $2300) // Group 1: 36 Fist Heavies on bottom floor // Group 2: 12 Shotgun Heavies and 3 Giant Jag Engineers on bottom floor // Support: Snipers active for entire wave on top floor Wave { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action trigger } InitWaveOutput { Target wave_pathmodels_bottom Action Trigger } WaveSpawn { Support Limited TotalCount 1 Where spawnbot_money WaitForAllSpawned "wave2-group2" // Will not take up an extra bot slot TotalCurrency 500 RandomChoice { // Will hide bot icon RandomChoice { TFBot { Class Scout } } } } WaveSpawn { Name "wave2-group1" Where spawnbot Where spawnbot_gate TotalCount 36 MaxActive 12 SpawnCount 3 WaitBetweenSpawns 5 TFBot { Template T_Caster_HeavyFist Tag nav_prefer_left } } WaveSpawn { Name "wave2-group2" TotalCount 15 SpawnCount 5 MaxActive 5 Where spawnbot Where spawnbot_gate WaitForAllDead "wave2-group1" WaitBetweenSpawns 5 Squad { ShouldPreserveSquad 1 TFBot { Template T_Caster_HeavyShotgun Tag nav_prefer_right } TFBot { Template T_Caster_HeavyShotgun Tag nav_prefer_right } TFBot { Template T_Caster_HeavyShotgun Tag nav_prefer_right } TFBot { Template T_Caster_HeavyShotgun Tag nav_prefer_right } TFBot { Template T_Caster_EngineerJagGiant Tag nav_prefer_right } } } } // ---------------------------------------------------------------------- // Wave 3 ($2300 + $600 (this wave) + $100 (bonus) = $3000) // 2 Slow Giant Demomen on bottom floor, 3000HP 75HU/s tank // Support: Jarate Snipers active for entire wave on top then bottom floor, Snipers active for entire wave on top floor Wave { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action trigger } InitWaveOutput { Target wave_pathmodels_bottom Action Trigger } WaveSpawn { Support Limited TotalCount 1 Where spawnbot_money WaitForAllSpawned "wave3-group" // Will not take up an extra bot slot TotalCurrency 600 RandomChoice { // Will hide bot icon RandomChoice { TFBot { Class Scout } } } } WaveSpawn { Name "wave3-group" Where spawnbot Where spawnbot_gate TotalCount 2 MaxActive 2 SpawnCount 1 WaitBetweenSpawns 45 TFBot { Template T_Caster_DemoSlowGiant Tag nav_prefer_left } } WaveSpawn { Name "wave3-support" Support 1 TotalCount 1 // Required to display icon SpawnCount 1 MaxActive 4 Where spawnbot_top Where spawnbot_gate WaitBetweenSpawns 4 RandomChoice { TFBot { Template T_Caster_SniperJarate Tag nav_prefer_left } TFBot { Template T_Caster_SniperJarate Tag nav_prefer_right } } } WaveSpawn { Name "wave3-group" TotalCount 2 SpawnCount 1 MaxActive 2 WaitBeforeStarting 15 WaitBetweenSpawns 30 Tank { Name "tankboss" Health 3000 Speed 75 StartingPathTrackNode "path_tank_1" OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } } // ---------------------------------------------------------------------- // Wave 4 ($3000 + $700 (this wave) + $100 (bonus) = $3800) // Group 1: 8 Steel Heavies on bottom floor // Group 1.5: 24 Sticky Demomen on bottom floor // Group 2: Giant Slow Soldier on bottom floor // Support: Fish Scouts active for entire wave on bottom floor Wave { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action trigger } InitWaveOutput { Target wave_pathmodels_bottom Action Trigger } WaveSpawn { Support Limited TotalCount 1 Where spawnbot_money WaitForAllSpawned "wave4-group2" // Will not take up an extra bot slot TotalCurrency 700 RandomChoice { // Will hide bot icon RandomChoice { TFBot { Class Scout } } } } WaveSpawn { Name "wave4-group1" TotalCount 8 SpawnCount 2 MaxActive 4 Where spawnbot Where spawnbot_gate WaitBetweenSpawns 8 TFBot { Template T_Caster_HeavySteel Tag nav_prefer_left } } WaveSpawn { Name "wave4-support" Support 1 TotalCount 1 // Required to display icon SpawnCount 4 MaxActive 8 Where spawnbot Where spawnbot_gate WaitBetweenSpawns 6 RandomChoice { TFBot { Template T_Caster_ScoutFish Tag nav_prefer_left } TFBot { Template T_Caster_ScoutFish Tag nav_prefer_right } } } WaveSpawn { Name "wave4-group1.5" TotalCount 24 SpawnCount 4 MaxActive 8 Where spawnbot Where spawnbot_gate WaitForAllSpawned "wave4-group1" WaitBeforeStarting 15 WaitBetweenSpawns 6.5 TFBot { Template T_Caster_DemoSticky Tag nav_prefer_right } } WaveSpawn { Name "wave4-group2" TotalCount 1 Where spawnbot Where spawnbot_gate WaitForAllDead "wave4-group1.5" TFBot { Template T_Caster_SoldierGiant Tag nav_prefer_left } } } // ---------------------------------------------------------------------- // Wave 5 ($3800 + $800 (this wave) + $100 (bonus) = $4700) // Hazards: Smoke active for Groups 1 and 2 // Group 1: 3 Giant Pyros and 9 Slow Demomen on bottom floor // Group 2: 4 Giant Jag Engineers and 16 Dragon Pyros on bottom floor // Group 3: Giant Plasma Heavy on bottom floor Wave { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action trigger } InitWaveOutput { Target wave_pathmodels_bottom Action Trigger } WaveSpawn { Support Limited TotalCount 1 Where spawnbot_money WaitForAllSpawned "wave5-group3" // Will not take up an extra bot slot TotalCurrency 800 TFBot { Class Scout ClassIcon caster_smoke } } WaveSpawn { StartWaveOutput { Target wave_event_smoke Action Trigger } Name "wave5-group1" TotalCount 12 SpawnCount 4 MaxActive 8 Where spawnbot Where spawnbot_gate WaitBeforeStarting 10 // 10 second wait while hazard starts WaitBetweenSpawns 15 Squad { TFBot { Template T_Caster_PyroGiant Tag nav_prefer_left } TFBot { Template T_Caster_DemoSlow Tag nav_prefer_left } TFBot { Template T_Caster_DemoSlow Tag nav_prefer_left } TFBot { Template T_Caster_DemoSlow Tag nav_prefer_left } } } WaveSpawn { Name "wave5-group2" TotalCount 20 SpawnCount 5 MaxActive 10 Where spawnbot Where spawnbot_gate WaitForAllDead "wave5-group1" WaitBeforeStarting 5 WaitBetweenSpawns 10 Squad { TFBot { Template T_Caster_EngineerJagGiant Tag nav_prefer_right } TFBot { Template T_Caster_PyroDragon Tag nav_prefer_right } TFBot { Template T_Caster_PyroDragon Tag nav_prefer_right } TFBot { Template T_Caster_PyroDragon Tag nav_prefer_right } TFBot { Template T_Caster_PyroDragon Tag nav_prefer_right } } } WaveSpawn { StartWaveOutput { Target wave_event_smoke_finish Action Trigger } Name "wave5-group3" TotalCount 1 Where spawnbot Where spawnbot_gate WaitForAllDead "wave5-group2" WaitBeforeStarting 2 // 2 second break inbetween hazards TFBot { Template T_Caster_HeavyPlasmaGiant Tag nav_prefer_left } } } // ---------------------------------------------------------------------- // Wave 6 ($4700 + $800 (this wave) = $5500) // Group 1: Giant Burst Demoman, Giant Pyro, Giant Crit Soldier and 3 Bigheal Medics on bottom floor // Group 2: 10000HP 60HU/s tank // Support: 8 Spies and Engineer active for Group 2 on bottom floor Wave { StartWaveOutput { Target wave_start_relay Action Trigger } InitWaveOutput { Target wave_pathmodels_bottom_l Action Trigger } WaveSpawn { Support Limited TotalCount 1 Where spawnbot_money WaitForAllSpawned "wave6-group2" // Will not take up an extra bot slot TotalCurrency 800 RandomChoice { // Will hide bot icon RandomChoice { TFBot { Class Scout } } } } WaveSpawn { Name "wave6-group1" TotalCount 2 SpawnCount 2 MaxActive 2 Where spawnbot Where spawnbot_gate Squad { TFBot { Template T_Caster_DemoBurstGiant Tag nav_prefer_left } TFBot { Template T_Caster_MedicBigheal Tag nav_prefer_left } } } WaveSpawn { Name "wave6-group1" TotalCount 2 SpawnCount 2 MaxActive 2 Where spawnbot Where spawnbot_gate WaitBeforeStarting 15 Squad { TFBot { Template T_Caster_PyroGiant Tag nav_prefer_left } TFBot { Template T_Caster_MedicBigheal Tag nav_prefer_left } } } WaveSpawn { Name "wave6-group1" Where spawnbot Where spawnbot_gate TotalCount 2 MaxActive 2 SpawnCount 2 WaitBeforeStarting 25 Squad { TFBot { Template T_Caster_SoldierOriginalGiantCrit Tag nav_prefer_left } TFBot { Template T_Caster_MedicBigheal Tag nav_prefer_left } } } WaveSpawn { Name "wave6-group2" TotalCount 1 Where spawnbot Where spawnbot_gate WaitForAllDead "wave6-group1" WaitBeforeStarting 5 Tank { Name "tankboss" Health 10000 Speed 60 StartingPathTrackNode "path_tank_1" OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn { Name "wave6-support" Support Limited TotalCount 8 SpawnCount 2 MaxActive 2 Where spawnbot Where spawnbot_gate WaitForAllSpawned "wave6-group2" WaitBeforeStarting 15 TFBot { Template T_Caster_Spy } } WaveSpawn { Name "wave6-support" Support Limited TotalCount 1 Where spawnbot Where spawnbot_gate WaitForAllSpawned "wave6-group2" WaitBeforeStarting 30 // Administrator lines for Engineer spawning FirstSpawnWarningSound "vo/announcer_mvm_engbot_arrive01.mp3" DoneWarningSound "vo/announcer_mvm_engbot_dead_notele02.mp3" // Single Engineer TFBot { Template T_Caster_Engineer } } } }