#base robot_giant_vanilla_kai.pop #base robot_standard_vanilla_kai.pop #base robot_giant_custom_kai.pop #base robot_standard_custom_kai.pop #base robot_tank_custom_rafmod_kai.pop WaveSchedule { StartingCurrency 0 RespawnWaveTime 1 CanBotsAttackWhileInSpawnRoom No AddSentryBusterWhenDamageDealtExceeds 3000 AddSentryBusterWhenKillCountExceeds 10 BodyPartScaleSpeed 10 //// PRECACHES //// //// CUSTOM WEAPONS //// CustomWeapon { "punchieboss_weapon" { OriginalItemName "TF_WEAPON_ROCKETLAUNCHER" "damage bonus" 1 "custom item model" "models/weapons/c_models/c_boxing_gloves/c_boxing_gloves.mdl" "custom projectile model" models/props_halloween/hwn_spell_boxing_glove.mdl "custom weapon fire sound" "Weapon_BoxingGloves.Miss" "custom impact sound" "Weapon_BoxingGloves.HitWorld" "custom projectile size" 0.4 "explosion particle" mvm_soldier_shockwave "custom kill icon" gloves "clip size upgrade atomic" 8.0 "dmg pierces resists absorbs" 1 "mult projectile scale" 1.4 "Projectile speed increased" 0.7 "blast radius increased" 0.2 "mod projectile heat seek power" 360 "mod projectile heat aim error" 360 "mod projectile heat aim time" 0.05 } } //// POINT TEMPLATES //// PointTemplates { PunchieBoss1Logic { OnSpawnOutput { Target "thepaunch1" Action "$SetOwner" Param "!activator" Delay 0 } tf_point_weapon_mimic { "targetname" "thepaunch1" "origin" "0 20 100" "angles" "0 0 0" "teamnum" "3" "$weaponname" "punchieboss_weapon" "$firetime" "1.0" //Delay between shots for $StartFiring input } } PunchieBoss2Logic { OnSpawnOutput { Target "thepaunch2" Action "$SetOwner" Param "!activator" Delay 0 } tf_point_weapon_mimic { "targetname" "thepaunch2" "origin" "0 20 100" "angles" "0 0 0" "teamnum" "3" "$weaponname" "punchieboss_weapon" "$firetime" "1.0" //Delay between shots for $StartFiring input } } RNGTank //a tank that changes color { NoFixup 1 logic_timer { "targetname" "tank_color_timer" "RefireTime" "0.05" "spawnflags" "0" "StartDisabled" "0" "UseRandomTime" "0" "OnTimer" "tank_color_state,GetValue,,0,-1" } math_counter { "targetname" "tank_color_state" "startvalue" "1" "min" "1" "max" "3" "OnGetValue" "tank_color_changecase,InValue,,0,-1" } logic_case { "targetname" "tank_color_changecase" "Case01" "1" "Case02" "2" "Case03" "3" "OnCase01" "tank_color_rg,Add,5,0,-1" "OnCase02" "tank_color_gb,Add,5,0,-1" "OnCase03" "tank_color_br,Add,5,0,-1" } math_counter { "targetname" "tank_color_rg" "StartDisabled" "0" "startvalue" "0" "min" "0" "max" "255" "OutValue" "tank_color_rg_blend,InValue,,0,-1" "OnHitMax" "tank_color_state,SetValueNoFire,2,0,-1" "OnHitMax" "!self,SetValueNoFire,0,0.01,-1" "OnHitMax" "!self,Disable,,0.02,-1" "OnHitMax" "tank_color_gb,Enable,,0.02,-1" } math_colorblend { "targetname" "tank_color_rg_blend" "spawnflags" "1" "inmin" "0" "inmax" "255" "colormin" "255 0 0" "colormax" "0 255 0" "OutColor" "rngtankboss,Color,,0,-1" } math_counter { "targetname" "tank_color_gb" "StartDisabled" "1" "startvalue" "0" "min" "0" "max" "255" "OutValue" "tank_color_gb_blend,InValue,,0,-1" "OnHitMax" "tank_color_state,SetValueNoFire,3,0,-1" "OnHitMax" "!self,SetValueNoFire,0,0.01,-1" "OnHitMax" "!self,Disable,,0.02,-1" "OnHitMax" "tank_color_br,Enable,,0.02,-1" } math_colorblend { "targetname" "tank_color_gb_blend" "spawnflags" "1" "inmin" "0" "inmax" "255" "colormin" "0 255 0" "colormax" "0 0 255" "OutColor" "rngtankboss,Color,,0,-1" } math_counter { "targetname" "tank_color_br" "StartDisabled" "1" "startvalue" "0" "min" "0" "max" "255" "OutValue" "tank_color_br_blend,InValue,,0,-1" "OnHitMax" "tank_color_state,SetValueNoFire,1,0,-1" "OnHitMax" "!self,SetValueNoFire,0,0.01,-1" "OnHitMax" "!self,Disable,,0.02,-1" "OnHitMax" "tank_color_rg,Enable,,0.02,-1" } math_colorblend { "targetname" "tank_color_br_blend" "spawnflags" "1" "inmin" "0" "inmax" "255" "colormin" "0 0 255" "colormax" "255 0 0" "OutColor" "rngtankboss,Color,,0,-1" } } } //// ROBOT TEMPLATES //// Templates { T_TFBot_Giant_Heavy_TakeThat { Name "Take That!" Class Heavy ClassIcon heavy_champ Skill Expert Health 10000 Attributes MiniBoss Attributes UseBossHealthBar WeaponRestrictions MeleeOnly UseHumanAnimations 1 SpawnTemplate "PunchieBoss1Logic" Item "The Killing Gloves of Boxing" Item "Pugilist's Protector" CharacterAttributes { "move speed penalty" 0.5 "damage force reduction" 0.3 "airblast vulnerability multiplier" 0.3 "override footstep sound set" 2 } ItemAttributes { ItemName "The Killing Gloves of Boxing" "fire rate bonus" 0.6 "fire input on attack" "thepaunch1^firemultiple^1" "fire input on kill" "!activator^$taunt" } } T_TFBot_Giant_Heavy_AndThis { Name "And This!" Class Heavy ClassIcon heavy_champ_flipped Skill Expert Health 10000 Attributes MiniBoss Attributes UseBossHealthBar WeaponRestrictions MeleeOnly UseHumanAnimations 1 SpawnTemplate "PunchieBoss2Logic" Item "The Killing Gloves of Boxing" Item "Pugilist's Protector" CharacterAttributes { "move speed penalty" 0.5 "damage force reduction" 0.3 "airblast vulnerability multiplier" 0.3 "override footstep sound set" 2 } ItemAttributes { ItemName "The Killing Gloves of Boxing" "fire rate bonus" 0.6 "fire input on attack" "thepaunch2^firemultiple^1" "fire input on kill" "!activator^$taunt" } } T_TFBot_Soldier_Shovel { Name "Shovel Soldier" Class Soldier ClassIcon soldier_shovel WeaponRestrictions MeleeOnly } T_TFBot_Demoman_Stickybomb_Spammer { Name "Rapid Fire Stickybomb Demoman" Class Demoman ClassIcon demo_stickybomb_spammer_kai Skill Expert Health 525 Scale 1.3 WeaponRestrictions SecondaryOnly ItemAttributes { ItemName "TF_WEAPON_GRENADELAUNCHER" "is_passive_weapon" 1 "override projectile type" 27.0 } ItemAttributes { ItemName "TF_WEAPON_PIPEBOMBLAUNCHER" "fire rate bonus" 0.75 "faster reload rate" 0.001 "stickybomb charge rate" 0.01 "projectile range decreased" 0.35 "max pipebombs decreased" -7 } } T_TFBot_Engineer_Widowmaker { Name "Widowmaker Engineer" Class Engineer ClassIcon engineer_widowmaker_nys WeaponRestrictions PrimaryOnly Action FetchFlag Item "The Widowmaker" } T_TFBot_Giant_Engineer_Gigamaxxing { Name "Chief Giga-Shotgun Engineer" Class Engineer ClassIcon engineer_frontier_justice_nys Skill Expert Health 17500 Scale 2 Attributes MiniBoss Attributes UseBossHealthBar Attributes HoldFireUntilFullReload Attributes AlwaysCrit WeaponRestrictions PrimaryOnly Action FetchFlag Item "The Frontier Justice" CharacterAttributes { "move speed penalty" 0.5 "damage force reduction" 0.6 "airblast vulnerability multiplier" 0.6 } ItemAttributes { ItemName "The Frontier Justice" "damage bonus" 15 "fire rate bonus" 2 "faster reload rate" 0.75 "override projectile type" 12 "mult projectile count" 15 "ignores other projectiles" 1 "projectile spread angle penalty" 3 "projectile acceleration" 50000 "projectile acceleration start time" 2 "projectile trail particle" "flare_glow" } } T_TFBot_Giant_Demoman_GrenadeShotgun { Name "Giant Grenade Shotgun Demoman" Class Demoman ClassIcon demo_grenadeshotgun Skill Expert Health 3500 Attributes MiniBoss Attributes HoldFireUntilFullReload WeaponRestrictions PrimaryOnly CharacterAttributes { "move speed penalty" 0.5 "damage force reduction" 0.5 "airblast vulnerability multiplier" 0.5 "override footstep sound set" 4 } ItemAttributes { ItemName "TF_WEAPON_GRENADELAUNCHER" "damage bonus" 1.5 "mult projectile count" 4 "projectile spread angle penalty" 3 "faster reload rate" 0.5 } } T_TFBot_Pyro_Airblast { Class Pyro ClassIcon pyro_reflect_daan Skill Expert WeaponRestrictions PrimaryOnly Item "Traffic Cone" } T_TFBot_Giant_Demoman_IronBomber_Barrage { Name "Giant Iron Barrage Demoman" Class Demoman ClassIcon demo_scatter_giant Skill Expert Health 4000 Attributes MiniBoss Attributes HoldFireUntilFullReload WeaponRestrictions PrimaryOnly Item "The Iron Bomber" CharacterAttributes { "move speed penalty" 0.4 "damage force reduction" 0.5 "airblast vulnerability multiplier" 0.5 "override footstep sound set" 4 } ItemAttributes { ItemName "The Iron Bomber" "fire rate bonus" 0.2 "faster reload rate" 0.22 "clip size upgrade atomic" 26.0 "projectile speed decreased" 0.6 "projectile spread angle penalty" 5 } } } //// MISSION BOTS //// Mission // Sentry Buster { Objective DestroySentries Where spawnbot_mission_sentrybuster BeginAtWave 1 RunForThisManyWaves 10 InitialCooldown 30 CooldownTime 30 DesiredCount 1 TFBot { Template T_TFBot_SentryBuster } } Mission // Sniper (Wave 3) { Objective Sniper Where spawnbot_mission_sniper Where spawnbot_mission_sniper2 BeginAtWave 3 RunForThisManyWaves 1 InitialCooldown 5 CooldownTime 35 DesiredCount 3 TFBot { Template T_TFBot_Sniper } } Mission // Sniper (Wave 5) { Objective Sniper Where spawnbot_mission_sniper BeginAtWave 5 RunForThisManyWaves 1 InitialCooldown 5 CooldownTime 30 DesiredCount 1 TFBot { Template T_TFBot_Sniper } } Mission // Spy (Wave 5) { Objective Spy Where spawnbot_mission_spy BeginAtWave 5 RunForThisManyWaves 1 InitialCooldown 5 CooldownTime 30 DesiredCount 1 TFBot { Template T_TFBot_Spy } } //// WAVES //// // Wave 1 Notes // Wave { InitWaveOutput { Target BigNet Action RunScriptCode Param " EntFire(`bombpath_choose_left_relay`, `Trigger`) EntFire(`weather_rain_relay`, `Trigger`) " } StartWaveOutput { Target BigNet Action RunScriptCode Param " EntFire(`wave_start_relay`, `Trigger`) " } DoneOutput { Target BigNet Action RunScriptCode Param " EntFire(`wave_finished_relay`, `Trigger`) " } // Subwave 1 WaveSpawn // Punchie Boss { Name "Wave1_Subwave1_BOSSTIME" Where spawnbot_left TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 0 TotalCurrency 100 FirstSpawnWarningSound "mvm/giant_heavy/giant_heavy_entrance.wav" LastSpawnWarningSound "vo/mvm/mght/heavy_mvm_m_battlecry02.mp3" TFBot { Template T_TFBot_Giant_Heavy_TakeThat } } WaveSpawn // Punchie Boss { Name "Wave1_Subwave1_BOSSTIME" Where spawnbot_right TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 0 TotalCurrency 100 LastSpawnWarningSound "vo/mvm/mght/heavy_mvm_m_battlecry04.mp3" TFBot { Template T_TFBot_Giant_Heavy_AndThis } } WaveSpawn // Support Bat Scouts { Name "Wave1_Subwave1_BatScouts" WaitForAllSpawned "Wave1_Subwave1_BOSSTIME" Where spawnbot_invasion Support 1 TotalCount 50 MaxActive 3 SpawnCount 2 WaitBeforeStarting 10 WaitBetweenSpawns 3 TotalCurrency 50 TFBot { Template T_TFBot_Scout_Melee } } WaveSpawn // Support Shotgun Pyros { Name "Wave1_Support_ShotgunPyros" WaitForAllSpawned "Wave1_Subwave1_BOSSTIME" Where spawnbot_invasion Support 1 TotalCount 50 MaxActive 3 SpawnCount 2 WaitBeforeStarting 20 WaitBetweenSpawns 3 TotalCurrency 50 TFBot { Template T_TFBot_Pyro_Shotgun Skill Easy } } // Subwave 2 WaveSpawn // 1 GDemo and 4 Heavies { Name "Wave1_Subwave2_GDemo" WaitForAllDead "Wave1_Subwave1_BOSSTIME" Where spawnbot TotalCount 5 MaxActive 5 SpawnCount 5 WaitBeforeStarting 0 WaitBetweenSpawns 0 TotalCurrency 100 Squad { TFBot { Template T_TFBot_Giant_Demoman } TFBot { Class Heavy Skill Easy } TFBot { Class Heavy Skill Easy } TFBot { Class Heavy Skill Easy } TFBot { Class Heavy Skill Easy } } } WaveSpawn // 4 Pyros { Name "Wave1_Subwave2_Pyros" WaitForAllSpawned "Wave1_Subwave2_GDemo" Where spawnbot_left Where spawnbot_right TotalCount 4 MaxActive 4 SpawnCount 2 WaitBeforeStarting 3 WaitBetweenSpawns 5 TotalCurrency 20 TFBot { Class Pyro Skill Expert Attributes AlwaysFireWeapon } } WaveSpawn // 1 GDemo and 4 Heavies { Name "Wave1_Subwave2_GDemo2" WaitForAllSpawned "Wave1_Subwave2_GDemo" Where spawnbot TotalCount 5 MaxActive 5 SpawnCount 5 WaitBeforeStarting 12 WaitBetweenSpawns 0 TotalCurrency 100 Squad { TFBot { Template T_TFBot_Giant_Demoman } TFBot { Class Heavy Skill Easy } TFBot { Class Heavy Skill Easy } TFBot { Class Heavy Skill Easy } TFBot { Class Heavy Skill Easy } } } WaveSpawn // 6 Pyros { Name "Wave1_Subwave2_Pyros2" WaitForAllSpawned "Wave1_Subwave2_GDemo2" Where spawnbot_left Where spawnbot_right TotalCount 6 MaxActive 6 SpawnCount 3 WaitBeforeStarting 3 WaitBetweenSpawns 5 TotalCurrency 20 TFBot { Class Pyro Skill Expert Attributes AlwaysFireWeapon } } WaveSpawn // 1 GDemo and 4 Heavies { Name "Wave1_Subwave2_GDemo3" WaitForAllSpawned "Wave1_Subwave2_GDemo2" Where spawnbot TotalCount 5 MaxActive 5 SpawnCount 5 WaitBeforeStarting 12 WaitBetweenSpawns 0 TotalCurrency 100 Squad { TFBot { Template T_TFBot_Giant_Demoman } TFBot { Class Heavy Skill Easy } TFBot { Class Heavy Skill Easy } TFBot { Class Heavy Skill Easy } TFBot { Class Heavy Skill Easy } } } WaveSpawn // 10 Soldiers { Name "Wave1_Subwave2_Soldiers" WaitForAllSpawned "Wave1_Subwave2_GDemo3" Where spawnbot TotalCount 10 MaxActive 10 SpawnCount 10 WaitBeforeStarting 3 WaitBetweenSpawns 0 TotalCurrency 260 TFBot { Class Soldier Skill Expert } } } // Wave 2 Notes Wave { InitWaveOutput { Target BigNet Action RunScriptCode Param " EntFire(`bombpath_choose_left_relay`, `Trigger`) EntFire(`weather_rain_relay`, `Trigger`) " } StartWaveOutput { Target BigNet Action RunScriptCode Param " EntFire(`wave_start_relay`, `Trigger`) " } DoneOutput { Target BigNet Action RunScriptCode Param " EntFire(`wave_finished_relay`, `Trigger`) " } // Subwave 1 WaveSpawn // 20 Shovel Soldiers { Name "Wave2_Subwave1_Diggers" Where spawnbot_invasion TotalCount 20 MaxActive 20 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 0 TotalCurrency 100 TFBot { Template T_TFBot_Soldier_Shovel Attributes AlwaysCrit } } WaveSpawn // 1 Rapid Sticky Demo and 2 Full-Uber Medics { Name "Wave2_Subwave1_RapidSticky" Where spawnbot TotalCount 3 MaxActive 3 SpawnCount 3 WaitBeforeStarting 10 WaitBetweenSpawns 0 TotalCurrency 20 Squad { TFBot { Template T_TFBot_Demoman_Stickybomb_Spammer } TFBot { Template T_TFBot_Medic_Uber } TFBot { Template T_TFBot_Medic_Uber } } } WaveSpawn // 3 Soldiers { Name "Wave2_Subwave1_Soldiers" WaitForAllSpawned "Wave2_Subwave1_RapidSticky" Where spawnbot TotalCount 3 MaxActive 3 SpawnCount 3 WaitBeforeStarting 0 WaitBetweenSpawns 0 TotalCurrency 20 TFBot { Class Soldier Skill Expert } } WaveSpawn // 1 Rapid Sticky Demo and 2 Full-Uber Medics { Name "Wave2_Subwave1_RapidSticky2" WaitForAllSpawned "Wave2_Subwave1_RapidSticky" Where spawnbot TotalCount 3 MaxActive 3 SpawnCount 3 WaitBeforeStarting 5 WaitBetweenSpawns 0 TotalCurrency 20 Squad { TFBot { Template T_TFBot_Demoman_Stickybomb_Spammer } TFBot { Template T_TFBot_Medic_Uber } TFBot { Template T_TFBot_Medic_Uber } } } WaveSpawn // 3 Soldiers { Name "Wave2_Subwave1_Soldiers2" WaitForAllSpawned "Wave2_Subwave1_RapidSticky2" Where spawnbot TotalCount 3 MaxActive 3 SpawnCount 3 WaitBeforeStarting 0 WaitBetweenSpawns 0 TotalCurrency 20 TFBot { Class Soldier Skill Expert } } WaveSpawn // 10 Shovel Soldiers { Name "Wave2_Subwave1_Diggers2" WaitForAllSpawned "Wave2_Subwave1_RapidSticky2" Where spawnbot_invasion TotalCount 10 MaxActive 10 SpawnCount 1 WaitBeforeStarting 10 WaitBetweenSpawns 0 TotalCurrency 100 TFBot { Template T_TFBot_Soldier_Shovel Attributes AlwaysCrit } } WaveSpawn // 1 Rapid Sticky Demo and 2 Full-Uber Medics { Name "Wave2_Subwave1_RapidSticky3" WaitForAllSpawned "Wave2_Subwave1_Diggers2" Where spawnbot TotalCount 3 MaxActive 3 SpawnCount 3 WaitBeforeStarting 10 WaitBetweenSpawns 0 TotalCurrency 20 Squad { TFBot { Template T_TFBot_Demoman_Stickybomb_Spammer } TFBot { Template T_TFBot_Medic_Uber } TFBot { Template T_TFBot_Medic_Uber } } } WaveSpawn // 3 Soldiers { Name "Wave2_Subwave1_Soldiers3" WaitForAllSpawned "Wave2_Subwave1_RapidSticky3" Where spawnbot TotalCount 3 MaxActive 3 SpawnCount 3 WaitBeforeStarting 0 WaitBetweenSpawns 0 TotalCurrency 20 TFBot { Class Soldier Skill Expert } } WaveSpawn // 1 Rapid Sticky Demo and 2 Full-Uber Medics { Name "Wave2_Subwave1_RapidSticky4" WaitForAllSpawned "Wave2_Subwave1_RapidSticky3" Where spawnbot TotalCount 3 MaxActive 3 SpawnCount 3 WaitBeforeStarting 5 WaitBetweenSpawns 0 TotalCurrency 20 Squad { TFBot { Template T_TFBot_Demoman_Stickybomb_Spammer } TFBot { Template T_TFBot_Medic_Uber } TFBot { Template T_TFBot_Medic_Uber } } } WaveSpawn // 3 Soldiers { Name "Wave2_Subwave1_Soldiers4" WaitForAllSpawned "Wave2_Subwave1_RapidSticky4" Where spawnbot TotalCount 3 MaxActive 3 SpawnCount 3 WaitBeforeStarting 0 WaitBetweenSpawns 0 TotalCurrency 20 TFBot { Class Soldier Skill Expert } } // Subwave 2 WaveSpawn // 1 GHeavy { Name "Wave2_Subwave2_GHeavy" WaitForAllSpawned "Wave2_Subwave1_RapidSticky4" Where spawnbot TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 15 WaitBetweenSpawns 0 TotalCurrency 60 TFBot { Template T_TFBot_Giant_Heavy } } WaveSpawn // 10 Shovel Soldiers { Name "Wave2_Subwave2_Diggers" WaitForAllSpawned "Wave2_Subwave2_GHeavy" Where spawnbot_invasion TotalCount 10 MaxActive 10 SpawnCount 1 WaitBeforeStarting 6 WaitBetweenSpawns 0 TotalCurrency 80 TFBot { Template T_TFBot_Soldier_Shovel Attributes AlwaysCrit } } WaveSpawn // 8 Demomen { Name "Wave2_Subwave2_Demomen" WaitForAllSpawned "Wave2_Subwave2_GHeavy" Where spawnbot TotalCount 8 MaxActive 8 SpawnCount 4 WaitBeforeStarting 3 WaitBetweenSpawns 6 TotalCurrency 20 TFBot { Class Demoman Skill Expert } } WaveSpawn // 1 GHeavy and 3 Soldiers { Name "Wave2_Subwave2_GHeavy2" WaitForAllSpawned"Wave2_Subwave2_GHeavy" Where spawnbot TotalCount 4 MaxActive 4 SpawnCount 4 WaitBeforeStarting 15 WaitBetweenSpawns 0 TotalCurrency 60 Squad { TFBot { Template T_TFBot_Giant_Heavy } TFBot { Class Soldier Skill Expert } TFBot { Class Soldier Skill Expert } TFBot { Class Soldier Skill Expert } } } WaveSpawn // 10 Shovel Soldiers { Name "Wave2_Subwave2_Diggers2" WaitForAllSpawned "Wave2_Subwave2_GHeavy2" Where spawnbot_invasion TotalCount 10 MaxActive 10 SpawnCount 1 WaitBeforeStarting 5 WaitBetweenSpawns 0 TotalCurrency 100 TFBot { Template T_TFBot_Soldier_Shovel Attributes AlwaysCrit } } WaveSpawn // 8 Demomen { Name "Wave2_Subwave2_Demomen2" WaitForAllSpawned "Wave2_Subwave2_GHeavy2" Where spawnbot TotalCount 8 MaxActive 8 SpawnCount 4 WaitBeforeStarting 3 WaitBetweenSpawns 6 TotalCurrency 20 TFBot { Class Demoman Skill Expert } } } // Wave 3 Notes Wave { InitWaveOutput { Target BigNet Action RunScriptCode Param " EntFire(`bombpath_choose_right_relay`, `Trigger`) EntFire(`weather_rain_relay`, `Trigger`) " } StartWaveOutput { Target BigNet Action RunScriptCode Param " EntFire(`wave_start_relay`, `Trigger`) " } DoneOutput { Target BigNet Action RunScriptCode Param " EntFire(`wave_finished_relay`, `Trigger`) " } // Subwave 1 WaveSpawn // 2 Tiny Tanks { Name "Wave3_Subwave1_TinyTank" TotalCount 2 MaxActive 2 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 5 TotalCurrency 200 FirstSpawnWarningSound "mvm/mvm_tank_start.wav" Tank { Template Tank_Tiny Health 10000 StartingPathTrackNode "tank_path_right_b1" } } WaveSpawn // 1 GBurst Soldier and 4 Burst Demos { Name "Wave3_Subwave1_GBurstSoldier" Where spawnbot TotalCount 5 MaxActive 5 SpawnCount 5 WaitBeforeStarting 5 WaitBetweenSpawns 0 TotalCurrency 40 Squad { TFBot { Template T_TFBot_Giant_Soldier_Burst ItemAttributes { ItemName "TF_WEAPON_ROCKETLAUNCHER" "fire rate bonus" 0.2 "faster reload rate" 0.4 "clip size upgrade atomic" 5.0 "projectile speed decreased" 0.9 } } TFBot { Template T_TFBot_Demoman_Burst } TFBot { Template T_TFBot_Demoman_Burst } TFBot { Template T_TFBot_Demoman_Burst } TFBot { Template T_TFBot_Demoman_Burst } } } WaveSpawn // 8 Soda Popper Scouts { Name "Wave3_Subwave1_SodaSwarm" WaitForAllSpawned "Wave3_Subwave1_GBurstSoldier" Where spawnbot_invasion TotalCount 8 MaxActive 8 SpawnCount 1 WaitBeforeStarting 2 WaitBetweenSpawns 0 TotalCurrency 20 TFBot { Template T_TFBot_Scout_Popper } } WaveSpawn // 1 GBurst Soldier and 4 Burst Demos { Name "Wave3_Subwave1_GBurstSoldier2" WaitForAllSpawned "Wave3_Subwave1_GBurstSoldier" Where spawnbot TotalCount 5 MaxActive 5 SpawnCount 5 WaitBeforeStarting 18 WaitBetweenSpawns 0 TotalCurrency 40 Squad { TFBot { Template T_TFBot_Giant_Soldier_Burst ItemAttributes { ItemName "TF_WEAPON_ROCKETLAUNCHER" "fire rate bonus" 0.2 "faster reload rate" 0.4 "clip size upgrade atomic" 5.0 "projectile speed decreased" 0.9 } } TFBot { Template T_TFBot_Demoman_Burst } TFBot { Template T_TFBot_Demoman_Burst } TFBot { Template T_TFBot_Demoman_Burst } TFBot { Template T_TFBot_Demoman_Burst } } } WaveSpawn // 8 Soda Popper Scouts { Name "Wave3_Subwave1_SodaSwarm2" WaitForAllSpawned "Wave3_Subwave1_GBurstSoldier2" Where spawnbot_invasion TotalCount 8 MaxActive 8 SpawnCount 1 WaitBeforeStarting 2 WaitBetweenSpawns 0 TotalCurrency 20 TFBot { Template T_TFBot_Scout_Popper } } WaveSpawn // 1 GBurst Soldier and 4 Burst Demos { Name "Wave3_Subwave1_GBurstSoldier3" WaitForAllSpawned "Wave3_Subwave1_GBurstSoldier2" Where spawnbot TotalCount 5 MaxActive 5 SpawnCount 5 WaitBeforeStarting 20 WaitBetweenSpawns 0 TotalCurrency 40 Squad { TFBot { Template T_TFBot_Giant_Soldier_Burst ItemAttributes { ItemName "TF_WEAPON_ROCKETLAUNCHER" "fire rate bonus" 0.2 "faster reload rate" 0.4 "clip size upgrade atomic" 5.0 "projectile speed decreased" 0.9 } } TFBot { Template T_TFBot_Demoman_Burst } TFBot { Template T_TFBot_Demoman_Burst } TFBot { Template T_TFBot_Demoman_Burst } TFBot { Template T_TFBot_Demoman_Burst } } } WaveSpawn // 8 Soda Popper Scouts { Name "Wave3_Subwave1_SodaSwarm3" WaitForAllSpawned "Wave3_Subwave1_GBurstSoldier3" Where spawnbot_invasion TotalCount 8 MaxActive 8 SpawnCount 1 WaitBeforeStarting 2 WaitBetweenSpawns 0 TotalCurrency 20 TFBot { Template T_TFBot_Scout_Popper } } WaveSpawn // 3 Deflector Heavies { Name "Wave3_Subwave1_DeflectorHeavies" WaitForAllSpawned "Wave3_Subwave1_GBurstSoldier3" Where spawnbot TotalCount 3 MaxActive 3 SpawnCount 3 WaitBeforeStarting 0 WaitBetweenSpawns 0 TotalCurrency 20 TFBot { Template T_TFBot_Heavy_Deflector } } WaveSpawn // 1 GBurst Soldier and 4 Burst Demos { Name "Wave3_Subwave1_GBurstSoldier4" WaitForAllSpawned "Wave3_Subwave1_GBurstSoldier3" Where spawnbot TotalCount 5 MaxActive 5 SpawnCount 5 WaitBeforeStarting 18 WaitBetweenSpawns 0 TotalCurrency 40 Squad { TFBot { Template T_TFBot_Giant_Soldier_Burst ItemAttributes { ItemName "TF_WEAPON_ROCKETLAUNCHER" "fire rate bonus" 0.2 "faster reload rate" 0.4 "clip size upgrade atomic" 5.0 "projectile speed decreased" 0.9 } } TFBot { Template T_TFBot_Demoman_Burst } TFBot { Template T_TFBot_Demoman_Burst } TFBot { Template T_TFBot_Demoman_Burst } TFBot { Template T_TFBot_Demoman_Burst } } } WaveSpawn // 6 Soda Popper Scouts { Name "Wave3_Subwave1_SodaSwarm4" WaitForAllSpawned "Wave3_Subwave1_GBurstSoldier4" Where spawnbot_invasion TotalCount 6 MaxActive 6 SpawnCount 1 WaitBeforeStarting 2 WaitBetweenSpawns 0 TotalCurrency 20 TFBot { Template T_TFBot_Scout_Popper } } WaveSpawn // 3 Deflector Heavies { Name "Wave3_Subwave1_DeflectorHeavies2" WaitForAllSpawned "Wave3_Subwave1_GBurstSoldier4" Where spawnbot TotalCount 3 MaxActive 3 SpawnCount 3 WaitBeforeStarting 0 WaitBetweenSpawns 0 TotalCurrency 20 TFBot { Template T_TFBot_Heavy_Deflector } } // Subwave 2 WaveSpawn // 1 GCharged Burst Soldier and 3 Deflector Heavies { Name "Wave3_Subwave2_GChargedBurst" WaitForAllSpawned "Wave3_Subwave1_GBurstSoldier4" Where spawnbot TotalCount 4 MaxActive 4 SpawnCount 4 WaitBeforeStarting 20 WaitBetweenSpawns 0 TotalCurrency 20 Squad { TFBot { Template T_TFBot_Giant_Soldier_Burst_Crit } TFBot { Template T_TFBot_Heavy_Deflector } TFBot { Template T_TFBot_Heavy_Deflector } TFBot { Template T_TFBot_Heavy_Deflector } } } WaveSpawn // 6 Burst Demos { Name "Wave3_Subwave2_BurstDemos" WaitForAllSpawned "Wave3_Subwave2_GChargedBurst" Where spawnbot_left TotalCount 6 MaxActive 6 SpawnCount 6 WaitBeforeStarting 0 WaitBetweenSpawns 0 TotalCurrency 20 TFBot { Template T_TFBot_Demoman_Burst } } WaveSpawn // 6 Soda Popper Scouts { Name "Wave3_Subwave2_SodaScouts" WaitForAllSpawned "Wave3_Subwave2_GChargedBurst" Where spawnbot_right TotalCount 6 MaxActive 6 SpawnCount 6 WaitBeforeStarting 2 WaitBetweenSpawns 0 TotalCurrency 20 TFBot { Template T_TFBot_Scout_Popper } } WaveSpawn // 1 GCharged Burst Soldier and 3 Deflector Heavies { Name "Wave3_Subwave2_GChargedBurst2" WaitForAllSpawned "Wave3_Subwave2_GChargedBurst" Where spawnbot TotalCount 4 MaxActive 4 SpawnCount 4 WaitBeforeStarting 18 WaitBetweenSpawns 0 TotalCurrency 20 Squad { TFBot { Template T_TFBot_Giant_Soldier_Burst_Crit } TFBot { Template T_TFBot_Heavy_Deflector } TFBot { Template T_TFBot_Heavy_Deflector } TFBot { Template T_TFBot_Heavy_Deflector } } } WaveSpawn // 6 Burst Demos { Name "Wave3_Subwave2_BurstDemos2" WaitForAllSpawned "Wave3_Subwave2_GChargedBurst2" Where spawnbot_left TotalCount 6 MaxActive 6 SpawnCount 6 WaitBeforeStarting 0 WaitBetweenSpawns 0 TotalCurrency 20 TFBot { Template T_TFBot_Demoman_Burst } } WaveSpawn // 6 Soda Popper Scouts { Name "Wave3_Subwave2_SodaScouts2" WaitForAllSpawned "Wave3_Subwave2_GChargedBurst2" Where spawnbot_right TotalCount 6 MaxActive 6 SpawnCount 6 WaitBeforeStarting 2 WaitBetweenSpawns 0 TotalCurrency 20 TFBot { Template T_TFBot_Scout_Popper } } } // Wave 4 Notes // Give the engie a laser pointer whenever he shoots Wave { InitWaveOutput { Target BigNet Action RunScriptCode Param " EntFire(`bombpath_choose_right_relay`, `Trigger`) EntFire(`weather_rain_relay`, `Trigger`) " } StartWaveOutput { Target BigNet Action RunScriptCode Param " EntFire(`wave_start_relay`, `Trigger`) " } DoneOutput { Target BigNet Action RunScriptCode Param " EntFire(`wave_finished_relay`, `Trigger`) " } // Subwave 1 WaveSpawn // 1 GConch Soldier and 9 Widowmaker Engineers { Name "Wave4_Subwave1_GConchSoldier" Where spawnbot_left TotalCount 10 MaxActive 10 SpawnCount 10 WaitBeforeStarting 0 WaitBetweenSpawns 0 TotalCurrency 40 Squad { TFBot { Template T_TFBot_Giant_Soldier_Extended_Concheror } TFBot { Template T_TFBot_Engineer_Widowmaker Health 275 } TFBot { Template T_TFBot_Engineer_Widowmaker Health 275 } TFBot { Template T_TFBot_Engineer_Widowmaker Health 275 } TFBot { Template T_TFBot_Engineer_Widowmaker Health 275 } TFBot { Template T_TFBot_Engineer_Widowmaker Health 275 } TFBot { Template T_TFBot_Engineer_Widowmaker Health 275 } TFBot { Template T_TFBot_Engineer_Widowmaker Health 275 } TFBot { Template T_TFBot_Engineer_Widowmaker Health 275 } TFBot { Template T_TFBot_Engineer_Widowmaker Health 275 } } } WaveSpawn // 1 GConch Soldier and 9 Widowmaker Engineers { Name "Wave4_Subwave1_GConchSoldier" Where spawnbot_right TotalCount 10 MaxActive 10 SpawnCount 10 WaitBeforeStarting 0 WaitBetweenSpawns 0 TotalCurrency 40 FirstSpawnWarningSound "vo/mvm/norm/engineer_mvm_gunslingertriplepunchfinal01.mp3" Squad { TFBot { Template T_TFBot_Giant_Soldier_Extended_Concheror } TFBot { Template T_TFBot_Engineer_Widowmaker Health 275 } TFBot { Template T_TFBot_Engineer_Widowmaker Health 275 } TFBot { Template T_TFBot_Engineer_Widowmaker Health 275 } TFBot { Template T_TFBot_Engineer_Widowmaker Health 275 } TFBot { Template T_TFBot_Engineer_Widowmaker Health 275 } TFBot { Template T_TFBot_Engineer_Widowmaker Health 275 } TFBot { Template T_TFBot_Engineer_Widowmaker Health 275 } TFBot { Template T_TFBot_Engineer_Widowmaker Health 275 } TFBot { Template T_TFBot_Engineer_Widowmaker Health 275 } } } WaveSpawn // 50 Widowmaker Engineers { Name "Wave4_Subwave1_WidowmakerHorde" WaitForAllSpawned "Wave4_Subwave1_GConchSoldier" Where spawnbot TotalCount 50 MaxActive 16 SpawnCount 2 WaitBeforeStarting 15 WaitBetweenSpawns 1 TotalCurrency 100 TFBot { Template T_TFBot_Engineer_Widowmaker Health 275 } } WaveSpawn // 1 GBattalion Soldier { Name "Wave4_Subwave1_GBattalionSoldier" WaitForAllSpawned "Wave4_Subwave1_GConchSoldier" Where spawnbot TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 25 WaitBetweenSpawns 0 TotalCurrency 20 TFBot { Template T_TFBot_Giant_Soldier_Extended_Battalion } } WaveSpawn // 1 GConch Soldier { Name "Wave4_Subwave1_GConchSoldier2" WaitForAllSpawned "Wave4_Subwave1_GConchSoldier" Where spawnbot_left TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 45 WaitBetweenSpawns 0 TotalCurrency 20 TFBot { Template T_TFBot_Giant_Soldier_Extended_Concheror } } WaveSpawn // 1 GBattalion Soldier { Name "Wave4_Subwave1_GBattalionSoldier2" WaitForAllSpawned "Wave4_Subwave1_GConchSoldier" Where spawnbot_right TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 45 WaitBetweenSpawns 0 TotalCurrency 20 TFBot { Template T_TFBot_Giant_Soldier_Extended_Battalion } } WaveSpawn // 1 Chief Giga-Shotgun Engineer { Name "Wave4_Subwave1_TheGigaEngineer" WaitForAllSpawned "Wave4_Subwave1_GConchSoldier" Where spawnbot TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 70 WaitBetweenSpawns 0 TotalCurrency 100 TFBot { Template T_TFBot_Giant_Engineer_Gigamaxxing } } // Subwave 2 WaveSpawn // 1 GRapid Demo, 1 Shield Medic and 2 GSoldiers { Name "Wave4_Subwave2_GRapidDemo" WaitForAllDead "Wave4_Subwave1_TheGigaEngineer" Where spawnbot TotalCount 4 MaxActive 4 SpawnCount 4 WaitBeforeStarting 0 WaitBetweenSpawns 0 TotalCurrency 80 Squad { TFBot { Template T_TFBot_Giant_Demoman_Spammer } TFBot { Template T_TFBot_Medic_Shield } TFBot { Template T_TFBot_Giant_Soldier } TFBot { Template T_TFBot_Giant_Soldier } } } WaveSpawn // 12 Widowmaker Engineers { Name "Wave4_Subwave2_Widowmakers" WaitForAllSpawned "Wave4_Subwave2_GRapidDemo" Where spawnbot TotalCount 12 MaxActive 12 SpawnCount 12 WaitBeforeStarting 2 WaitBetweenSpawns 0 TotalCurrency 20 TFBot { Template T_TFBot_Engineer_Widowmaker Health 275 } } WaveSpawn // 9 Soldiers { Name "Wave4_Subwave2_Soldiers" WaitForAllSpawned "Wave4_Subwave2_GRapidDemo" Where spawnbot_left Where spawnbot_right TotalCount 9 MaxActive 9 SpawnCount 3 WaitBeforeStarting 5 WaitBetweenSpawns 5 TotalCurrency 20 TFBot { Class Soldier Skill Expert } } WaveSpawn // 1 GRapid Demo, 1 Shield Medic and 2 GSoldiers { Name "Wave4_Subwave2_GRapidDemo2" WaitForAllSpawned "Wave4_Subwave2_GRapidDemo" Where spawnbot TotalCount 4 MaxActive 4 SpawnCount 4 WaitBeforeStarting 20 WaitBetweenSpawns 0 TotalCurrency 80 Squad { TFBot { Template T_TFBot_Giant_Demoman_Spammer } TFBot { Template T_TFBot_Medic_Shield } TFBot { Template T_TFBot_Giant_Soldier } TFBot { Template T_TFBot_Giant_Soldier } } } WaveSpawn // 9 Soldiers { Name "Wave4_Subwave2_Soldiers2" WaitForAllSpawned "Wave4_Subwave2_GRapidDemo2" Where spawnbot TotalCount 9 MaxActive 9 SpawnCount 9 WaitBeforeStarting 2 WaitBetweenSpawns 0 TotalCurrency 20 TFBot { Class Soldier Skill Expert } } WaveSpawn // 12 Soldiers { Name "Wave4_Subwave2_Soldiers2" WaitForAllSpawned "Wave4_Subwave2_GRapidDemo2" Where spawnbot TotalCount 12 MaxActive 10 SpawnCount 1 WaitBeforeStarting 5 WaitBetweenSpawns 1 TotalCurrency 20 TFBot { Class Soldier Skill Expert } } WaveSpawn // 1 GRapid Demo, 1 Shield Medic, 1 GConch Soldier and 1 GBattalion Soldier { Name "Wave4_Subwave2_GRapidDemo3" WaitForAllSpawned "Wave4_Subwave2_GRapidDemo2" Where spawnbot TotalCount 4 MaxActive 4 SpawnCount 4 WaitBeforeStarting 20 WaitBetweenSpawns 0 TotalCurrency 80 Squad { TFBot { Template T_TFBot_Giant_Demoman_Spammer } TFBot { Template T_TFBot_Medic_Shield } TFBot { Template T_TFBot_Giant_Soldier_Extended_Concheror } TFBot { Template T_TFBot_Giant_Soldier_Extended_Battalion } } } WaveSpawn // 12 Soldiers { Name "Wave4_Subwave2_Soldiers3" WaitForAllSpawned "Wave4_Subwave2_GRapidDemo3" Where spawnbot_left Where spawnbot_right TotalCount 12 MaxActive 12 SpawnCount 3 WaitBeforeStarting 2 WaitBetweenSpawns 3 TotalCurrency 20 TFBot { Class Soldier Skill Expert } } } // Wave 5 Notes Wave { InitWaveOutput { Target BigNet Action RunScriptCode Param " EntFire(`bombpath_choose_left_relay`, `Trigger`) EntFire(`weather_rain_relay`, `Trigger`) " } StartWaveOutput { Target BigNet Action RunScriptCode Param " EntFire(`wave_start_relay`, `Trigger`) " } DoneOutput { Target BigNet Action RunScriptCode Param " EntFire(`wave_finished_relay`, `Trigger`) " } // Subwave 1 WaveSpawn // 4 Tiny Tanks { Name "Wave5_Subwave1_TinyTankConvoy" TotalCount 4 MaxActive 4 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 5 TotalCurrency 200 Tank { Template Tank_Tiny Health 10000 StartingPathTrackNode "tank_path_left_a1" SpawnTemplate "RNGTank" } } WaveSpawn // Support Scouts { Name "Wave5_Support_Scouts" Where spawnbot_invasion Support 1 TotalCount 20 MaxActive 2 SpawnCount 2 WaitBeforeStarting 5 WaitBetweenSpawns 0 TotalCurrency 20 TFBot { Class Scout Skill Normal } } WaveSpawn // Support Direct Hit Soldiers { Name "Wave5_Support_DirectHits" Where spawnbot_invasion Support 1 TotalCount 20 MaxActive 1 SpawnCount 1 WaitBeforeStarting 5 WaitBetweenSpawns 0 TotalCurrency 20 TFBot { Name "Direct Hit Soldier" Class Soldier ClassIcon soldier_directhit_lite Skill Expert WeaponRestrictions PrimaryOnly Item "The Direct Hit" } } WaveSpawn // Support Flare Pyros { Name "Wave5_Subwave1_FlarePyros" Where spawnbot_invasion Support 1 TotalCount 20 MaxActive 2 SpawnCount 2 WaitBeforeStarting 5 WaitBetweenSpawns 0 TotalCurrency 20 TFBot { Template T_TFBot_Pyro_Flaregun Skill Expert } } WaveSpawn // Support Demomen { Name "Wave5_Support_Demomen" Where spawnbot_invasion Support 1 TotalCount 20 MaxActive 1 SpawnCount 1 WaitBeforeStarting 5 WaitBetweenSpawns 0 TotalCurrency 20 TFBot { Class Demoman Skill Expert } } WaveSpawn // Support Heavies { Name "Wave5_Support_Heavies" Where spawnbot_invasion Support 1 TotalCount 20 MaxActive 1 SpawnCount 1 WaitBeforeStarting 5 WaitBetweenSpawns 0 TotalCurrency 20 TFBot { Class Heavy Skill Normal } } WaveSpawn // Support Quick-Uber Medics { Name "Wave5_Support_UberMedics" Where spawnbot_invasion Support 1 TotalCount 20 MaxActive 1 SpawnCount 1 WaitBeforeStarting 5 WaitBetweenSpawns 0 TotalCurrency 20 TFBot { Template T_TFBot_Medic_QuickUber } } // Total MaxActive Left: 11 // Scouts = 2 // Soldiers = 1 // Pyros = 2 // Demos = 1 // Heavies = 1 // Medics = 1 // Snipers = 1 // Spies = 1 // Busters = 1 // Total = 11 WaveSpawn // 1 GShotgun Demo and 2 Airblast Pyros { Name "Wave5_Subwave1_GShotgunDemo" Where spawnbot TotalCount 3 MaxActive 3 SpawnCount 3 WaitBeforeStarting 0 WaitBetweenSpawns 0 TotalCurrency 20 Squad { TFBot { Template T_TFBot_Giant_Demoman_GrenadeShotgun } TFBot { Template T_TFBot_Pyro_Airblast } TFBot { Template T_TFBot_Pyro_Airblast } } } WaveSpawn // 16 Scouts { Name "Wave5_Subwave1_Scouts" WaitForAllSpawned "Wave5_Subwave1_GShotgunDemo" Where spawnbot Support Limited TotalCount 16 MaxActive 16 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 0 TotalCurrency 20 TFBot { Class Scout Skill Normal } } WaveSpawn // 1 GShotgun Demo and 2 Airblast Pyros { Name "Wave5_Subwave1_GShotgunDemo2" WaitForAllSpawned "Wave5_Subwave1_GShotgunDemo" Where spawnbot TotalCount 3 MaxActive 3 SpawnCount 3 WaitBeforeStarting 20 WaitBetweenSpawns 0 TotalCurrency 20 Squad { TFBot { Template T_TFBot_Giant_Demoman_GrenadeShotgun } TFBot { Template T_TFBot_Pyro_Airblast } TFBot { Template T_TFBot_Pyro_Airblast } } } WaveSpawn // 5 Heavies { Name "Wave5_Subwave1_Heavies" WaitForAllSpawned "Wave5_Subwave1_GShotgunDemo2" Where spawnbot Support Limited TotalCount 5 MaxActive 5 SpawnCount 5 WaitBeforeStarting 3 WaitBetweenSpawns 0 TotalCurrency 20 TFBot { Class Heavy Skill Normal } } WaveSpawn // 1 GShotgun Demo and 2 Airblast Pyros { Name "Wave5_Subwave1_GShotgunDemo3" WaitForAllSpawned "Wave5_Subwave1_GShotgunDemo2" Where spawnbot TotalCount 3 MaxActive 3 SpawnCount 3 WaitBeforeStarting 20 WaitBetweenSpawns 0 TotalCurrency 20 Squad { TFBot { Template T_TFBot_Giant_Demoman_GrenadeShotgun } TFBot { Template T_TFBot_Pyro_Airblast } TFBot { Template T_TFBot_Pyro_Airblast } } } WaveSpawn // 5 Direct Hit Soldiers { Name "Wave5_Subwave1_DirectHits" WaitForAllSpawned "Wave5_Subwave1_GShotgunDemo3" Where spawnbot Support Limited TotalCount 5 MaxActive 5 SpawnCount 5 WaitBeforeStarting 3 WaitBetweenSpawns 0 TotalCurrency 20 TFBot { Name "Direct Hit Soldier" Class Soldier ClassIcon soldier_directhit_lite Skill Expert WeaponRestrictions PrimaryOnly Item "The Direct Hit" } } // Subwave 2 WaveSpawn // 2 GHeavies and 4 GFury Pyros { Name "Wave5_Subwave2_GHeavy" WaitForAllSpawned "Wave5_Subwave1_GShotgunDemo3" Where spawnbot TotalCount 6 MaxActive 6 SpawnCount 3 WaitBeforeStarting 20 WaitBetweenSpawns 20 TotalCurrency 60 Squad { TFBot { Template T_TFBot_Giant_Heavy } TFBot { Template T_TFBot_Giant_Pyro_Dragon_Fury } TFBot { Template T_TFBot_Giant_Pyro_Dragon_Fury } } } } // Wave 6 Notes Wave { InitWaveOutput { Target BigNet Action RunScriptCode Param " EntFire(`bombpath_choose_right_relay`, `Trigger`) EntFire(`weather_rain_relay`, `Trigger`) " } StartWaveOutput { Target BigNet Action RunScriptCode Param " EntFire(`wave_start_relay`, `Trigger`) " } DoneOutput { Target BigNet Action RunScriptCode Param " EntFire(`wave_finished_relay`, `Trigger`) " } // Subwave 1 WaveSpawn // 1 GCharged Burst Soldier and 2 Rapid Sticky Demos { Name "Wave6_Subwave1_GChargedBurst" Where spawnbot_left TotalCount 3 MaxActive 3 SpawnCount 3 WaitBeforeStarting 0 WaitBetweenSpawns 0 TotalCurrency 60 Squad { TFBot { Template T_TFBot_Giant_Soldier_Burst_Crit } TFBot { Template T_TFBot_Demoman_Stickybomb_Spammer } TFBot { Template T_TFBot_Demoman_Stickybomb_Spammer } } } WaveSpawn // 1 GCharged Burst Soldier and 2 Rapid Sticky Demos { Name "Wave6_Subwave1_GChargedBurst" Where spawnbot_right TotalCount 3 MaxActive 3 SpawnCount 3 WaitBeforeStarting 0 WaitBetweenSpawns 0 TotalCurrency 60 Squad { TFBot { Template T_TFBot_Giant_Soldier_Burst_Crit } TFBot { Template T_TFBot_Demoman_Stickybomb_Spammer } TFBot { Template T_TFBot_Demoman_Stickybomb_Spammer } } } WaveSpawn // Support Persians { Name "Wave6_Support_Persians" WaitForAllSpawned "Wave6_Subwave1_GChargedBurst" Where spawnbot Support 1 TotalCount 40 MaxActive 6 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 2 TotalCurrency 40 TFBot { Template T_TFBot_Demoman_Knight_Persian } } WaveSpawn // Support Persians { Name "Wave6_Support_Persians" WaitForAllSpawned "Wave6_Subwave1_GChargedBurst" Where spawnbot Support 1 TotalCount 40 MaxActive 4 SpawnCount 4 WaitBeforeStarting 6 WaitBetweenSpawns 8 TotalCurrency 40 TFBot { Template T_TFBot_Demoman_Knight_Persian } } WaveSpawn // 1 GCharged Burst Soldier and 2 Rapid Sticky Demos { Name "Wave6_Subwave1_GChargedBurst2" WaitForAllSpawned "Wave6_Subwave1_GChargedBurst" Where spawnbot_left TotalCount 3 MaxActive 3 SpawnCount 3 WaitBeforeStarting 20 WaitBetweenSpawns 0 TotalCurrency 60 Squad { TFBot { Template T_TFBot_Giant_Soldier_Burst_Crit } TFBot { Template T_TFBot_Demoman_Stickybomb_Spammer } TFBot { Template T_TFBot_Demoman_Stickybomb_Spammer } } } WaveSpawn // 1 GCharged Burst Soldier and 2 Rapid Sticky Demos { Name "Wave6_Subwave1_GChargedBurst2" WaitForAllSpawned "Wave6_Subwave1_GChargedBurst" Where spawnbot_right TotalCount 3 MaxActive 3 SpawnCount 3 WaitBeforeStarting 20 WaitBetweenSpawns 0 TotalCurrency 60 Squad { TFBot { Template T_TFBot_Giant_Soldier_Burst_Crit } TFBot { Template T_TFBot_Demoman_Stickybomb_Spammer } TFBot { Template T_TFBot_Demoman_Stickybomb_Spammer } } } WaveSpawn // 1 GCharged Burst Soldier, 1 GMedic and 2 Rapid Sticky Demos { Name "Wave6_Subwave1_GChargedBurst3" WaitForAllSpawned "Wave6_Subwave1_GChargedBurst2" Where spawnbot TotalCount 4 MaxActive 4 SpawnCount 4 WaitBeforeStarting 25 WaitBetweenSpawns 0 TotalCurrency 100 Squad { TFBot { Template T_TFBot_Giant_Soldier_Burst_Crit } TFBot { Template T_TFBot_Giant_Medic_Regen } TFBot { Template T_TFBot_Demoman_Stickybomb_Spammer } TFBot { Template T_TFBot_Demoman_Stickybomb_Spammer } } } // Subwave 2 WaveSpawn // 1 Iron Barrage Demoman and 1 GMedic { Name "Wave6_Subwave2_BomberBarrage" WaitForAllSpawned "Wave6_Subwave1_GChargedBurst3" Where spawnbot TotalCount 2 MaxActive 2 SpawnCount 2 WaitBeforeStarting 25 WaitBetweenSpawns 0 TotalCurrency 100 Squad { TFBot { Template T_TFBot_Giant_Demoman_IronBomber_Barrage } TFBot { Template T_TFBot_Giant_Medic_Regen } } } WaveSpawn // 1 Iron Barrage Demoman and 1 GMedic { Name "Wave6_Subwave2_BomberBarrage2" WaitForAllSpawned "Wave6_Subwave2_BomberBarrage" Where spawnbot TotalCount 2 MaxActive 2 SpawnCount 2 WaitBeforeStarting 20 WaitBetweenSpawns 0 TotalCurrency 100 Squad { TFBot { Template T_TFBot_Giant_Demoman_IronBomber_Barrage } TFBot { Template T_TFBot_Giant_Medic_Regen } } } WaveSpawn // 1 Iron Barrage Demomen, 1 GMedic and 3 GCharged Burst Soldiers { Name "Wave6_Subwave2_BomberBarrage3" WaitForAllSpawned "Wave6_Subwave2_BomberBarrage2" Where spawnbot TotalCount 5 MaxActive 5 SpawnCount 5 WaitBeforeStarting 30 WaitBetweenSpawns 0 TotalCurrency 180 Squad { TFBot { Template T_TFBot_Giant_Demoman_IronBomber_Barrage } TFBot { Template T_TFBot_Giant_Medic_Regen } TFBot { Template T_TFBot_Giant_Soldier_Burst_Crit } TFBot { Template T_TFBot_Giant_Soldier_Burst_Crit } TFBot { Template T_TFBot_Giant_Soldier_Burst_Crit } } } } // Wave 7 Notes Wave { InitWaveOutput { Target BigNet Action RunScriptCode Param " EntFire(`bombpath_choose_left_relay`, `Trigger`) EntFire(`weather_rain_relay`, `Trigger`) " } StartWaveOutput { Target BigNet Action RunScriptCode Param " EntFire(`wave_start_relay`, `Trigger`) " } DoneOutput { Target BigNet Action RunScriptCode Param " EntFire(`wave_finished_relay`, `Trigger`) " } } // Wave 8 Notes Wave { InitWaveOutput { Target BigNet Action RunScriptCode Param " EntFire(`bombpath_choose_right_relay`, `Trigger`) EntFire(`weather_rain_relay`, `Trigger`) " } StartWaveOutput { Target BigNet Action RunScriptCode Param " EntFire(`wave_start_relay`, `Trigger`) " } DoneOutput { Target BigNet Action RunScriptCode Param " EntFire(`wave_finished_relay`, `Trigger`) " } } }