#base robot_giant.pop #base robot_standard.pop #base robot_gatebot.pop population { StartingCurrency 1000 RespawnWaveTime 6 MaxRedPlayers 6 CanBotsAttackWhileInSpawnRoom no AddSentryBusterWhenKillCountExceeds 70 SentryBusterFriendlyFire 0 NoRomevisionCosmetics 1 AllowMultipleSappers 0 AllowBotExtraSlots 1 RobotLimit 25 TextPrintTime 0 PrecacheModel "models/bots/boss_bot/boss_blimp.mdl" PrecacheModel "models/props_mvm/reversemvm_redwall_696x337.mdl" Templates { T_TFBot_Giant_Medic_KritzKrieg { ClassIcon medic_kritz2_giant Health 4000 Name "Giant Kritzkrieg Medic" Class Medic Scale 1.8 Skill Expert MaxVisionRange 500 WeaponRestrictions SecondaryOnly Attributes "SpawnWithFullCharge" Attributes "MiniBoss" ItemAttributes { ItemName "The Kritzkrieg" "uber duration bonus" 6000 "bot medic uber health threshold" 6000 } CharacterAttributes { "heal rate bonus" 50 "move speed bonus" 0.5 "damage force reduction" 0.6 "airblast vulnerability multiplier" 0.6 "override footstep sound set" 7 } Item "the kritzkrieg" Item "medic's mountain cap" } T_TFBot_Furnace_Heavy { ClassIcon heavy_heater_ring Health 300 Name "Furnace Heavy" Scale 1.0 Class HeavyWeapons Skill Normal MaxVisionRange 1000 WeaponRestrictions PrimaryOnly ItemAttributes { ItemName "iron curtain" "ring of fire while aiming" 5 "crit vs burning players" 1 } CharacterAttributes { "afterburn immunity" 1 } Item "iron curtain" Item "the bunsen brave" Item "The Last Breath" } T_TFBot_Igniter_Soldier { ClassIcon soldier_ignite Health 200 Name "Igniter Soldier" Scale 1.0 Class Soldier Skill Normal MaxVisionRange 1000 WeaponRestrictions PrimaryOnly Attributes "HoldFireUntilFullReload" ItemAttributes { ItemName "The Cow mangler 5000" "Set DamageType Ignite" 1 "fire rate bonus" 1.5 "faster reload rate" 1.3 } Item "The Cow Mangler 5000" Item "the bunsen brave" } T_TFBot_Medic_KritzKrieg { ClassIcon medic_kritz2 Name "Kritzkrieg Medic" Health 150 Class Medic Scale 1.0 Skill Hard MaxVisionRange 500 WeaponRestrictions SecondaryOnly Attributes SpawnWithFullCharge ItemAttributes { ItemName "The Kritzkrieg" "uber duration bonus" 600 "bot medic uber health threshold" 600 } CharacterAttributes { "heal rate bonus" 1.5 } Item "the kritzkrieg" Item "medic's mountain cap" } Blimp { Health 15000 Speed 150 DisableSmokestack 1 Classicon blimp2_lite Skin 1 MaxTurnRate 50 Model "models/bots/boss_bot/boss_blimp.mdl" Gravity 0 NoCrushDamage 1 DisableTracks 1 DisableChildModels 1 Name "tank_boss" EngineLoopSound "Blimp.Motor" PingSound "common/null.wav" OnKilledOutput { Target boss_dead_relay Action Trigger } OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } PointTemplates { PT_Wave5_Logic { NoFixup 1 finaltele { trigger_teleport //teleport timer to box { "targetname" "timertele" "origin" "-1794 -2375 128" "spawnflags" "1" "solid" "0" "StartDisabled" "0" "maxs" "30 30 30" "mins" "-30 -30 -30" "target" "timerbox" } info_target { "targetname" "timerbox" "origin" "217.51 -3433.08 -158.97" } } func_forcefield { "origin" "216.03 1769.05 -180" "TeamNum" "3" "targetname" "arenaforcefield" "mins" "0 0 0" "maxs" "400 10 400" "StartDisabled" "0" } trigger_add_tf_player_condition { "origin" "504.35 1880.66 -824.27 " "condition" "51" "duration" 5 "targetname" "uber_area" "mins" "0 0 0" "maxs" "1887.21 3276.06 211.86" } prop_dynamic { modelscale 1 model "models/props_mvm/reversemvm_redwall_640x300.mdl" origin "397.39 1784.78 -86.78" angles "0 180 0" targetname blocker_wallprop_A disableshadows 1 } OnSpawnOutput { Target wave5_relay Action Trigger } OnSpawnOutput { Target bignet Action runscriptcode Param " local annotation = SpawnEntityFromTable(`training_annotation`, { targetname=`annotation01`, origin=`375.74 1700.02 -154.27`, lifetime=1, display_text=`Bots spawn here` }) EntFire(`annotation01`,`show`,null,0.1) " } logic_relay { "targetname" "wave5_relay" "OnTrigger" "@f@filter_redteam@player,$ForceRespawn,,0,-1" "OnTrigger" "obj_*,RemoveHealth,10000,0,-1" } } StickyTank { OnParentKilledOutput // Clean up stickies { Target tf_projectile_pipe Action Kill Delay 0.1 } OnSpawnOutput { Target stickytank_init_relay Action Trigger Delay 0.1 } logic_relay { "targetname" "stickytank_init_relay" "OnTrigger" "!parent,AddOutput,OnHealthBelow60Percent stickytank_timer:UpperRandomBound:5:0:-1,0,-1" "OnTrigger" "!parent,AddOutput,OnHealthBelow60Percent stickytank_timer:LowerRandomBound:5:0:-1,0,-1" "OnTrigger" "!parent,AddOutput,OnHealthBelow30Percent stickytank_timer:UpperRandomBound:2.5:0:-1,0,-1" "OnTrigger" "!parent,AddOutput,OnHealthBelow30Percent stickytank_timer:LowerRandomBound:2.5:0:-1,0,-1" } logic_relay { "targetname" "stickytank_shooter_relay" "OnTrigger" "stickytank_mimic,FireOnce,,0,-1" "OnTrigger" "stickytank_shoot_sound,PlaySound,,0,-1" "OnTrigger" "stickytank_mimic,FireOnce,,0.1,-1" "OnTrigger" "stickytank_shoot_sound,PlaySound,,0.1,-1" "OnTrigger" "stickytank_mimic,FireOnce,,0.2,-1" "OnTrigger" "stickytank_shoot_sound,PlaySound,,0.2,-1" "OnTrigger" "stickytank_mimic,FireOnce,,0.3,-1" "OnTrigger" "stickytank_shoot_sound,PlaySound,,0.3,-1" "OnTrigger" "stickytank_mimic,FireOnce,,0.4,-1" "OnTrigger" "stickytank_shoot_sound,PlaySound,,0.4,-1" "OnTrigger" "stickytank_mimic,FireMultiple,4,0.5,-1" "OnTrigger" "stickytank_shoot_sound,PlaySound,,0.5,-1" "OnTrigger" "stickytank_mimic,FireOnce,,0.6,-1" "OnTrigger" "stickytank_shoot_sound,PlaySound,,0.6,-1" "OnTrigger" "stickytank_mimic,FireOnce,,0.7,-1" "OnTrigger" "stickytank_shoot_sound,PlaySound,,0.7,-1" "OnTrigger" "stickytank_mimic,FireOnce,,0.8,-1" "OnTrigger" "stickytank_shoot_sound,PlaySound,,0.8,-1" "OnTrigger" "stickytank_mimic,FireOnce,,0.9,-1" "OnTrigger" "stickytank_shoot_sound,PlaySound,,0.9,-1" "OnTrigger" "stickytank_mimic,FireMultiple,4,1,-1" "OnTrigger" "stickytank_shoot_sound,PlaySound,,1,-1" "OnTrigger" "stickytank_mimic_crit,FireOnce,,1.5,-1" "OnTrigger" "stickytank_shoot_sound_crit,PlaySound,,1.5,-1" "OnTrigger" "stickytank_mimic_crit,FireMultiple,2,2,-1" "OnTrigger" "stickytank_shoot_sound_crit,PlaySound,,2,-1" "OnTrigger" "!self,EnableRefire,,2,-1" "OnTrigger" "stickytank_mimic_crit,FireMultiple,3,2.5,-1" "OnTrigger" "stickytank_shoot_sound_crit,PlaySound,,2.5,-1" "OnTrigger" "stickytank_mimic_crit,FireMultiple,6,3,-1" "OnTrigger" "stickytank_shoot_sound_crit,PlaySound,,3,-1" "OnTrigger" "stickytank_mimic,DetonateStickies,,7,-1" "OnTrigger" "stickytank_mimic_crit,DetonateStickies,,7,-1" } logic_timer { "targetname" "stickytank_timer" "spawnflags" "0" "UpperRandomBound" "10" "LowerRandomBound" "7" "UseRandomTime" "1" "OnTimer" "stickytank_shooter_relay,Trigger,,0,-1" } prop_dynamic { "targetname" "stickytank_model" "model" "models/props_frontline/tank_turret.mdl" "skin" "2" "solid" "0" "spawnflags" "0" "origin" "-16 -66 108" "angles" "-56.5 0 -90" } prop_dynamic { "targetname" "stickytank_model" "model" "models/props_frontline/tank_turret.mdl" "skin" "2" "solid" "0" "spawnflags" "0" "origin" "-12 66 108" "angles" "-58.5 0 90" } tf_point_weapon_mimic { "targetname" "stickytank_mimic" "WeaponType" "3" "ModelScale" "1" "SpeedMax" "525" "SpeedMin" "525" "Crits" "0" "Damage" "75" "SpreadAngle" "25" "SplashRadius" "125" "FireSound" "weapons/stickybomblauncher_shoot_crit.wav" "origin" "54 -56 216" "angles" "-58.5 359 180" } tf_point_weapon_mimic { "targetname" "stickytank_mimic_crit" "WeaponType" "3" "ModelScale" "1" "SpeedMax" "525" "SpeedMin" "525" "Crits" "1" "Damage" "75" "SpreadAngle" "25" "SplashRadius" "125" "FireSound" "weapons/stickybomblauncher_shoot_crit.wav" "origin" "54 -56 216" "angles" "-58.5 359 180" } tf_point_weapon_mimic { "targetname" "stickytank_mimic" "WeaponType" "3" "ModelScale" "1" "SpeedMax" "525" "SpeedMin" "525" "Crits" "0" "Damage" "75" "SpreadAngle" "25" "SplashRadius" "125" "FireSound" "weapons/stickybomblauncher_shoot_crit.wav" "origin" "54 56 214" "angles" "-56.5 359 0" } tf_point_weapon_mimic { "targetname" "stickytank_mimic_crit" "WeaponType" "3" "ModelScale" "1" "SpeedMax" "525" "SpeedMin" "525" "Crits" "1" "Damage" "75" "SpreadAngle" "25" "SplashRadius" "125" "FireSound" "weapons/stickybomblauncher_shoot_crit.wav" "origin" "54 56 214" "angles" "-56.5 359 0" } ambient_generic { "targetname" "stickytank_shoot_sound" "health" "10" "message" "weapons/stickybomblauncher_shoot.wav" "pitch" "100" "pitchstart" "100" "radius" "5000" "spawnflags" "48" "origin" "64 0 224" } ambient_generic { "targetname" "stickytank_shoot_sound_crit" "health" "10" "message" "weapons/stickybomblauncher_shoot_crit.wav" "pitch" "100" "pitchstart" "100" "radius" "5000" "spawnflags" "48" "origin" "64 0 224" } } drilltank { logic_relay { "onspawn" "!parent,addoutput,onuser4 @c@!self:fireuser1::0:-1,0,-1" } prop_dynamic { "targetname" "tank_drill" "model" "models/bots/boss_bot/tank_drill.mdl" //"model" "models/bots/boss_bot/tank_red_drill.mdl" "skin" "0" // 1 for dark blue, 2 for final skin blue, 3 for dark final skin "DefaultAnim" "drill_spin" "onuser1" "!self,setanimation,drill_deploy,0,-1" "onuser1" "!self,setdefaultanimation,drill_deploy_idle,0.1,-1" } trigger_multiple { "targetname" "drill_hurt" "origin" "182 0 86" "mins" "-50 -40 -50" "maxs" "50 40 50" "spawnflags" "1" "ontrigger" "driller,SetSpeed,25,0,-1" "ontrigger" "!activator,bleedplayer,1,0,-1" "ontrigger" "!activator,$takedamage,25,0,-1" "ontrigger" "!activator,$takedamage,25,0.25,-1" "ontrigger" "!activator,$takedamage,25,0.50,-1" "ontrigger" "!activator,$takedamage,25,0.75,-1" "ontrigger" "drill,Pitch,100,0,-1" "ontrigger" "drill2,Pitch,100,0.25,-1" "ontrigger" "drill3,Pitch,100,0.50,-1" "ontrigger" "drill4,Pitch,100,0.75,-1" "onendtouch" "driller,SetSpeed,75,0,-1" "wait" "0.1" "onuser1" "!self,disable,,0,-1" } ambient_generic { "targetname" "drill" "message" "ambient\grinder\grinderbot_01.wav" "health" "10" "pitch" "100" "pitchstart" "100" "radius" "5000" "spawnflags" "17" "sourceentityname" "!parent" "onuser1" "!self,stopsound,,0,-1" } ambient_generic { "targetname" "drill2" "message" "ambient\grinder\grinderbot_02.wav" "health" "10" "pitch" "100" "pitchstart" "100" "radius" "5000" "spawnflags" "17" "sourceentityname" "!parent" "onuser1" "!self,stopsound,,0,-1" } ambient_generic { "targetname" "drill3" "message" "ambient\grinder\grinderbot_03.wav" "health" "10" "pitch" "100" "pitchstart" "100" "radius" "5000" "spawnflags" "17" "sourceentityname" "!parent" "onuser1" "!self,stopsound,,0,-1" } ambient_generic { "targetname" "drill4" "message" "mvm\physics\robo_impact_hard_05.wav" "health" "10" "pitch" "100" "pitchstart" "100" "radius" "5000" "spawnflags" "17" "sourceentityname" "!parent" "onuser1" "!self,stopsound,,0,-1" } ambient_generic { "targetname" "drill_sound" "message" "ambient/sawblade.wav" "health" "10" "pitch" "60" "pitchstart" "60" "radius" "1250" "sourceentityname" "!parent" "onuser1" "!self,stopsound,,0,-1" } ambient_generic { "targetname" "drill_sound" "message" "ambient/sawblade.wav" "health" "10" "pitch" "60" "pitchstart" "60" "radius" "1250" "sourceentityname" "!parent" "onuser1" "!self,stopsound,,0,-1" } } } ClassLimit { Demoman 2 Engineer 2 Medic 2 Sniper 2 Spy 2 } ExtraTankPath { Name "Blimp_path" Node "-1779.99 624.68 186.36" Node "661.58 640.73 178.83" Node "964.93 540.79 190.31" Node "961.06 -104.18 176.43" Node "616.76 -537.31 168.01" Node "-50.44 -2076.14 122.01" } ExtraSpawnPoint { Name "spawnbot_final1" TeamNum 3 X "-434.66" Y "2355.92" Z "-351.83" } ExtraSpawnPoint { Name "spawnbot_final2" TeamNum 3 X "-435.28" Y "3273.17" Z "-160.03" } ItemBlacklist { Name "The Hitman's Heatmaker" Name "The Spy-cicle" Name "The Razorback" Name "Your Eternal Reward" Name "The Machina" } ItemAttributes { ItemName "Warrior's Spirit" "bleeding duration" 5 "minicritboost on kill" 3 "speed_boost_on_kill" 2 } ItemAttributes { ItemName "Gloves Of Running Urgently" "self mark for death" 1 "mod_maxhealth_drain_rate" -5 } ItemAttributes { ItemName "Festive Gloves of Running Urgently" "self mark for death" 1 "mod_maxhealth_drain_rate" -5 } ItemAttributes { ItemName "The Bread Bite" "self mark for death" 1 "mod_maxhealth_drain_rate" -5 } ItemAttributes { ItemName "The Gunslinger" "engy disposable sentries" 3 "mvm sentry ammo" 0.8 } ItemAttributes { ItemName "The U-clank-a" "max health additive bonus" 50 } ItemAttributes { ItemName "The Big Earner" "max health additive bonus" 25 } PlayerAttributes { Soldier { "increased air control" 4 } Sniper { "move speed bonus" 0.95 } } CustomWeapon { Name "W.A.S.P. Launcher" OriginalItemName "Upgradeable TF_WEAPON_ROCKETLAUNCHER" "damage penalty" 0.9 "Blast radius increased" 1.2 "Projectile speed decreased" 0.8 "custom item model" "models/weapons/c_models/c_wasp_launcher/c_wasp_launcher.mdl" } CustomWeapon { Name "Warhawk Warmaker" OriginalItemName "warbird_rocketlauncher_warhawk" "Damage Bonus Hidden" 1.20 "fire rate bonus hidden" 0.5 "Clip Size Penalty" 0.5 "Reload time increased" 1.5 "Projectile Spread Angle Penalty" 4 "projectile gravity" 600 } CustomWeapon { Name "The Rough Rider" OriginalItemName "Upgradeable TF_WEAPON_SCATTERGUN" "Weapon spread bonus" 0.75 "Reload time decreased" 0.75 "fire rate bonus hidden" 0.75 "clip size penalty" 0.75 "damage penalty" 0.85 "speed_boost_on_kill" 3 "custom item model" "models\workshop\weapons\c_models\c_roughrider\c_pep_scattergun.mdl" } CustomWeapon { Name "The Cerberus" OriginalItemName "Upgradeable TF_WEAPON_MINIGUN" "bullets per shot bonus" 3.00 "fire rate bonus" 0.90 "max health additive bonus" -50 "mult dmg vs tanks" 0 "damage penalty" 0.75 "Weapon spread bonus" 1.75 "maxammo primary reduced" 0.25 "crit mod disabled" 0 "minigun spinup time increased" 1.33 "no primary ammo from dispensers while active" 1 "custom item model" "models/weapons/c_models/c_cerberus/c_minigun.mdl" } ExtraLoadoutItems { Soldier { Primary { Item "W.A.S.P. Launcher" Cost 100 AllowedMinWave 1 AllowedMaxWave 7 AllowRefund 1 } Primary { Item "Warhawk Warmaker" Cost 100 AllowedMinWave 1 AllowedMaxWave 7 AllowRefund 1 } } Scout { Primary { Item "The Rough Rider" Cost 100 AllowedMinWave 1 AllowedMaxWave 7 AllowRefund 1 } } } Mission { Objective Sniper Where spawnbot_upper BeginAtWave 1 RunForThisManyWaves 5 InitialCooldown 30 CooldownTime 30 DesiredCount 1 TFBot { Template T_TFBot_Sniper } } Mission { Objective DestroySentries Where spawnbot_center BeginAtWave 1 RunForThisManyWaves 5 InitialCooldown 40 CooldownTime 40 DesiredCount 1 TFBot { Template T_TFBot_SentryBuster } } Mission { Objective Spy Where spawnbot_center BeginAtWave 3 RunForThisManyWaves 3 InitialCooldown 40 CooldownTime 40 DesiredCount 2 TFBot { Template T_TFBot_Spy } } Wave // Wave 1 Credits: 1000 { WaitWhenDone 65 Checkpoint Yes StartWaveOutput { Target wave_start_relay_classic Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } WaveSpawn { Name "Convoy" TotalCurrency 300 TotalCount 32 MaxActive 16 SpawnCount 4 WaitBeforeStarting 0.5 WaitBetweenSpawns 9 Where spawnbot_right Squad { TFBot { Scale 1.8 MaxVisionRange 1000 Template T_TFBot_Giant_Soldier Attributes "AlwaysCrit" } TFBot { ClassIcon soldier_bison_spammer Health 200 Name "Rapid Fire Bison Soldier" Scale 1.0 Class Soldier Skill Normal MaxVisionRange 1000 WeaponRestrictions SecondaryOnly Attributes "HoldFireUntilFullReload" ItemAttributes { ItemName "the righteous bison" "fire rate bonus" 0.5 "clip size upgrade atomic" 2.5 "faster reload rate" 0.7 } Item "the righteous bison" } TFBot { ClassIcon soldier_bison_spammer Health 200 Name "Rapid Fire Bison Soldier" Scale 1.0 Class Soldier Skill Normal MaxVisionRange 1000 WeaponRestrictions SecondaryOnly Attributes "HoldFireUntilFullReload" ItemAttributes { ItemName "the righteous bison" "faster reload rate" 0.7 "clip size upgrade atomic" 2.5 "fire rate bonus" 0.5 } Item "the righteous bison" } TFBot { ClassIcon soldier_bison_spammer Health 200 Name "Rapid Fire Bison Soldier" Scale 1.0 Class Soldier Skill Normal MaxVisionRange 1000 WeaponRestrictions SecondaryOnly Attributes "HoldFireUntilFullReload" ItemAttributes { ItemName "the righteous bison" "fire rate bonus" 0.5 "clip size upgrade atomic" 2.5 "faster reload rate" 0.7 } Item "the righteous bison" } } } WaveSpawn { Name "Bonk" TotalCurrency 50 TotalCount 9 MaxActive 9 SpawnCount 1 WaitBeforeStarting 5 WaitBetweenSpawns 5 Where spawnbot_left Where spawnbot_right TFBot { ClassIcon scout_bonk_scatter_nys Name "Primary Bonk Scout" Scale 1.0 MaxVisionRange 500 WeaponRestrictions PrimaryOnly Template T_TFBot_Scout_Bonk Attributes "AlwaysCrit" Attributes "HoldFireUntilFullReload" } } WaveSpawn { Name "Burst Demos" TotalCurrency 50 TotalCount 34 MaxActive 12 SpawnCount 4 WaitBeforeStarting 8 WaitBetweenSpawns 8 Where spawnbot_upper Where spawnbot_center TFBot { Scale 1.0 MaxVisionRange 1000 Template T_TFBot_Demo_Burst } } WaveSpawn { Name "Tank 1" WaitForAllDead "Convoy" TotalCurrency 200 TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 13 WaitBetweenSpawns 13 Tank { ClassIcon tank_sticky_hellmet Health 15000 Name "Sticky Tank" Speed 75 SpawnTemplate "StickyTank" StartingPathTrackNode tank_path_1 OnKilledOutput { Target boss_dead_relay Action Trigger } OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn { Name "Tank 2" WaitForAllDead "Convoy" TotalCurrency 200 TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 10 WaitBetweenSpawns 10 Tank { ClassIcon tank_drill_lite Health 10000 Name "Drill Tank" Speed 75 SpawnTemplate "drilltank" StartingPathTrackNode tank_path_1 OnKilledOutput { Target boss_dead_relay Action Trigger } OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn { Name "GBurst Demos" WaitForAllDead "Convoy" TotalCurrency 100 TotalCount 12 MaxActive 12 SpawnCount 3 WaitBeforeStarting 5 WaitBetweenSpawns 18 Where spawnbot_upper Squad { TFBot { ClassIcon demo_burst_giant Health 3000 Name "Giant Burst Fire Demoman" Scale 1.8 Class Demoman Skill Expert MaxVisionRange 1000 WeaponRestrictions PrimaryOnly Attributes "MiniBoss" Attributes "HoldFireUntilFullReload" ItemAttributes { ItemName tf_weapon_grenadelauncher "clip size upgrade atomic" 7 "fire rate bonus" 0.1 "faster reload rate" 0.5 } CharacterAttributes { "move speed bonus" 0.5 "airblast vulnerability multiplier" 0.5 "damage force reduction" 0.5 "override footstep sound set" 4 } } TFBot { Scale 1.0 MaxVisionRange 500 WeaponRestrictions SecondaryOnly Template T_TFBot_Medic_QuickUber Item "prussian pickelhaube" } TFBot { Scale 1.0 MaxVisionRange 500 WeaponRestrictions SecondaryOnly Template T_TFBot_Medic_QuickUber Item "prussian pickelhaube" } } } WaveSpawn { Name Paratroopers FirstSpawnWarningSound "ambient/alarms/citadel_alert_loop2.wav" WaitForAllDead "Convoy" TotalCurrency 100 TotalCount 16 MaxActive 16 SpawnCount 2 WaitBeforeStarting 2.5 WaitBetweenSpawns 3 Support 1 Where spawnbot_center RandomChoice { TFBot { ClassIcon soldier_para Health 200 Name "ParaTrooper Soldier" Scale 1.0 Class Soldier Skill Normal RocketJump 1 MaxVisionRange 1000 WeaponRestrictions PrimaryOnly Attributes "HoldFireUntilFullReload" Item "the liberty launcher" Item "the b.a.s.e. jumper" Item "loyalty reward" } TFBot { ClassIcon soldier_airstrike_lite Health 200 Name "Airstrike Soldier" Scale 1.0 Class Soldier Skill Normal RocketJump 1 MaxVisionRange 1000 WeaponRestrictions PrimaryOnly Attributes "HoldFireUntilFullReload" ItemAttributes { ItemName "the air strike" "faster reload rate" 0.6 "no self blast dmg" 1 "self dmg push force increased" 1.2 } Item "the air strike" Item "the b.a.s.e. jumper" Item "worms gear" Item "Veteran's Attire" } TFBot { ClassIcon scout_para Health 125 Name "ParaTrooper Scout" Scale 1.0 Class Scout Skill Normal MaxVisionRange 1000 WeaponRestrictions PrimaryOnly Attributes "HoldFireUntilFullReload" Item "the back scatter" Item "the b.a.s.e. jumper" Item "loyalty reward" } TFBot { ClassIcon pyro_para Health 175 Name "ParaTrooper Pyro" Scale 1.0 Class Pyro Skill Normal MaxVisionRange 1000 WeaponRestrictions PrimaryOnly Item "the degreaser" Item "the b.a.s.e. jumper" Item "loyalty reward" } TFBot { ClassIcon heavy_para Health 300 Name ParaWeapons Scale 1.0 Class HeavyWeapons Skill Normal MaxVisionRange 1000 WeaponRestrictions PrimaryOnly Item "the brass beast" Item "the b.a.s.e. jumper" Item "loyalty reward" } TFBot { ClassIcon sniper_bow_para Health 125 Name "ParaTrooper Bowman" Scale 1.0 Class Sniper Skill Normal MaxVisionRange 1000 WeaponRestrictions PrimaryOnly ItemAttributes { ItemName "the fortified compound" "damage bonus" 0.5 } Item "the fortified compound" Item "the b.a.s.e. jumper" Item "loyalty reward" } TFBot { ClassIcon sniper_para Health 125 Name "ParaTrooper Sniper" Scale 1.0 Class Sniper Skill Normal MaxVisionRange 1000 WeaponRestrictions SecondaryOnly Item "the cleaner's carbine" Item "the b.a.s.e. jumper" Item "loyalty reward" } TFBot { ClassIcon scout_pistol_nys Health 125 Name "ParaTrooper Pistol Scout" Scale 1.0 Class Scout Skill Normal MaxVisionRange 1000 WeaponRestrictions SecondaryOnly Item "ttg max pistol" Item "the b.a.s.e. jumper" Item "loyalty reward" } } } } Wave // Wave 2, Credits: 1200 { WaitWhenDone 65 Checkpoint Yes StartWaveOutput { Target wave_start_relay_classic Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } WaveSpawn { Name "Common 1" StartWaveWarningSound "music/hl2_song31.mp3" TotalCurrency 100 TotalCount 24 MaxActive 10 SpawnCount 2 WaitBeforeStarting 0.5 WaitBetweenSpawns 3 Where spawnbot_center TFBot { ClassIcon pyro Health 175 Name Pyro Scale 1.0 Class Pyro Skill easy MaxVisionRange 500 WeaponRestrictions PrimaryOnly } } WaveSpawn { Name "Common 2" WaitForAllSpawned "Common 1" TotalCurrency 100 TotalCount 24 MaxActive 10 SpawnCount 2 WaitBeforeStarting 0.5 WaitBetweenSpawns 3 Where spawnbot_left Where spawnbot_right TFBot { ClassIcon pyro_scorch Health 175 Name "Scorch Shot Pyro" Scale 1.0 Class Pyro Skill Hard MaxVisionRange 1000 WeaponRestrictions SecondaryOnly Item "the scorch shot" Item "brigade helm" } } WaveSpawn { Name Fury TotalCurrency 50 TotalCount 20 MaxActive 20 SpawnCount 2 WaitBeforeStarting 8 WaitBetweenSpawns 8 Where spawnbot_upper Squad { TFBot { ClassIcon pyro_dragon_fury_swordstone Health 175 Name "Dragon's Fury Pyro" Scale 1.0 Class Pyro Skill Normal MaxVisionRange 1000 WeaponRestrictions PrimaryOnly Attributes "AlwaysCrit" Action Mobber Item "the dragon's fury" } TFBot { ClassIcon medic_quickfix Scale 1.0 MaxVisionRange 500 Template T_TFBot_Medic_QuickFix Item "vintage tyrolean" } } } WaveSpawn { Name "Giants 1" TotalCurrency 50 TotalCount 4 MaxActive 4 SpawnCount 2 WaitBeforeStarting 10 WaitBetweenSpawns 16 Where spawnbot_center Squad { TFBot { Scale 1.8 MaxVisionRange 1000 Template T_TFBot_Giant_Pyro Attributes "AlwaysCrit" } TFBot { ClassIcon medic_uber_armored_mort Health 450 Name "Armored Uber Medic" Scale 1.3 MaxVisionRange 500 WeaponRestrictions SecondaryOnly Template T_TFBot_Medic Item "prussian pickelhaube" } } } WaveSpawn { Name "Giants 2" WaitForAllDead "Giants 1" TotalCurrency 100 TotalCount 16 MaxActive 16 SpawnCount 4 WaitBeforeStarting 10 WaitBetweenSpawns 14 Where spawnbot_upper Squad { TFBot { ClassIcon pyro_volcano Name "Giant Fragment Pyro" Scale 1.8 MaxVisionRange 1000 WeaponRestrictions MeleeOnly Template T_TFBot_Giant_Pyro Attributes "AlwaysCrit" Item "sharpened volcano fragment" Item "spine-chilling skull 2011 style 3" } TFBot { Scale 1.0 MaxVisionRange 1000 Template T_TFBot_Demo_Burst } TFBot { Scale 1.0 MaxVisionRange 1000 Template T_TFBot_Demo_Burst } TFBot { ClassIcon medic_uber_armored_mort Health 450 Name "Armored Uber Medic" Scale 1.3 MaxVisionRange 500 WeaponRestrictions SecondaryOnly Template T_TFBot_Medic Item "prussian pickelhaube" } } } WaveSpawn { Name "Giants 3" WaitForAllSpawned "Giants 2" TotalCurrency 50 TotalCount 4 MaxActive 4 SpawnCount 4 WaitBeforeStarting 20 WaitBetweenSpawns 10 Where spawnbot_center Squad { TFBot { ClassIcon pyro_dragon_fury_swordstone_giant Name "Giant Dragon's Fury Pyro" Scale 1.8 MaxVisionRange 1000 Template T_TFBot_Giant_Pyro Item "the dragon's fury" } TFBot { ClassIcon medic_regen2 Name "Giant Regen Medic" Scale 1.8 MaxVisionRange 500 WeaponRestrictions SecondaryOnly Template T_TFBot_Giant_Medic_Regen } TFBot { Template T_TFBot_Medic_KritzKrieg } TFBot { Template T_TFBot_Medic_KritzKrieg } } } WaveSpawn { Name "Giants 4" WaitForAllSpawned "Giants 3" TotalCurrency 50 TotalCount 16 MaxActive 16 SpawnCount 4 WaitBeforeStarting 14 WaitBetweenSpawns 14 Where spawnbot_left Where spawnbot_right Squad { TFBot { Scale 1.8 MaxVisionRange 500 Template T_TFBot_Giant_Pyro Attributes "AlwaysCrit" } TFBot { ClassIcon heavy Health 300 Name HeavyWeapons Scale 1.0 Class HeavyWeapons Skill Normal MaxVisionRange 1000 WeaponRestrictions PrimaryOnly } TFBot { ClassIcon soldier Health 200 Name Soldier Scale 1.0 Class Soldier Skill Normal MaxVisionRange 1000 WeaponRestrictions PrimaryOnly } TFBot { ClassIcon demo Health 175 Name Demoman Scale 1.0 Class Demoman Skill Normal MaxVisionRange 1000 WeaponRestrictions PrimaryOnly } } } WaveSpawn { WaitBeforeStarting 0 FirstSpawnOutput { Target bignet Action runscriptcode Param " local annotation = SpawnEntityFromTable(`training_annotation`, { targetname=`annotation01`, origin=`-1779.99 624.68 186.36`, lifetime=1, display_text=`Watch out for the blimps!` }) EntFire(`annotation01`,`show`,null,0.1) " } } WaveSpawn { Name "Blimps" TotalCurrency 700 TotalCount 2 MaxActive 2 SpawnCount 1 WaitBeforeStarting 30 WaitBetweenSpawns 50 Tank { ClassIcon Blimp2_lite Health 12000 Name "Blimp" Speed 75 Template "Blimp" StartingPathTrackNode Blimp_path_1 OnKilledOutput { Target boss_dead_relay Action Trigger } OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn { Name Support WaitForAllDead "Common 2" TotalCurrency 0 TotalCount 14 MaxActive 14 SpawnCount 2 WaitBeforeStarting 1.5 WaitBetweenSpawns 3 Support 1 Where spawnbot_upper TFBot { ClassIcon scout_fast Health 125 Name "Rough Rider Scout" Scale 1.0 Class Scout Skill Hard MaxVisionRange 1000 WeaponRestrictions PrimaryOnly Attributes "AlwaysCrit" Attributes "HoldFireUntilFullReload" Item "scout beanie" Item "The Rough Rider" } } WaveSpawn { Name Bison WaitForAllDead "Common 2" TotalCurrency 0 TotalCount 3 MaxActive 3 SpawnCount 1 WaitBeforeStarting 5 WaitBetweenSpawns 5 Support 1 Where spawnbot_left Where spawnbot_right TFBot { ClassIcon soldier_bison Health 200 Name "Bison Soldier" Scale 1.0 Class Soldier Skill Normal MaxVisionRange 500 WeaponRestrictions SecondaryOnly Attributes "HoldFireUntilFullReload" Item "the righteous bison" } } } Wave // Wave 3, Credits: 1100 { WaitWhenDone 65 Checkpoint Yes StartWaveOutput { Target wave_start_relay_classic Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } WaveSpawn { Name Bowman StartWaveWarningSound "music/hl2_song16.mp3" TotalCurrency 500 TotalCount 25 MaxActive 10 SpawnCount 5 WaitBeforeStarting 4 WaitBetweenSpawns 4 Where spawnbot_center TFBot { Scale 1.0 MaxVisionRange 1000 Template T_TFBot_Sniper_Huntsman Item "larrikin robin" } } WaveSpawn { Name "Demo Giants" TotalCurrency 100 TotalCount 8 MaxActive 4 SpawnCount 2 WaitBeforeStarting 20 WaitBetweenSpawns 28 Where spawnbot_left Where spawnbot_right TFBot { ClassIcon demo_spammer Health 3300 Name "Giant Rapid Fire Demoman" Scale 1.8 Class Demoman Skill Expert MaxVisionRange 1000 WeaponRestrictions PrimaryOnly Attributes "MiniBoss" Attributes "HoldFireUntilFullReload" ItemAttributes { ItemName tf_weapon_grenadelauncher "clip size upgrade atomic" 2.5 "fire rate bonus" 0.5 "faster reload rate" 0.7 } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.5 "airblast vulnerability multiplier" 0.5 "override footstep sound set" 4 } } } WaveSpawn { Name "Giants 1" TotalCurrency 100 TotalCount 2 MaxActive 2 SpawnCount 2 WaitBeforeStarting 0 WaitBetweenSpawns 10 Where spawnbot_center Squad { TFBot { Scale 1.8 Template T_TFBot_Giant_Heavyweapons } TFBot { ClassIcon medic_regen2 Name "Giant Regen Medic" Scale 1.8 MaxVisionRange 500 WeaponRestrictions SecondaryOnly Template T_TFBot_Giant_Medic_Regen } } } WaveSpawn { Name "Giants 2" WaitForAllDead "Giants 1" TotalCurrency 100 TotalCount 2 MaxActive 2 SpawnCount 1 WaitBeforeStarting 10 WaitBetweenSpawns 18 Where spawnbot_upper TFBot { ClassIcon scout_bat_nys Name "Giant Bat Scout" Scale 1.8 MaxVisionRange 500 WeaponRestrictions MeleeOnly Template T_TFBot_Giant_Scout Attributes "AlwaysCrit" } } WaveSpawn { Name "Giants 3" WaitForAllSpawned "Giants 2" TotalCurrency 100 TotalCount 10 MaxActive 10 SpawnCount 5 WaitBeforeStarting 10 WaitBetweenSpawns 24 Where spawnbot_center Squad { TFBot { Scale 1.8 Template T_TFBot_Giant_Heavyweapons } TFBot { Scale 1.0 MaxVisionRange 500 WeaponRestrictions SecondaryOnly Template T_TFBot_Medic Item "prussian pickelhaube" } TFBot { Scale 1.0 MaxVisionRange 500 WeaponRestrictions SecondaryOnly Template T_TFBot_Medic Item "prussian pickelhaube" } TFBot { Scale 1.0 MaxVisionRange 500 WeaponRestrictions SecondaryOnly Template T_TFBot_Medic Item "prussian pickelhaube" } TFBot { Scale 1.0 MaxVisionRange 500 WeaponRestrictions SecondaryOnly Template T_TFBot_Medic Item "prussian pickelhaube" } } } WaveSpawn { Name "Support" TotalCurrency 0 TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 25 WaitBetweenSpawns 25 Support 1 Where spawnbot_upper TFBot { ClassIcon soldier_barrage Health 300 Name "Barrage Soldier" Scale 1.0 Class Soldier Skill Normal MaxVisionRange 1000 WeaponRestrictions PrimaryOnly Attributes "HoldFireUntilFullReload" ItemAttributes { ItemName tf_weapon_rocketlauncher "clip size upgrade atomic" 15 "faster reload rate" 0.5 "fire rate bonus" 0.3 "projectile spread angle penalty" 3 } Item "the diplomat" } } WaveSpawn { Name Bison WaitForAllDead Bowman TotalCurrency 100 TotalCount 10 MaxActive 10 SpawnCount 2 WaitBeforeStarting 3 WaitBetweenSpawns 3 Support 1 Where spawnbot_left Where spawnbot_right TFBot { ClassIcon soldier_bison Health 200 Name "Bison Soldier" Scale 1.0 Class Soldier Skill Normal MaxVisionRange 500 WeaponRestrictions SecondaryOnly Attributes "HoldFireUntilFullReload" Item "the righteous bison" } } WaveSpawn { Name Shortstop WaitForAllDead Bowman TotalCurrency 100 TotalCount 2 MaxActive 2 SpawnCount 1 WaitBeforeStarting 18 WaitBetweenSpawns 18 Support 1 Where spawnbot_upper TFBot { MaxVisionRange 1000 WeaponRestrictions PrimaryOnly Template T_TFBot_Scout_Shortstop } } } Wave // Wave 4 // Credits: 1200 { WaitWhenDone 65 Checkpoint Yes StartWaveOutput { Target wave_start_relay_classic Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } WaveSpawn { WaitForAllDead "Bonk Start" WaitBeforeStarting 0 FirstSpawnOutput { Target bignet Action runscriptcode Param " local annotation = SpawnEntityFromTable(`training_annotation`, { targetname=`test`, origin=`-1779.99 624.68 186.36`, lifetime=1, display_text=`Watch out for the blimps!` }) EntFire(`test`,`show`,null,0.1) " } } WaveSpawn { WaitBeforeStarting 0 FirstSpawnOutput { Target bignet Action runscriptcode Param " local annotation = SpawnEntityFromTable(`training_annotation`, { targetname=`annotation01`, origin=`375.31 1729.62 -157.19`, lifetime=1, display_text=`Watch out for wave 5!` }) EntFire(`annotation01`,`show`,null,0.1) " } } WaveSpawn { Name Supers TotalCurrency 100 TotalCount 5 MaxActive 5 SpawnCount 1 WaitBeforeStarting 20 WaitBetweenSpawns 30 Where spawnbot_upper TFBot { Scale 1.8 MaxVisionRange 500 Template T_TFBot_Giant_Scout_Fast Attributes "AlwaysCrit" } } WaveSpawn { Name "Bonk Start" TotalCurrency 50 TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 0.5 WaitBetweenSpawns 0.5 Where spawnbot_center TFBot { ClassIcon scout_bonk_scatter_nys Name "Giant Primary Bonk Scout" Scale 1.8 MaxVisionRange 500 WeaponRestrictions PrimaryOnly Template T_TFBot_Giant_Scout_Bonk Attributes "AlwaysCrit" Attributes "HoldFireUntilFullReload" } } WaveSpawn { Name "Giants 1" WaitForAllDead "Bonk Start" TotalCurrency 100 TotalCount 4 MaxActive 4 SpawnCount 2 WaitBeforeStarting 10 WaitBetweenSpawns 20 Where spawnbot_center Squad { TFBot { Scale 1.8 Template T_TFBot_Giant_Heavyweapons } TFBot { Scale 1.8 MaxVisionRange 500 Template T_TFBot_Giant_Medic Item "vintage tyrolean" } } } WaveSpawn { Name "Commons 1" StartWaveWarningSound "music/hl2_song20_submix0.mp3" WaitForAllDead "Bonk Start" TotalCurrency 50 TotalCount 24 MaxActive 10 SpawnCount 2 WaitBeforeStarting 3 WaitBetweenSpawns 3 Where spawnbot_left Where spawnbot_right TFBot { ClassIcon demo Health 175 Name Demoman Scale 1.0 Class Demoman Skill Normal MaxVisionRange 1000 WeaponRestrictions PrimaryOnly Attributes "HoldFireUntilFullReload" } } WaveSpawn { Name "Commons 1" WaitForAllDead "Bonk Start" TotalCurrency 50 TotalCount 16 MaxActive 6 SpawnCount 3 WaitBeforeStarting 5 WaitBetweenSpawns 5 Where spawnbot_center Where spawnbot_upper TFBot { ClassIcon heavy_tomislav_lite Health 300 Name TomiWeapons Scale 1.0 Class HeavyWeapons Skill Normal MaxVisionRange 1000 WeaponRestrictions PrimaryOnly Attributes "AlwaysCrit" Item "tomislav" Item "capone's capper" } } WaveSpawn { Name "Giants 2" WaitForAllDead "Giants 1" TotalCurrency 100 TotalCount 8 MaxActive 8 SpawnCount 4 WaitBeforeStarting 10 WaitBetweenSpawns 15 Where spawnbot_center Squad { TFBot { Scale 1.8 MaxVisionRange 1000 Template T_TFBot_Giant_Pyro Attributes "AlwaysCrit" } TFBot { Scale 1.0 MaxVisionRange 500 WeaponRestrictions SecondaryOnly Template T_TFBot_Medic_QuickUber Item "prussian pickelhaube" } TFBot { Scale 1.0 MaxVisionRange 500 WeaponRestrictions SecondaryOnly Template T_TFBot_Medic_QuickUber Item "prussian pickelhaube" } TFBot { Scale 1.0 MaxVisionRange 500 WeaponRestrictions SecondaryOnly Template T_TFBot_Medic_QuickUber Item "prussian pickelhaube" } } } WaveSpawn { Name "Commons 2" WaitForAllSpawned "Commons 1" TotalCurrency 50 TotalCount 16 MaxActive 10 SpawnCount 2 WaitBeforeStarting 3 WaitBetweenSpawns 3 Where spawnbot_upper TFBot { ClassIcon scout_wrap_lite Scale 1.0 Skill Hard MaxVisionRange 1000 Template T_TFBot_Scout_Wrap_Assassin Attributes "AlwaysCrit" } } WaveSpawn { Name "Giants 3" WaitForAllSpawned "Giants 2" TotalCurrency 100 TotalCount 16 MaxActive 16 SpawnCount 4 WaitBeforeStarting 5 WaitBetweenSpawns 14 Where spawnbot_upper Squad { TFBot { ClassIcon demo_burst_giant Health 3000 Name "Giant Burst Fire Demoman" Scale 1.8 Class Demoman Skill Normal MaxVisionRange 1000 WeaponRestrictions PrimaryOnly Attributes "MiniBoss" Attributes "HoldFireUntilFullReload" ItemAttributes { ItemName tf_weapon_grenadelauncher "clip size upgrade atomic" 7 "fire rate bonus" 0.1 "faster reload rate" 0.5 } CharacterAttributes { "move speed bonus" 0.5 "airblast vulnerability multiplier" 0.5 "damage force reduction" 0.5 "override footstep sound set" 4 } } TFBot { Scale 1.0 MaxVisionRange 1000 WeaponRestrictions PrimaryOnly Template T_TFBot_Soldier_Extended_Buff_Banner Item "defiant spartan" } TFBot { Scale 1.0 MaxVisionRange 1000 WeaponRestrictions PrimaryOnly Template T_TFBot_Soldier_Extended_Buff_Banner Item "defiant spartan" } TFBot { ClassIcon medic_uber_armored_mort Health 450 Name "Armored Uber Medic" Scale 1.3 MaxVisionRange 500 WeaponRestrictions SecondaryOnly Template T_TFBot_Medic Item "prussian pickelhaube" } } } WaveSpawn { Name "Giants 4" FirstSpawnWarningSound "vo/mvm/mght/heavy_mvm_m_battlecry04.mp3" WaitForAllSpawned "Giants 3" TotalCurrency 0 TotalCount 5 MaxActive 5 SpawnCount 5 WaitBeforeStarting 5 WaitBetweenSpawns 5 Where spawnbot_center Squad { TFBot { Scale 1.8 Template T_TFBot_Giant_Heavyweapons_Deflector } TFBot { Template T_TFBot_Giant_Medic_KritzKrieg } TFBot { Template T_TFBot_Furnace_Heavy } TFBot { Template T_TFBot_Igniter_Soldier } TFBot { Template T_TFBot_Furnace_Heavy } } } WaveSpawn { WaitForAllSpawned "Giants 3" WaitBeforeStarting 0 FirstSpawnOutput { Target bignet Action runscriptcode Param " local annotation = SpawnEntityFromTable(`training_annotation`, { targetname=`annotation01`, origin=`-713.86 4365.01 32.73`, lifetime=1, display_text=`Strong Deflector Squad Incoming!` }) EntFire(`annotation01`,`show`,null,0.1) " } } WaveSpawn { Name "Finale Blimps" WaitForAllDead "Bonk Start" TotalCurrency 500 TotalCount 2 MaxActive 2 SpawnCount 1 WaitBeforeStarting 30 WaitBetweenSpawns 60 Tank { ClassIcon Blimp2_lite Health 18000 Name "Blimp" Speed 75 Template "Blimp" StartingPathTrackNode Blimp_path_1 OnKilledOutput { Target boss_dead_relay Action Trigger } OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn { Name Support WaitForAllDead "Commons 2" TotalCurrency 100 TotalCount 10 MaxActive 10 SpawnCount 2 WaitBeforeStarting 3 WaitBetweenSpawns 3 Support 1 Where spawnbot_center TFBot { ClassIcon scout_spammer Health 125 Name "Rapid Fire Scout" Scale 1.0 Class Scout Skill Normal MaxVisionRange 1000 WeaponRestrictions PrimaryOnly Attributes "AlwaysCrit" Attributes "HoldFireUntilFullReload" ItemAttributes { ItemName tf_weapon_scattergun "clip size bonus" 1.5 "fire rate bonus" 0.7 "faster reload rate" 0.9 } Item "ye olde baker boy" } } WaveSpawn { Name "Support 2" WaitForAllDead "Commons 2" TotalCurrency 0 TotalCount 9 MaxActive 9 SpawnCount 3 WaitBeforeStarting 8 WaitBetweenSpawns 8 Support 1 Where spawnbot_center TFBot { ClassIcon heavy Health 300 Name HeavyWeapons Scale 1.0 Class HeavyWeapons Skill Normal MaxVisionRange 1000 WeaponRestrictions PrimaryOnly } } WaveSpawn { Name Engi TotalCurrency 0 TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 50 WaitBetweenSpawns 50 Support 1 Where spawnbot_upper TFBot { Scale 1.0 MaxVisionRange 500 Template T_TFBot_Engineer_Sentry_Tele_Battle } } } Wave // Final wave // Credits: 1400 { WaitWhenDone 65 Checkpoint Yes StartWaveOutput { Target wave_start_relay_classic Action Trigger } InitWaveOutput { Target "PT_Wave5_Logic" Action ForceSpawn } DoneOutput { Target wave_finished_relay Action Trigger } Explanation { Line "The robots spawn closer this wave" Line "Use your thinking to Come up with a way to beat it" } WaveSpawn { Name "Super Start" FirstSpawnWarningSound "mvmthemes/thunderdrumdance.mp3" TotalCurrency 0 TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 0.5 WaitBetweenSpawns 10 Where "spawnbot_final1" TFBot { Scale 1.8 MaxVisionRange 1000 Template T_TFBot_Giant_Scout_Fast } } WaveSpawn { Name "Gscouts" TotalCurrency 200 TotalCount 4 MaxActive 2 SpawnCount 2 WaitBeforeStarting 30 WaitBetweenSpawns 30 Where spawnbot_final2 TFBot { Scale 1.8 MaxVisionRange 1000 Template T_TFBot_Giant_Scout Attributes "AlwaysCrit" } } WaveSpawn { Name "GRapid fire" TotalCurrency 200 TotalCount 8 MaxActive 8 SpawnCount 2 WaitBeforeStarting 8 WaitBetweenSpawns 16 Where spawnbot_final1 Squad { TFBot { ClassIcon soldier_spammer Name "Giant Rapid Fire Soldier" Scale 1.8 MaxVisionRange 1000 Template T_TFBot_Giant_Soldier Attributes "AlwaysCrit" ItemAttributes { ItemName tf_weapon_rocketlauncher "fire rate bonus" 0.5 "faster reload rate" 0.7 "clip size upgrade atomic" 2.5 } Item "soldier's stash" } TFBot { Scale 1.0 MaxVisionRange 500 WeaponRestrictions SecondaryOnly Template T_TFBot_Medic_QuickUber Item "prussian pickelhaube" } } } WaveSpawn { Name "Rocket Rain" WaitForAllSpawned "Grapid Fire" TotalCurrency 0 TotalCount 4 MaxActive 4 SpawnCount 2 WaitBeforeStarting 8 WaitBetweenSpawns 16 Where spawnbot_final2 Squad { TFBot { ClassIcon soldier_rocketrain Health 4000 Name "Giant Rocket Rain Soldier" Scale 1.8 MaxVisionRange 1000 Template T_TFBot_Giant_Soldier ItemAttributes { ItemName tf_weapon_rocketlauncher "fire rate bonus" 0.001 "clip size upgrade atomic" 40 "Projectile speed increased" 0.7 "projectile spread angle penalty" 10 "faster reload rate" 0.5 } Item "steel shako" } TFBot { ClassIcon medic_uber_armored_mort Health 450 Name "Armored Uber Medic" Scale 1.3 MaxVisionRange 500 WeaponRestrictions SecondaryOnly Template T_TFBot_Medic Item "prussian pickelhaube" } } } WaveSpawn { Name "Grenade Rain" WaitForAllSpawned "Rocket Rain" TotalCurrency 0 TotalCount 2 MaxActive 2 SpawnCount 2 WaitBeforeStarting 15 WaitBetweenSpawns 15 Where spawnbot_final2 Squad { TFBot { ClassIcon demo_scatter_hyper Health 4000 Name "Giant Grenade Rain Demoman" Scale 1.8 Class Demoman Skill Expert MaxVisionRange 1000 WeaponRestrictions PrimaryOnly Attributes "HoldFireUntilFullReload" Attributes "MiniBoss" ItemAttributes { ItemName "the iron bomber" "fire rate bonus" 0.001 "clip size upgrade atomic" 40 "projectile spread angle penalty" 10 "faster reload rate" 0.5 } CharacterAttributes { "move speed bonus" 0.5 "airblast vulnerability multiplier" 0.5 "damage force reduction" 0.5 "override footstep sound set" 4 } Item "the iron bomber" Item "scotch bonnet" } TFBot { ClassIcon medic_uber_armored_mort Health 450 Name "Armored Uber Medic" Scale 1.3 MaxVisionRange 500 WeaponRestrictions SecondaryOnly Template T_TFBot_Medic Item "prussian pickelhaube" } } } WaveSpawn { Name "Giants 1" TotalCurrency 200 TotalCount 5 MaxActive 5 SpawnCount 1 WaitBeforeStarting 8 WaitBetweenSpawns 12 Where spawnbot_final1 TFBot { Scale 1.8 Template T_TFBot_Giant_Heavyweapons } } WaveSpawn { Name "Giants 2" WaitForAllSpawned "Giants 1" TotalCurrency 100 TotalCount 4 MaxActive 4 SpawnCount 2 WaitBeforeStarting 10 WaitBetweenSpawns 18 Where spawnbot_final2 Squad { TFBot { ClassIcon pyro_dragon_fury_swordstone_giant Name "Giant Dragons Fury Pyro" Scale 1.8 MaxVisionRange 1000 Template T_TFBot_Giant_Pyro Attributes "AlwaysCrit" Item "the dragon's fury" } TFBot { Scale 1.8 MaxVisionRange 500 Template T_TFBot_Giant_Medic Item "vintage tyrolean" } } } WaveSpawn { Name "Giants 3" WaitForAllDead "Giants 2" TotalCurrency 100 TotalCount 8 MaxActive 8 SpawnCount 2 WaitBeforeStarting 5 WaitBetweenSpawns 8 Where spawnbot_final2 TFBot { ClassIcon soldier_directhit_buff Name "Giant DH Battalion Soldier " Scale 1.8 MaxVisionRange 1000 Template T_TFBot_Giant_Soldier_Extended_Battalion Item "the direct hit" Item "defiant spartan" } } WaveSpawn { Name "Commons 1" TotalCurrency 100 TotalCount 24 MaxActive 14 SpawnCount 2 WaitBeforeStarting 3 WaitBetweenSpawns 3 Where spawnbot_final1 TFBot { ClassIcon scout_cola_popper Name "Cola Soda Popper Scout" Scale 1.0 MaxVisionRange 1000 WeaponRestrictions PrimaryOnly Template T_TFBot_Scout_Bonk Item "the soda popper" Item "crit-a-cola" } } WaveSpawn { Name "Commons 3" WaitForAllDead "Giants 2" TotalCurrency 200 TotalCount 32 MaxActive 14 SpawnCount 2 WaitBeforeStarting 3 WaitBetweenSpawns 3 Where spawnbot_final2 RandomChoice { TFBot { ClassIcon heavy_shotgun_banner_trio_lite Name "Conch Heavy Shotgun" Scale 1.0 MaxVisionRange 1000 Template T_TFBot_Heavyweapons_Shotgun Attributes "SpawnWithFullCharge" Item "the concheror" Item "big chief" } TFBot { ClassIcon heavy_shotgun_banner_trio_lite Name "Buff Heavy Shotgun" Scale 1.0 MaxVisionRange 1000 Template T_TFBot_Heavyweapons_Shotgun Attributes "SpawnWithFullCharge" Item "the buff banner" Item "the team captain" } TFBot { ClassIcon heavy_shotgun_banner_trio_lite Health 300 Name "Buff Heavy" Scale 1.0 Class HeavyWeapons Skill Normal MaxVisionRange 1000 WeaponRestrictions PrimaryOnly Attributes "SpawnWithFullCharge" Item "the buff banner" Item "the team captain" } TFBot { ClassIcon heavy_shotgun_banner_trio_lite Health 300 Name "Conch Heavy" Scale 1.0 Class HeavyWeapons Skill Normal MaxVisionRange 1000 WeaponRestrictions PrimaryOnly Attributes "SpawnWithFullCharge" Item "the concheror" Item "big chief" } } } WaveSpawn { Name "Giants 4" WaitForAllSpawned "Giants 3" TotalCurrency 100 TotalCount 8 MaxActive 8 SpawnCount 2 WaitBeforeStarting 8 WaitBetweenSpawns 8 Where spawnbot_final1 Squad { TFBot { ClassIcon heavy_shotgun_giant WeaponRestrictions SecondaryOnly Template T_TFBot_Giant_Heavyweapons_Shotgun Attributes "AlwaysCrit" } TFBot { ClassIcon medic_uber_armored_mort Health 450 Name "Armored Uber Medic" Scale 1.3 MaxVisionRange 500 WeaponRestrictions SecondaryOnly Template T_TFBot_Medic Item "prussian pickelhaube" } } } WaveSpawn { Name "Commons 2" WaitForAllSpawned "Commons 1" TotalCurrency 200 TotalCount 19 MaxActive 9 SpawnCount 3 WaitBeforeStarting 5 WaitBetweenSpawns 5 Support Limited Where spawnbot_final2 TFBot { ClassIcon pyro Health 175 Name Pyro Scale 1.0 Class Pyro Skill Normal MaxVisionRange 1000 WeaponRestrictions PrimaryOnly Attributes "AlwaysCrit" } } WaveSpawn { Name Support WaitForAllDead "Commons 2" TotalCurrency 0 TotalCount 6 MaxActive 6 SpawnCount 1 WaitBeforeStarting 1.5 WaitBetweenSpawns 3 Support 1 Where spawnbot_upper TFBot { ClassIcon scout_fast Health 125 Name "Rough Rider Scout" Scale 1.0 Class Scout Skill Hard MaxVisionRange 1000 WeaponRestrictions PrimaryOnly Attributes "AlwaysCrit" Attributes "HoldFireUntilFullReload" Item "scout beanie" Item "The Rough Rider" } } } }