#base robot_standard.pop #base robot_giant.pop #base robot_click.pop #base robot_click_giant.pop #base ex_upgrade_click.pop WaveSchedule { StartingCurrency 700 RespawnWaveTime 3 CanBotsAttackWhileInSpawnRoom no PrecacheModel "models/props_frontline/tank_turret.mdl" PrecacheModel "models/bots/boss_bot/tank_drill.mdl" PointTemplates { TankStickyHellmet { logic_relay { "id" "2" "classname" "logic_relay" "spawnflags" "0" "targetname" "ST_kill_relay" "OnTrigger" "ST_mimic,Kill,,0,-1" "OnTrigger" "ST_mimic_crit,Kill,,0,-1" "OnTrigger" "ST_shoot_sound,Kill,,0,-1" "OnTrigger" "ST_shoot_sound_crit,Kill,,0,-1" "OnTrigger" "ST_model,Kill,,0,-1" "OnTrigger" "ST_timer,Disable,,0,-1" "OnTrigger" "ST_shooter_relay,CancelPending,,0,-1" "OnTrigger" "tf_projectile_pipe,Kill,,0,-1" "origin" "-16 480 0" } logic_relay { "id" "4" "classname" "logic_relay" "spawnflags" "0" "targetname" "ST_shooter_relay" "OnTrigger" "ST_mimic_crit,DetonateStickies,,7,-1" "OnTrigger" "ST_mimic,DetonateStickies,,7,-1" "OnTrigger" "ST_shoot_sound,PlaySound,,0.5,-1" "OnTrigger" "ST_mimic,FireMultiple,4,0.5,-1" "OnTrigger" "ST_shoot_sound,PlaySound,,0.3,-1" "OnTrigger" "ST_mimic,FireOnce,,0.3,-1" "OnTrigger" "ST_shoot_sound,PlaySound,,0.2,-1" "OnTrigger" "ST_mimic,FireOnce,,0.2,-1" "OnTrigger" "ST_shoot_sound,PlaySound,,0.1,-1" "OnTrigger" "ST_mimic,FireOnce,,0.1,-1" "OnTrigger" "ST_shoot_sound,PlaySound,,0,-1" "OnTrigger" "ST_mimic,FireOnce,,0,-1" "OnTrigger" "ST_mimic,FireOnce,,0.4,-1" "OnTrigger" "ST_shoot_sound,PlaySound,,0.4,-1" "OnTrigger" "ST_mimic,FireOnce,,0.6,-1" "OnTrigger" "ST_shoot_sound,PlaySound,,0.6,-1" "OnTrigger" "ST_shoot_sound,PlaySound,,0.7,-1" "OnTrigger" "ST_mimic,FireOnce,,0.7,-1" "OnTrigger" "ST_shoot_sound,PlaySound,,0.8,-1" "OnTrigger" "ST_mimic,FireOnce,,0.8,-1" "OnTrigger" "ST_shoot_sound,PlaySound,,0.9,-1" "OnTrigger" "ST_mimic,FireOnce,,0.9,-1" "OnTrigger" "ST_mimic,FireMultiple,4,1,-1" "OnTrigger" "ST_shoot_sound,PlaySound,,1,-1" "OnTrigger" "ST_mimic_crit,FireOnce,,1.5,-1" "OnTrigger" "ST_shoot_sound_crit,PlaySound,,1.5,-1" "OnTrigger" "ST_shoot_sound_crit,PlaySound,,2,-1" "OnTrigger" "ST_mimic_crit,FireMultiple,2,2,-1" "OnTrigger" "ST_shoot_sound_crit,PlaySound,,2.5,-1" "OnTrigger" "ST_mimic_crit,FireMultiple,3,2.5,-1" "OnTrigger" "ST_shoot_sound_crit,PlaySound,,3,-1" "OnTrigger" "ST_mimic_crit,FireMultiple,6,3,-1" "origin" "-16 496 0" } logic_timer { "id" "8" "classname" "logic_timer" "LowerRandomBound" "5" "spawnflags" "0" "StartDisabled" "0" "targetname" "ST_timer" "UpperRandomBound" "5" "UseRandomTime" "0" "OnTimer" "ST_shooter_relay,Trigger,,0,-1" "origin" "0 496 0" } tf_point_weapon_mimic { "id" "18" "classname" "tf_point_weapon_mimic" "angles" "-56.5 0 0" "Crits" "1" "Damage" "138" "FireSound" "weapons/stickybomblauncher_shoot_crit.wav" "ModelScale" "1" "SpeedMax" "525" "SpeedMin" "525" "SplashRadius" "189" "SpreadAngle" "25" "targetname" "ST_mimic_crit" "WeaponType" "3" "origin" "33.948 59 167.289" } tf_point_weapon_mimic { "id" "20" "classname" "tf_point_weapon_mimic" "angles" "-58.5 0 180" "Crits" "1" "Damage" "138" "FireSound" "weapons/stickybomblauncher_shoot_crit.wav" "ModelScale" "1" "SpeedMax" "525" "SpeedMin" "525" "SplashRadius" "189" "SpreadAngle" "25" "targetname" "ST_mimic_crit" "WeaponType" "3" "origin" "34.16 -59 167.121" } tf_point_weapon_mimic { "id" "22" "classname" "tf_point_weapon_mimic" "angles" "-58.5 0 180" "Crits" "0" "Damage" "138" "FireSound" "weapons/stickybomblauncher_shoot.wav" "ModelScale" "1" "SpeedMax" "525" "SpeedMin" "525" "SplashRadius" "189" "SpreadAngle" "25" "targetname" "ST_mimic" "WeaponType" "3" "origin" "34.16 -59 167.121" } tf_point_weapon_mimic { "id" "24" "classname" "tf_point_weapon_mimic" "angles" "-56.5 0 0" "Crits" "0" "Damage" "138" "FireSound" "weapons/stickybomblauncher_shoot.wav" "ModelScale" "1" "SpeedMax" "525" "SpeedMin" "525" "SplashRadius" "189" "SpreadAngle" "25" "targetname" "ST_mimic" "WeaponType" "3" "origin" "33.948 59 167.289" } prop_dynamic { "id" "30" "classname" "prop_dynamic" "angles" "-58.5 0 90" "DisableBoneFollowers" "0" "disablereceiveshadows" "1" "disableshadows" "1" "ExplodeDamage" "0" "ExplodeRadius" "0" "fademaxdist" "0" "fademindist" "-1" "fadescale" "1" "MaxAnimTime" "10" "maxdxlevel" "0" "MinAnimTime" "5" "mindxlevel" "0" "model" "models/props_frontline/tank_turret.mdl" "modelscale" "1" "PerformanceMode" "0" "physdamagescale" "1.0" "pressuredelay" "0" "RandomAnimation" "0" "renderamt" "255" "rendercolor" "255 255 255" "renderfx" "0" "rendermode" "0" "SetBodyGroup" "0" "skin" "2" "solid" "0" "spawnflags" "0" "StartDisabled" "0" "targetname" "ST_model" "origin" "-32.851 64 57.912" } prop_dynamic { "id" "32" "classname" "prop_dynamic" "angles" "-56.5 0 -90" "DisableBoneFollowers" "0" "disablereceiveshadows" "1" "disableshadows" "1" "ExplodeDamage" "0" "ExplodeRadius" "0" "fademaxdist" "0" "fademindist" "-1" "fadescale" "1" "MaxAnimTime" "10" "maxdxlevel" "0" "MinAnimTime" "5" "mindxlevel" "0" "model" "models/props_frontline/tank_turret.mdl" "modelscale" "1" "PerformanceMode" "0" "physdamagescale" "1.0" "pressuredelay" "0" "RandomAnimation" "0" "renderamt" "255" "rendercolor" "255 255 255" "renderfx" "0" "rendermode" "0" "SetBodyGroup" "0" "skin" "2" "solid" "0" "spawnflags" "0" "StartDisabled" "0" "targetname" "ST_model" "origin" "-36.709 -64 60.403" } ambient_generic { "id" "34" "classname" "ambient_generic" "angles" "0 0 0" "cspinup" "0" "fadeinsecs" "0" "fadeoutsecs" "0" "health" "10" "lfomodpitch" "0" "lfomodvol" "0" "lforate" "0" "lfotype" "0" "message" "weapons/stickybomblauncher_shoot_crit.wav" "pitch" "100" "pitchstart" "100" "preset" "0" "radius" "5000" "spawnflags" "48" "spindown" "0" "spinup" "0" "targetname" "ST_shoot_sound_crit" "volstart" "0" "origin" "36 -9.53674e-07 168" } ambient_generic { "id" "37" "classname" "ambient_generic" "angles" "0 0 0" "cspinup" "0" "fadeinsecs" "0" "fadeoutsecs" "0" "health" "10" "lfomodpitch" "0" "lfomodvol" "0" "lforate" "0" "lfotype" "0" "message" "weapons/stickybomblauncher_shoot.wav" "pitch" "100" "pitchstart" "100" "preset" "0" "radius" "5000" "spawnflags" "48" "spindown" "0" "spinup" "0" "targetname" "ST_shoot_sound" "volstart" "0" "origin" "36 -9.53674e-07 168" } } Drill_tank { logic_relay { "onspawn" "!parent,addoutput,onuser4 @c@!self:fireuser1::0:-1,0,-1" } prop_dynamic { "targetname" "tank_drill" "model" "models/bots/boss_bot/tank_blue_drill.mdl" "defaultanim" "drill_spin" "onuser1" "!self,setanimation,drill_deploy,0,-1" "onuser1" "!self,setdefaultanimation,drill_deploy_idle,0.1,-1" } filter_activator_tfteam { "origin" "0 0 0" "TeamNum" "2" "targetname" "filter_redteam_drill" "Negated" "0" } trigger_hurt { "targetname" "drill_hurt" "filtername" "filter_redteam_drill" "origin" "182 0 86" "mins" "-50 -40 -50" "maxs" "50 40 50" "damage" "60" "damagecap" "120" "damagemodel" "1" "damagetype" "128" "spawnflags" "1" "onuser1" "!self,disable,,0,-1" } //ambient_generic //{ // "targetname" "drill_sound" // "message" "ambient/sawblade.wav" // "health" "10" // "pitch" "60" // "pitchstart" "60" // "radius" "100" // "sourceentityname" "!parent" // "onuser1" "!self,stopsound,,0,-1" //} //ambient_generic //{ // "targetname" "drill_sound" // "message" "ambient/sawblade.wav" // "health" "10" // "pitch" "60" // "pitchstart" 60" // "radius" "100" // "sourceentityname" "!parent" // "onuser1" "!self,stopsound,,0,-1" //} } Teletank { obj_teleporter { //"model" "models/buildables/teleporter_light.mdl" //"filtername" "filter_tele_bot" "targetname" "tp" "origin" "70 0 160" "teamnum" "3" //"skin" "1" "TeleportWhere" "spawnbot_invasion" "solid" "0" "SolidToPlayer" "0" "spawnflags" "2" //"DefaultAnim" "running" } } } Mission { Objective DestroySentries Where spawnbot_invasion BeginAtWave 1 RunForThisManyWaves 7 CooldownTime 40 TFBot { Template T_TFBot_SentryBuster } } // W1: 1000 // 700 -> 700 + 1000 + 100 (1800) Wave { WaitWhenDone 65 Checkpoint Yes StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } WaveSpawn { Name w1_wave01 TotalCurrency 100 TotalCount 24 MaxActive 16 SpawnCount 4 WaitBeforeStarting 0 WaitBetweenSpawns 3 Where spawnbot TFBot { Template T_TFBot_Heavy_Brassbeast } } WaveSpawn { Name w1_wave02 WaitForAllSpawned w1_wave01 TotalCurrency 100 TotalCount 48 MaxActive 16 SpawnCount 4 WaitBeforeStarting 10 WaitBetweenSpawns 0 Where spawnbot Squad { TFBot { Template T_TFBot_Engineer_Ranger_Type2 } TFBot { Template T_TFBot_Engineer_Widowmaker Skill Normal } TFBot { Template T_TFBot_Engineer_Widowmaker Skill Normal } TFBot { Template T_TFBot_Engineer_Widowmaker Skill Normal } } } WaveSpawn { Name w1_giant WaitForAllSpawned w1_wave01 TotalCurrency 100 TotalCount 2 MaxActive 2 SpawnCount 1 WaitBeforeStarting 15 WaitBetweenSpawns 30 Where spawnbot_giant TFBot { Template T_TFBot_Giant_Sniper_SMG } } WaveSpawn { Name w1_superscout01 WaitForAllSpawned w1_wave01 TotalCurrency 100 TotalCount 2 MaxActive 2 SpawnCount 1 WaitBeforeStarting 30 WaitBetweenSpawns 25 Where spawnbot_side TFBot { Template T_TFBot_Giant_Soldier_Escapeplan Tag nav_prefer_flank_back Tag nav_prefer_flank_front } } WaveSpawn { Name w1_wave03 WaitForAllSpawned w1_wave02 TotalCurrency 200 TotalCount 24 MaxActive 8 SpawnCount 8 WaitBeforeStarting 10 WaitBetweenSpawns 0 Where spawnbot Squad { TFBot { Class HeavyWeapons Skill Hard } TFBot { Template T_TFBot_Medic } } } WaveSpawn { Name w1_wave03 WaitForAllSpawned w1_wave02 TotalCurrency 200 TotalCount 4 MaxActive 4 SpawnCount 2 WaitBeforeStarting 20 WaitBetweenSpawns 25 Where spawnbot_giant Squad { TFBot { Template T_TFBot_Giant_Soldier } TFBot { Template T_TFBot_Giant_Medic_Uber } } } WaveSpawn { Name w1_superscout02 WaitForAllSpawned w1_wave02 TotalCurrency 100 TotalCount 2 MaxActive 2 SpawnCount 1 WaitBeforeStarting 40 WaitBetweenSpawns 25 Where spawnbot_giant TFBot { Template T_TFBot_Giant_Soldier_Escapeplan } } WaveSpawn { Name w1_support TotalCurrency 100 TotalCount 20 MaxActive 5 SpawnCount 5 WaitBeforeStarting 0 WaitBetweenSpawns 2 Support 1 Where spawnbot_invasion TFBot { Template T_TFBot_Demo_Caber Attributes AlwaysCrit } } } // W2: 1200 // 700 + 1000 + 100 (1800) -> 700 + 2200 + 200 (3100) Mission { Objective Sniper Where spawnbot_mission_sniper BeginAtWave 2 RunForThisManyWaves 1 InitialCooldown 60 CooldownTime 60 DesiredCount 2 TFBot { Template T_TFBot_Sniper_Sydney_Sleeper } } Mission { Objective Spy Where spawnbot_mission_spy BeginAtWave 2 RunForThisManyWaves 1 InitialCooldown 30 CooldownTime 60 DesiredCount 2 TFBot { Template T_TFBot_Spy } } Wave { WaitWhenDone 65 Checkpoint Yes StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } WaveSpawn { Name w2_wave01 TotalCurrency 140 TotalCount 14 MaxActive 14 SpawnCount 7 WaitBeforeStarting 0 WaitBetweenSpawns 20 Where spawnbot_giant Squad { TFBot { Template T_TFBot_Giant_Demo_Spammer Attributes AlwaysCrit Tag nav_prefer_main_back Tag nav_prefer_main_front } TFBot { Template T_TFBot_Sniper_Huntsman_Spammer_Normal Attributes AlwaysCrit } TFBot { Template T_TFBot_Sniper_Huntsman_Spammer_Normal Attributes AlwaysCrit } TFBot { Template T_TFBot_Sniper_Huntsman_Spammer_Normal Attributes AlwaysCrit } TFBot { Template T_TFBot_Sniper_Huntsman_Spammer_Normal Attributes AlwaysCrit } TFBot { Template T_TFBot_Medic_Quickheal } TFBot { Template T_TFBot_Medic_Quickheal } } } WaveSpawn { Name w2_wave01 TotalCurrency 120 TotalCount 24 MaxActive 6 SpawnCount 6 WaitBeforeStarting 0 WaitBetweenSpawns 0 Where spawnbot_side TFBot { Template T_TFBot_Soldier_Spammer_Conch } } WaveSpawn { Name w2_wave02 WaitForAllSpawned w2_wave01 TotalCurrency 100 TotalCount 4 MaxActive 4 SpawnCount 2 WaitBeforeStarting 25 WaitBetweenSpawns 25 Where spawnbot Squad { TFBot { Template T_TFBot_Giant_Pyro_Dragon } TFBot { Template T_TFBot_Medic_Quickheal } } } WaveSpawn { Name w2_wave02 WaitForAllSpawned w2_wave01 TotalCurrency 200 TotalCount 60 MaxActive 12 SpawnCount 4 WaitBeforeStarting 15 WaitBetweenSpawns 0 Where spawnbot_invasion RandomChoice { TFBot { Template T_TFBot_Scout_Bonk_Expert } TFBot { Template T_TFBot_Scout_Sandman_FastCharge Attributes AlwaysCrit } } } WaveSpawn { Name w2_engi01 WaitForAllSpawned w2_wave01 TotalCurrency 40 TotalCount 8 MaxActive 4 SpawnCount 2 WaitBeforeStarting 20 WaitBetweenSpawns 0 Where spawnbot_invasion support limited TFBot { Template T_TFBot_Engineer_Sentry_Tele_Battle Item "data mining light" TeleportWhere spawnbot TeleportWhere spawnbot_side TeleportWhere spawnbot_invasion } } WaveSpawn { Name w2_wave03 WaitForAllSpawned w2_wave02 TotalCurrency 100 TotalCount 5 MaxActive 5 SpawnCount 5 WaitBeforeStarting 20 WaitBetweenSpawns 0 Where spawnbot Squad { TFBot { Template T_TFBot_Giant_Heavy_Deflector_Booster Tag nav_prefer_main_back Tag nav_prefer_main_front } TFBot { Template T_TFBot_Medic_Quickheal } TFBot { Template T_TFBot_Medic_Quickheal } TFBot { Template T_TFBot_Medic_Quickheal } TFBot { Template T_TFBot_Medic_Quickheal } } } WaveSpawn { Name w2_wave03 WaitForAllSpawned w2_wave02 TotalCurrency 100 TotalCount 5 MaxActive 5 SpawnCount 5 WaitBeforeStarting 20 WaitBetweenSpawns 0 Where spawnbot_side Squad { TFBot { Template T_TFBot_Giant_Heavy_Deflector_Booster Tag nav_prefer_flank_back Tag nav_prefer_flank_front } TFBot { Template T_TFBot_Medic_Quickheal } TFBot { Template T_TFBot_Medic_Quickheal } TFBot { Template T_TFBot_Medic_Quickheal } TFBot { Template T_TFBot_Medic_Quickheal } } } WaveSpawn { Name w2_wave03 WaitForAllDead w2_wave02 TotalCurrency 200 TotalCount 32 MaxActive 6 SpawnCount 2 WaitBeforeStarting 0 WaitBetweenSpawns 0 Where spawnbot TFBot { Template T_TFBot_Heavy_Shotgun_Accurate } } WaveSpawn { Name w2_wave04 WaitForAllSpawned w2_wave03 TotalCurrency 100 TotalCount 4 MaxActive 4 SpawnCount 2 WaitBeforeStarting 0 WaitBetweenSpawns 10 Where spawnbot Squad { TFBot { Template T_TFBot_Giant_Heavy_Deflector_Booster } TFBot { Template T_TFBot_Medic_Quickheal } } } WaveSpawn { Name w2_wave04 WaitForAllDead w2_wave03 TotalCurrency 100 TotalCount 10 MaxActive 10 SpawnCount 10 WaitBeforeStarting 0 WaitBetweenSpawns 0 Where spawnbot TFBot { Template T_TFBot_Soldier_Extended_Concheror ClassIcon soldier_conch_giant Attributes AlwaysCrit } } WaveSpawn { Name w2_engi02 WaitForAllSpawned w2_engi01 TotalCurrency 50 TotalCount 10 MaxActive 2 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 45 Where spawnbot_invasion support 1 TFBot { Template T_TFBot_Engineer_Sentry_Tele_Battle Item "data mining light" TeleportWhere spawnbot TeleportWhere spawnbot_side TeleportWhere spawnbot_invasion } } } // W3: 1200 // 700 + 2200 + 200 (3100) -> 700 + 3400 + 300 (4400) Mission { Objective Sniper Where spawnbot_mission_sniper BeginAtWave 3 RunForThisManyWaves 1 InitialCooldown 25 CooldownTime 45 DesiredCount 3 TFBot { Template T_TFBot_Sniper_Explosive } } Wave { WaitWhenDone 65 Checkpoint Yes StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } WaveSpawn { Name w3_wave01 TotalCurrency 100 TotalCount 40 MaxActive 20 SpawnCount 4 WaitBeforeStarting 0 WaitBetweenSpawns 0 Where spawnbot TFBot { Template T_TFBot_Demo_Kamikaze } } WaveSpawn { Name w3_tank WaitForAllSpawned w3_wave01 TotalCurrency 200 TotalCount 2 MaxActive 2 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 30 Where spawnbot Tank { Health 18000 Name Tank Speed 75 StartingPathTrackNode boss_path_1 OnKilledOutput { Target boss_dead_relay Action Trigger } OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } SpawnTemplate "TankStickyHellmet" ClassIcon tank_sticky_hellmet } } WaveSpawn { Name w3_giants WaitForAllSpawned w3_wave01 TotalCurrency 100 TotalCount 5 MaxActive 4 SpawnCount 1 WaitBeforeStarting 20 WaitBetweenSpawns 15 Where spawnbot_giant TFBot { Template T_TFBot_Giant_Pyro_Gaspasser_Explove } } WaveSpawn { Name w3_wave02 WaitForAllSpawned w3_wave01 TotalCurrency 250 TotalCount 50 MaxActive 10 SpawnCount 5 WaitBeforeStarting 0 WaitBetweenSpawns 0 Where spawnbot Squad { TFBot { Template T_TFBot_Demo_Burst } TFBot { Template T_TFBot_Medic_Shield_Quickfix } TFBot { Template T_TFBot_Demo_Burst } TFBot { Template T_TFBot_Demo_Burst } TFBot { Template T_TFBot_Demo_Burst } } } WaveSpawn { Name w3_wave02 WaitForAllSpawned w3_wave01 TotalCurrency 100 TotalCount 25 MaxActive 5 SpawnCount 5 WaitBeforeStarting 0 WaitBetweenSpawns 0 Where spawnbot_side TFBot { Template T_TFBot_Soldier_Spammer_Buff Tag nav_prefer_flank_back Tag nav_prefer_flank_front } } WaveSpawn { Name w3_wave03 WaitForAllSpawned w3_wave02 TotalCurrency 100 TotalCount 4 MaxActive 4 SpawnCount 2 WaitBeforeStarting 0 WaitBetweenSpawns 15 Where spawnbot TFBot { Template T_TFBot_Giant_Scout Tag nav_prefer_main_back Tag nav_prefer_main_front Attributes AlwaysCrit } } WaveSpawn { Name w3_wave03 WaitForAllSpawned w3_wave02 TotalCurrency 150 TotalCount 30 MaxActive 15 SpawnCount 15 WaitBeforeStarting 0 WaitBetweenSpawns 0 Where spawnbot TFBot { Template T_TFBot_Scout_Delivery_Hard } } WaveSpawn { Name w3_wave04 WaitForAllSpawned w3_wave03 TotalCurrency 120 TotalCount 24 MaxActive 16 SpawnCount 4 WaitBeforeStarting 10 WaitBetweenSpawns 5 Where spawnbot_invasion Squad { TFBot { Template T_TFBot_Heavy_Natascha } TFBot { Template T_TFBot_Medic_Shield_Quickfix } TFBot { Template T_TFBot_Heavy_Natascha } TFBot { Template T_TFBot_Heavy_Natascha } } } WaveSpawn { Name w3_wave04 WaitForAllSpawned w3_wave03 TotalCurrency 80 TotalCount 8 MaxActive 8 SpawnCount 4 WaitBeforeStarting 0 WaitBetweenSpawns 15 Where spawnbot_giant Squad { TFBot { Template T_TFBot_Giant_Soldier_Extended_Battalion Attributes AlwaysCrit } TFBot { Template T_TFBot_Medic_Shield_Quickfix } } } } // W4: 1300 // 700 + 3400 + 300 (4400) -> 700 + 4700 + 400 (5800) Mission { Objective Engineer Where spawnbot BeginAtWave 4 RunForThisManyWaves 1 InitialCooldown 50 CooldownTime 45 DesiredCount 1 TFBot { Template T_TFBot_Engineer_Sentry_Teleporter_FastBuild Item "data mining light" TeleportWhere spawnbot TeleportWhere spawnbot_side TeleportWhere spawnbot_invasion } } Wave { WaitWhenDone 65 Checkpoint Yes StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } WaveSpawn { Name w4_kamikaze TotalCurrency 320 TotalCount 32 MaxActive 4 SpawnCount 2 WaitBeforeStarting 15 WaitBetweenSpawns 20 Where spawnbot_invasion Squad { TFBot { Template T_TFBot_Giant_Demo_Kamikaze } TFBot { Template T_TFBot_Medic_Armored } } } WaveSpawn { Name w4_wave01 TotalCurrency 90 TotalCount 2 MaxActive 2 SpawnCount 2 WaitBeforeStarting 0 WaitBetweenSpawns 0 Where spawnbot_giant Squad { TFBot { Template T_TFBot_Giant_Heavy_Flame_Penetration Tag nav_prefer_main_back Tag nav_prefer_main_front } TFBot { Template T_TFBot_Giant_Medic_Kritzkrieg_Quickheal } } } WaveSpawn { Name w4_wave01 TotalCurrency 100 TotalCount 16 MaxActive 16 SpawnCount 4 WaitBeforeStarting 0 WaitBetweenSpawns 4 Where spawnbot Squad { TFBot { Template T_TFBot_Heavy_Brassbeast Attributes AlwaysCrit Tag nav_prefer_flank_back Tag nav_prefer_main_front } TFBot { Template T_TFBot_Medic } } } WaveSpawn { Name w4_tank01 WaitForAllSpawned w4_wave01 TotalCurrency 100 TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 25 WaitBetweenSpawns 25 Where spawnbot Tank { Health 25000 Name Tank Speed 75 StartingPathTrackNode boss_path_1 OnKilledOutput { Target boss_dead_relay Action Trigger } OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } SpawnTemplate "Drill_tank" ClassIcon tank_drill } } WaveSpawn { Name w4_wave02 WaitForAllDead w4_wave01 TotalCurrency 100 TotalCount 48 MaxActive 16 SpawnCount 4 WaitBeforeStarting 0 WaitBetweenSpawns 0 Where spawnbot TFBot { Template T_TFBot_Pyro_Future_Taunt } } WaveSpawn { Name w4_samurai WaitForAllDead w4_wave01 TotalCurrency 100 TotalCount 16 MaxActive 4 SpawnCount 2 WaitBeforeStarting 15 WaitBetweenSpawns 10 Where spawnbot RandomChoice { TFBot { Template T_TFBot_Pyro_Gasjockey Attributes AlwaysCrit Tag nav_prefer_main_back Tag nav_prefer_flank_front } TFBot { Template T_TFBot_Demo_Golfman Tag nav_prefer_main_front Tag nav_prefer_flank_back } } } WaveSpawn { Name w4_wave03 WaitForAllSpawned w4_samurai TotalCurrency 90 TotalCount 2 MaxActive 2 SpawnCount 2 WaitBeforeStarting 25 WaitBetweenSpawns 0 Where spawnbot_giant Squad { TFBot { Template T_TFBot_Giant_Heavy_Flame_Penetration Tag nav_prefer_main_back Tag nav_prefer_main_front } TFBot { Template T_TFBot_Giant_Medic_Kritzkrieg_Quickheal } } } WaveSpawn { Name w4_wave03 WaitForAllSpawned w4_wave02 TotalCurrency 200 TotalCount 48 MaxActive 12 SpawnCount 4 WaitBeforeStarting 0 WaitBetweenSpawns 0 Where spawnbot TFBot { Template T_TFBot_Soldier_FastRocket_Spammer Tag nav_prefer_main_back Tag nav_prefer_main_front } } WaveSpawn { Name w4_wave03 WaitForAllSpawned w4_wave02 TotalCurrency 100 TotalCount 24 MaxActive 4 SpawnCount 4 WaitBeforeStarting 10 WaitBetweenSpawns 0 Where spawnbot_side Squad { TFBot { Class Pyro Skill Expert } TFBot { Template T_TFBot_Medic_Shield_Quickfix_Extended } } } WaveSpawn { Name w4_tank02 WaitForAllSpawned w4_wave03 TotalCurrency 100 TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 15 Where spawnbot Tank { Health 25000 Name Tank Speed 75 StartingPathTrackNode boss_path_1 OnKilledOutput { Target boss_dead_relay Action Trigger } OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } SpawnTemplate "Drill_tank" ClassIcon tank_drill } } WaveSpawn { Name w4_wave04 WaitForAllSpawned w4_wave03 TotalCurrency 100 TotalCount 4 MaxActive 4 SpawnCount 2 WaitBeforeStarting 25 WaitBetweenSpawns 15 Where spawnbot_giant Squad { TFBot { Template T_TFBot_Giant_Heavy_Flame_Penetration Tag nav_prefer_main_back Tag nav_prefer_main_front } TFBot { Template T_TFBot_Giant_Medic_Shield_Kritzkrieg_Extended_QuickHeal } } } } // W5: 1300 // 700 + 4700 + 400 (5800) -> 700 + 6000 + 500 (7200) Mission { Objective Sniper Where spawnbot_mission_sniper BeginAtWave 5 RunForThisManyWaves 1 InitialCooldown 30 CooldownTime 30 DesiredCount 2 TFBot { Template T_TFBot_Sniper_Crocostyle } } Mission { Objective Engineer Where spawnbot BeginAtWave 5 RunForThisManyWaves 1 InitialCooldown 30 CooldownTime 45 DesiredCount 1 TFBot { Template T_TFBot_Engineer_Sentry_Teleporter_Armored Item "data mining light" TeleportWhere spawnbot TeleportWhere spawnbot_side TeleportWhere spawnbot_invasion } } Wave { WaitWhenDone 65 Checkpoint Yes StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } WaveSpawn { Name w5_superscout01 TotalCurrency 100 TotalCount 4 MaxActive 4 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 5 Where spawnbot TFBot { Template T_TFBot_Giant_Scout_Fast_Bonk_Expert } } WaveSpawn { Name w5_wave01 TotalCurrency 150 TotalCount 15 MaxActive 15 SpawnCount 5 WaitBeforeStarting 15 WaitBetweenSpawns 15 Where spawnbot Squad { TFBot { Template T_TFBot_Giant_Soldier_RocketShotgun_Spammer_Homing Attributes AlwaysCrit Tag nav_prefer_main_back Tag nav_prefer_main_front } TFBot { Template T_TFBot_Giant_Medic_Shield_Extended_Quickheal } TFBot { Template T_TFBot_Heavy_Juggernaut_Minigun } TFBot { Template T_TFBot_Heavy_Juggernaut_Minigun } TFBot { Template T_TFBot_Heavy_Juggernaut_Minigun } } } WaveSpawn { Name w5_superscout02 WaitForAllSpawned w5_wave01 TotalCurrency 100 TotalCount 4 MaxActive 4 SpawnCount 4 WaitBeforeStarting 30 WaitBetweenSpawns 0 Where spawnbot TFBot { Template T_TFBot_Giant_Scout_Fast_Bonk_Expert Tag nav_prefer_flank_back Tag nav_prefer_flank_front } } WaveSpawn { Name w5_wave02 WaitForAllDead w5_wave01 TotalCurrency 150 TotalCount 30 MaxActive 15 SpawnCount 15 WaitBeforeStarting 20 WaitBetweenSpawns 0 Where spawnbot_invasion TFBot { Template T_TFBot_Demo_Scatter_Hyper Attributes AlwaysCrit } } WaveSpawn { Name w5_superscout03 WaitForAllSpawned w5_wave02 TotalCurrency 200 TotalCount 8 MaxActive 4 SpawnCount 2 WaitBeforeStarting 20 WaitBetweenSpawns 20 Where spawnbot TFBot { Template T_TFBot_Giant_Scout_Fast_Bonk_Expert Tag nav_prefer_flank_back Tag nav_prefer_flank_front } } WaveSpawn { Name w5_wave03 WaitForAllSpawned w5_wave02 TotalCurrency 100 TotalCount 24 MaxActive 8 SpawnCount 4 WaitBeforeStarting 0 WaitBetweenSpawns 10 Where spawnbot Squad { TFBot { Template T_TFBot_Soldier_Scatter_Hyper } TFBot { Template T_TFBot_Medic_Shield_Armored } } } WaveSpawn { Name w5_wave03 WaitForAllSpawned w5_wave02 TotalCurrency 100 TotalCount 48 MaxActive 10 SpawnCount 2 WaitBeforeStarting 0 WaitBetweenSpawns 0 Where spawnbot TFBot { Template T_TFBot_Heavy_Deflector_HoH Skill Expert } } WaveSpawn { Name w5_wave04 WaitForAllSpawned w5_wave03 TotalCurrency 100 TotalCount 4 MaxActive 4 SpawnCount 2 WaitBeforeStarting 15 WaitBetweenSpawns 40 Where spawnbot_side Squad { TFBot { Template T_TFBot_Giant_Demo_Scatter_Hyper Tag nav_prefer_main_front Tag nav_prefer_main_back } TFBot { Template T_TFBot_Giant_Medic_Shield_Extended_Quickheal } } } WaveSpawn { Name w5_wave04 WaitForAllSpawned w5_wave03 TotalCurrency 100 TotalCount 4 MaxActive 4 SpawnCount 2 WaitBeforeStarting 15 WaitBetweenSpawns 40 Where spawnbot Squad { TFBot { Template T_TFBot_Giant_Pyro_Future Tag nav_prefer_main_front Tag nav_prefer_flank_back Attributes AlwaysCrit } TFBot { Template T_TFBot_Giant_Medic_Shield_Extended_Quickheal } } } WaveSpawn { Name w5_support WaitForAllSpawned w5_wave04 TotalCurrency 200 TotalCount 48 MaxActive 12 SpawnCount 12 WaitBeforeStarting 0 WaitBetweenSpawns 0 Where spawnbot Support 1 TFBot { Template T_TFBot_Scout_FAN_Pusher Skill Expert Tag nav_prefer_main_front Tag nav_prefer_flank_back } } } // W6: 1800 // 700 + 6000 + 500 (7200) -> 700 + 7800 + 600 (9100) Mission { Objective Sniper Where spawnbot_mission_sniper BeginAtWave 6 RunForThisManyWaves 1 InitialCooldown 30 CooldownTime 30 DesiredCount 2 TFBot { Template T_TFBot_Sniper_Charged } } Mission { Objective Spy Where spawnbot_mission_spy BeginAtWave 6 RunForThisManyWaves 1 InitialCooldown 30 CooldownTime 30 DesiredCount 2 TFBot { Template T_TFBot_Spy_Hyper } } Wave { WaitWhenDone 65 Checkpoint Yes StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } WaveSpawn { Name w6_tank01 TotalCurrency 100 TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 0 Where spawnbot Tank { Health 25000 Name Tank Speed 75 StartingPathTrackNode boss_path_1 OnKilledOutput { Target boss_dead_relay Action Trigger } OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } SpawnTemplate "Drill_tank" ClassIcon tank_drill } } WaveSpawn { Name w6_wave01 TotalCurrency 200 TotalCount 20 MaxActive 8 SpawnCount 4 WaitBeforeStarting 0 WaitBetweenSpawns 15 Where spawnbot_giant Squad { TFBot { Template T_TFBot_Soldier_BurstFire Tag nav_prefer_main_front Tag nav_prefer_main_back } TFBot { Template T_TFBot_Medic } TFBot { Template T_TFBot_Medic } TFBot { Template T_TFBot_Medic } } } WaveSpawn { Name w6_support01 TotalCurrency 100 TotalCount 50 MaxActive 10 SpawnCount 5 WaitBeforeStarting 10 WaitBetweenSpawns 4 Where spawnbot TFBot { Template T_TFBot_Pyro_Crit Tag nav_prefer_flank_back Tag nav_prefer_main_front } } WaveSpawn { Name w6_tank02 WaitForAllSpawned w6_wave01 TotalCurrency 100 TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 15 WaitBetweenSpawns 0 Where spawnbot Tank { Health 25000 Name Tank Speed 75 StartingPathTrackNode boss_path_1 OnKilledOutput { Target boss_dead_relay Action Trigger } OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } SpawnTemplate "Drill_tank" ClassIcon tank_drill } } WaveSpawn { Name w6_wave02 WaitForAllSpawned w6_wave01 TotalCurrency 200 TotalCount 16 MaxActive 12 SpawnCount 4 WaitBeforeStarting 15 WaitBetweenSpawns 10 Where spawnbot_giant Squad { TFBot { Template T_TFBot_Giant_Heavy_Brassbeast_Hyper Tag nav_prefer_main_front Tag nav_prefer_main_back Attributes AlwaysCrit } TFBot { Template T_TFBot_Medic } TFBot { Template T_TFBot_Giant_Demo_Sticky_Spammer_Hyper } TFBot { Template T_TFBot_Giant_Demo_Sticky_Spammer_Hyper } } } WaveSpawn { Name w6_support02 WaitForAllSpawned w6_support01 TotalCurrency 100 TotalCount 24 MaxActive 4 SpawnCount 4 WaitBeforeStarting 0 WaitBetweenSpawns 0 Where spawnbot_side TFBot { Template T_TFBot_Heavy_Juggernaut_Regen } } WaveSpawn { Name w6_support03 WaitForAllSpawned w6_support02 TotalCurrency 100 TotalCount 20 MaxActive 4 SpawnCount 4 WaitBeforeStarting 0 WaitBetweenSpawns 0 Where spawnbot TFBot { Template T_TFBot_Scout_Delivery_Hyper Tag nav_prefer_flank_back Tag nav_prefer_flank_front } } WaveSpawn { Name w6_tank03 WaitForAllSpawned w6_wave02 TotalCurrency 100 TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 15 WaitBetweenSpawns 0 Where spawnbot Tank { Health 25000 Name Tank Speed 75 StartingPathTrackNode boss_path_1 OnKilledOutput { Target boss_dead_relay Action Trigger } OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } SpawnTemplate "Drill_tank" ClassIcon tank_drill } } WaveSpawn { Name w6_wave03 WaitForAllSpawned w6_wave02 TotalCurrency 200 TotalCount 16 MaxActive 8 SpawnCount 4 WaitBeforeStarting 20 WaitBetweenSpawns 10 Where spawnbot_giant Squad { TFBot { Template T_TFBot_Giant_Heavy_Brassbeast_Hyper Tag nav_prefer_main_back Tag nav_prefer_main_front Attributes AlwaysCrit } TFBot { Template T_TFBot_Medic } TFBot { Template T_TFBot_Medic } TFBot { Template T_TFBot_Medic } } } WaveSpawn { Name w6_wave03 WaitForAllSpawned w6_wave02 TotalCurrency 100 TotalCount 30 MaxActive 10 SpawnCount 5 WaitBeforeStarting 15 WaitBetweenSpawns 0 Where spawnbot_invasion RandomChoice { TFBot { Template T_TFBot_Sniper_Huntsman_Hyper_Homing } TFBot { Template T_TFBot_Sniper_Huntsman_Hyper_Penetration } } } WaveSpawn { Name w6_wave04 WaitForAllSpawned w6_wave03 TotalCurrency 200 TotalCount 4 MaxActive 4 SpawnCount 1 WaitBeforeStarting 10 WaitBetweenSpawns 10 Where spawnbot_giant TFBot { Template T_TFBot_Giant_Sniper_Huntsman_Hyper_Multishot_Homing } } WaveSpawn { Name w6_wave04 WaitForAllSpawned w6_wave03 TotalCurrency 100 TotalCount 20 MaxActive 10 SpawnCount 5 WaitBeforeStarting 0 WaitBetweenSpawns 0 Where spawnbot TFBot { Template T_TFBot_Soldier_Crit } } WaveSpawn { Name w6_tank04 WaitForAllSpawned w6_wave03 TotalCurrency 100 TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 30 WaitBetweenSpawns 0 Where spawnbot Tank { Health 25000 Name Tank Speed 75 StartingPathTrackNode boss_path_1 OnKilledOutput { Target boss_dead_relay Action Trigger } OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } SpawnTemplate "Drill_tank" ClassIcon tank_drill } } WaveSpawn { Name w6_engi TotalCurrency 100 TotalCount 10 MaxActive 2 SpawnCount 2 WaitBeforeStarting 60 WaitBetweenSpawns 60 Where spawnbot_invasion support 1 Squad { TFBot { Template T_TFBot_Engineer_Sentry_Tele_Battle_Hyper Item "data mining light" TeleportWhere spawnbot TeleportWhere spawnbot_side TeleportWhere spawnbot_invasion } TFBot { Template T_TFBot_Medic_Armored } } } } // W7: 1800 // 700 + 7800 + 600 (9100) -> 700 + 9600 + 600 (10900) Mission { Objective Engineer Where spawnbot BeginAtWave 7 RunForThisManyWaves 1 InitialCooldown 120 CooldownTime 60 DesiredCount 1 TFBot { Template T_TFBot_Engineer_Sentry_Teleporter_Hyper Item "data mining light" TeleportWhere spawnbot TeleportWhere spawnbot_side TeleportWhere spawnbot_invasion } } Wave { WaitWhenDone 65 Checkpoint Yes StartWaveOutput { Target wave_start_relay_boss Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } WaveSpawn { Name w7_tank01 TotalCurrency 600 TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 0 Where spawnbot Tank { Health 75000 Name Tank Speed 75 Skin 1 StartingPathTrackNode boss_path_1 OnKilledOutput { Target boss_dead_relay Action Trigger } OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } SpawnTemplate "TeleTank" ClassIcon tank_tele } } WaveSpawn { Name w7_wave01 TotalCurrency 200 TotalCount 64 MaxActive 16 SpawnCount 4 WaitBeforeStarting 10 WaitBetweenSpawns 0 Where spawnbot_invasion RandomChoice { TFBot { Template T_TFBot_Scout_Hyper Tag nav_prefer_flank_back Tag nav_prefer_flank_front } TFBot { Template T_TFBot_Soldier_Burst_Hyper } TFBot { Template T_TFBot_Pyro_Dragon_Hyper } TFBot { Template T_TFBot_Demo_Crit } } } WaveSpawn { Name w7_wave01_heavymedic TotalCurrency 200 TotalCount 16 MaxActive 4 SpawnCount 2 WaitBeforeStarting 10 WaitBetweenSpawns 0 Where spawnbot Squad { TFBot { Template T_TFBot_Heavy_Deflector_Hyper Tag nav_prefer_main_back Tag nav_prefer_main_front } TFBot { Template T_TFBot_Medic } } } WaveSpawn { Name w7_wave02 WaitForAllSpawned w7_wave01 TotalCurrency 400 TotalCount 4 MaxActive 4 SpawnCount 2 WaitBeforeStarting 15 WaitBetweenSpawns 30 Where spawnbot Squad { TFBot { Template T_TFBot_Giant_Soldier_Spammer_Homing_Hyper } TFBot { Template T_TFBot_Giant_Medic } } } WaveSpawn { Name w7_wave02 WaitForAllSpawned w7_wave01 TotalCurrency 400 TotalCount 10 MaxActive 10 SpawnCount 2 WaitBeforeStarting 30 WaitBetweenSpawns 15 Where spawnbot_side TFBot { Template T_TFBot_Giant_Scout_Hyper } } WaveSpawn { Name w7_boss WaitForAllDead w7_wave02 TotalCurrency 0 TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 30 WaitBetweenSpawns 0 Where spawnbot_giant TFBot { ClassIcon soldier_tankbuster_giant Health 60000 Name "King Battalion" Class Soldier Scale 1.9 ChangeAttributes { Name "Melee" Delay 0 Repeats 1 IfHealthBelow 10000 } EventChangeAttributes { Default { Skill Expert WeaponRestrictions PrimaryOnly Attributes HoldFireUntilFullReload Attributes MiniBoss Attributes SpawnWithFullCharge Attributes UseBossHealthBar Attributes AlwaysCrit ItemAttributes { ItemName "the black box" "dmg bonus vs buildings" 51 "damage bonus" 2.0 "damage causes airblast" 1 "Blast radius increased" 5.0 } CharacterAttributes { "move speed bonus" 0.5 "override footstep sound set" 3 "damage force reduction" 0.4 "airblast vulnerability multiplier" 0.4 "airblast vertical vulnerability multiplier" 0.1 "increase buff duration" 9.0 "deploy time increased" 0.5 "no self blast dmg" 1 } Item "the black box" Item "the battalion's backup" Item "the grenadier's softcap" } Melee { Skill Expert WeaponRestrictions MeleeOnly Attributes HoldFireUntilFullReload Attributes MiniBoss Attributes SpawnWithFullCharge Attributes UseBossHealthBar Attributes AlwaysCrit ItemAttributes { ItemName "the escape plan" "damage bonus" 5.0 "fire rate bonus" 0.6 } CharacterAttributes { "move speed bonus" 1 "no self blast dmg" 1 "override footstep sound set" 3 "damage force reduction" 0.4 "airblast vulnerability multiplier" 0.4 "airblast vertical vulnerability multiplier" 0.1 "increase buff duration" 9.0 "deploy time increased" 0.5 "no self blast dmg" 1 } Item "the escape plan" Item "the battalion's backup" Item "the grenadier's softcap" } } } } WaveSpawn { Name w7_support WaitForAllDead w7_wave02 TotalCurrency 0 TotalCount 18 MaxActive 18 SpawnCount 2 WaitBeforeStarting 10 WaitBetweenSpawns 0 Support 1 Where spawnbot_invasion RandomChoice { TFBot { Template T_TFBot_Heavy_IronFist_Airblast } TFBot { Template T_TFBot_Soldier_Spammer_Conch Tag nav_prefer_main_back Tag nav_prefer_main_front } TFBot { Template T_TFBot_Scout_Blaster_Pusher Skill Expert } TFBot { Template T_TFBot_Pyro_Future Tag nav_prefer_flank_back Tag nav_prefer_flank_front } } } } }