#base robot_standard.pop #base robot_giant.pop #base robot_gatebot.pop go_away_you_n'wah { StartingCurrency 1500 CanBotsAttackWhileInSpawnRoom no RespawnWaveTime 5 AddSentryBusterWhenDamageDealtExceeds 3000 AddSentryBusterWhenKillCountExceeds 15 Advanced 1 ForceHoliday 2 CustomWeapon { "DNA Gun" { Name "DNA Gun" OriginalItemName "Upgradeable TF_WEAPON_REVOLVER" "set_item_texture_wear" 0.2 "paintkit_proto_def_index" 232 "override projectile type" 5 "clip size penalty" 0.15 "fire input on hit" "popscript^$dna_gun" "add cond on hit" 36 "add cond on hit duration" 15 "special item description" "Fires a syringe that marks an enemy on hit" "special item description 2" "Upon backstabbing a marked enemy: instantly switch to its class" "special item description 3" "Backstabbing a medic gives you the ubercharge it had" } } ExtraLoadoutItems { AllowEquipOutsideSpawn 1 Spy { Secondary "DNA Gun" } } LuaScriptFile "scripts/dna_gun.lua" LuaScriptFile "scripts/boss_tavish_extras.lua" PointTemplates { buff_sniper { NoFixup 1 trigger_multiple { "targetname" "buff_radius" "filtername" "filter_blu" "spawnflags" "1" "StartDisabled" "1" "mins" "-160 -160 -450" "maxs" "160 160 450" "origin" "100 0 0" "OnStartTouch" "!activator,$AddCond,16,0,-1" "OnEndTouch" "!activator,$RemoveCond,16,0,-1" } OnSpawnOutput { Target buff_radius Action Enable Delay 1.5 } } buff_stop { NoFixup 1 trigger_multiple { "targetname" "buff_stop" "spawnflags" "1" "StartDisabled" "1" "filtername" "filter_blu" "mins" "-2880 -5000 -1800" "maxs" "2880 5000 1800" "origin" "600 4500 1200" "OnStartTouch" "!activator,$RemoveCond,16,0,-1" "OnStartTouch" "!self,Disable,,0.01,-1" } trigger_multiple { "targetname" "detect_buff_death" "spawnflags" "1" "StartDisabled" "0" "mins" "-2880 -5000 -1800" "maxs" "2880 5000 1800" "origin" "600 4500 1200" "filtername" "filter_tags" "OnEndTouch" "buff_stop,Enable,,0,-1" } filter_activator_tfteam { "TeamNum" "3" "targetname" "filter_blu" } filter_tf_bot_has_tag { "tags" "buff_giver" "require_all_tags" "0" "Negated" "1" "targetname" "filter_tags" } } toot { OnSpawnOutput { Target "!activator" Action "$PlaySound" Param "=85|weapons/buff_banner_horn_blue.wav" Delay 0.00 } } golem_spawn { NoFixup 1 KeepAlive 1 point_teleport { "target" "spawn_golem" "targetname" "tele_golem" } OnParentKilledOutput { Target tele_golem Action Teleport Delay -1 } } golem_lesser_spawn1 { NoFixup 1 KeepAlive 1 point_teleport { "target" "spawn_golem_lesser1" "targetname" "tele_golem_lesser1" } OnParentKilledOutput { Target tele_golem_lesser1 Action Teleport Delay -1 } } golem_lesser_spawn2 { NoFixup 1 KeepAlive 1 point_teleport { "target" "spawn_golem_lesser2" "targetname" "tele_golem_lesser2" } OnParentKilledOutput { Target tele_golem_lesser2 Action Teleport Delay -1 } } golem_spawns { info_player_teamspawn { "spawnflags" "32" "SpawnMode" "0" "StartDisabled" "0" "targetname" "spawn_golem_lesser2" "TeamNum" "3" } info_player_teamspawn { "spawnflags" "32" "SpawnMode" "0" "StartDisabled" "0" "targetname" "spawn_golem_lesser1" "TeamNum" "3" } info_player_teamspawn { "spawnflags" "32" "SpawnMode" "0" "StartDisabled" "0" "targetname" "spawn_golem" "TeamNum" "3" } info_player_teamspawn { "spawnflags" "511" "SpawnMode" "0" "StartDisabled" "0" "targetname" "spawn_boss" "TeamNum" "3" } } weapon_switch //shamelessly stolen to royal { NoFixup 1 logic_relay { "targetname" "combo_primary_to_secondary" "spawnflags" "2" "OnTrigger" "!self,EnableRefire,,0,-1" "OnTrigger" "!activator,$RemoveItemAttribute,fire input on hit|0,0,-1" "OnTrigger" "!activator,$WeaponSwitchSlot,1,0,-1" "OnTrigger" "!activator,$AddPlayerAttribute,disable weapon switch|1,0.01,-1" "OnTrigger" "!activator,$RemovePlayerAttribute,disable weapon switch,0.6,-1" "OnTrigger" "!activator,$WeaponSwitchSlot,0,0.61,-1" "OnTrigger" "!activator,$AddItemAttribute,fire input on hit|combo_primary_to_secondary^Trigger^|0,0.62,-1" } logic_relay { "targetname" "combo_primary_to_secondary_longhold" "spawnflags" "2" "OnTrigger" "!self,EnableRefire,,0,-1" "OnTrigger" "!activator,$RemoveItemAttribute,fire input on hit|0,0,-1" "OnTrigger" "!activator,$WeaponSwitchSlot,1,0,-1" "OnTrigger" "!activator,$AddPlayerAttribute,disable weapon switch|1,0.01,-1" "OnTrigger" "!activator,$RemovePlayerAttribute,disable weapon switch,1.5,-1" "OnTrigger" "!activator,$WeaponSwitchSlot,0,1.51,-1" "OnTrigger" "!activator,$AddItemAttribute,fire input on hit|combo_primary_to_secondary_longhold^Trigger^|0,1.52,-1" } } boss_entities { NoFixup 1 point_teleport { "target" "spawn_boss" "targetname" "tele_boss" } OnSpawnOutput { Target tele_boss Action Teleport } OnSpawnOutput { Target spawn_boss Action SetParent Param !activator } trigger_hurt { "targetname" "explodey_charge_hurt" "mins" "0 0 -200" "maxs" "200 200 0" "damagetype" "64" "damage" "100" "StartDisabled" "1" } logic_relay { "targetname" "explodey_charge_relay" "OnTrigger" "explodey_charge_hurt,Enable,,-1,-1" "OnTrigger" "explodey_charge_hurt,Disable,,0.1,-1" "OnTrigger" "explodey_charge_effect,Start,,-1,-1" "OnTrigger" "explodey_charge_effect,Stop,,0.5,-1" } info_particle_system { "targetname" "explodey_charge_effect" "effect_name" "fireSmokeExplosion" "flag_as_weather" "0" "start_active" "0" } } FakeIcon { NoFixup 1 logic_auto { "OnMapSpawn" "!self,Kill,,0,-1" "targetname" "yes" } } } Templates { T_TFBot_Giant_Demo_Pill_Wall { Template T_TFBot_Giant_Demoman ClassIcon demo_burst_homing Item "The Bolted Bombardier" Item "The HDMI Patch" Name "Giant Pill Wall Demo" ItemAttributes { ItemName TF_WEAPON_GRENADELAUNCHER "mod projectile heat seek power" 50 "mod projectile heat aim error" 360 "mod projectile heat aim time" 1 "projectile spread angle penalty" 7 "projectile acceleration" -1200 "projectile acceleration time" 1 "fire rate bonus" -1 "clip size bonus" 0.25 "Reload time decreased" 0.05 "projectile speed increased" 1.5 "fuse bonus" 2.2 "blast dmg to self increased" 0 } } T_TFBot_Kamikaze_Soldier { Class Soldier Item "The Equalizer" Taunt //Taunt periodically { Delay 10 //Time before the first taunt starts (Default: 10) Cooldown 10 //Time between each taunt (Default: 10) Repeats 0 //How many times the bot should taunt in total (Default: 0 - Infinite) IfSeeTarget 1 //When set to 1, this task activates only when the bot can see the target player (Default 0 - Always activate) } } T_TFBot_Sniper_Buff { Class Sniper Attributes AlwaysFireWeapon AddCond{Name TF_COND_OFFENSEBUFF} Name "Buff Sniper" ClassIcon sniper_buff_lite SpawnTemplate "buff_sniper" SpawnTemplate "toot" WeaponRestrictions PrimaryOnly Tag buff_giver Item "The Cozy Camper" Item "Crocodile Dandy" ItemModel { ItemName "The Cozy Camper" Model "models/weapons/c_models/c_buffpack/c_buffpack.mdl" } ItemModel { ItemName "Crocodile Dandy" Model "models/weapons/c_models/c_buffbanner/c_buffbanner.mdl" } } T_TFBot_Shield_Medic { ClassIcon medic_shield Name "Shield Medic" Class Medic Skill Expert WeaponRestrictions SecondaryOnly Attributes ProjectileShield Attributes "SpawnWithFullCharge" Attributes IgnoreEnemies ItemAttributes { ItemName "The Quick-Fix" "generate rage on heal" 2 "increase buff duration" 3 } CharacterAttributes { "bot medic uber deploy delay duration" 9999 } Item "The Quick-Fix" Item "Das Metalmeatencasen" Item "Das Naggenvatcher" } T_TFBot_Heavy_Rusher { Class Heavy Name "Heavy Rusher" Scale 1.4 Health 900 ClassIcon heavy_gru WeaponRestrictions MeleeOnly Item "Gloves of Running Urgently MvM" Item "Pugilist's Protector" } T_TFBot_Scout_Cola { Class Scout Item "Crit-a-Cola" Name "Crit-a-Cola Scout" ClassIcon scout_cola_nys Skill Normal } T_TFBot_Giant_Medic_Regen_Super //template made by Orinuse { Class Medic Name "Super Regen Medic" ClassIcon medic_giant Skill Expert Health 4500 Item "The Quick-Fix" Item "The Surgeon's Stahlhelm" Item "The Overdose" WeaponRestrictions SecondaryOnly Attributes MiniBoss Attributes IgnoreEnemies tag bot_giant tag bot_squad_member ItemAttributes { ItemName "The Overdose" "killstreak tier" 2 "killstreak idleeffect" 1 } ItemAttributes { ItemName "The Surgeon's Stahlhelm" "set item tint RGB" 3329330 // LIME "attach particle effect" 70 } ItemAttributes // 670 self heal per uber apparently, and ~5 seconds to refill uber // 670 is combined with healing penalty from under fire, guess what happens if you leave it alone { ItemName "The Quick-Fix" "killstreak tier" 1 "ubercharge rate bonus" 10 "uber duration bonus" -7 "heal rate bonus" 200 "healing received penalty" 0.05 "killstreak tier" 1 "bot medic uber health threshold" 4501 } CharacterAttributes { "move speed penalty" 0.5 "damage force reduction" 0.01 "airblast vulnerability multiplier" 0.3 "airblast vertical vulnerability multiplier" 0.5 "health drain" -3 no_duck 1 "increased jump height" 1.5 "increased air control" 2 } } T_TFBot_Sniper_Smg { Class Sniper WeaponRestrictions SecondaryOnly ClassIcon sniper_smg_tind } T_TFBot_Soldier_DH { Class Soldier Item "The Direct Hit" Item "The Reserve Shooter" Name "Combo Soldier" UseBestWeapon 1 ClassIcon soldier_directhit_lite } T_TFBot_Giant_Medic_Shotgun { Class Medic Name "Burst Crossbow Medic" Health 3000 Item "The Crusader's Crossbow" ClassIcon medic_crossbow_burst Attributes MiniBoss WeaponRestrictions PrimaryOnly Action FetchFlag //Attributes AlwaysCrit ItemAttributes { ItemName "The Crusader's Crossbow" "bleeding duration" 3 "fire rate bonus" 0.001 "clip size bonus" 5 "faster reload rate" .3 "projectile spread angle penalty" 4 //"override projectile type" 18 "move speed penalty" .35 "auto fires full clip" 1 "auto fires when full" 1 } CharacterAttributes { "override footstep sound set" 5 "airblast vulnerability multiplier" 0 } } T_TFBot_Golem { Class Heavyweapons Skill Expert WeaponRestrictions MeleeOnly Name "Golem" ClassIcon heavy_chief Health 15000 Scale 1.9 Item "War Head" Item "Fists of Steel" Attributes MiniBoss Attributes UseBossHealthBar ItemAttributes { ItemName "Fists of Steel" "damage bonus" 5 "critboost on kill" 3 } CharacterAttributes { "move speed bonus" 0.4 "damage force reduction" 0.3 "airblast vulnerability multiplier" 0.3 "override footstep sound set" 2 "airblast vertical vulnerability multiplier" 0.1 "rage giving scale" 0.1 } } T_TFBot_Golem_Lesser { Class Heavyweapons Skill Expert WeaponRestrictions MeleeOnly Name "Lesser Golem" ClassIcon heavy_chief Health 5000 Item "War Head" Item "Fists of Steel" Attributes MiniBoss ItemAttributes { ItemName "Fists of Steel" "damage bonus" 2 "critboost on kill" 3 } CharacterAttributes { "move speed bonus" 0.4 "damage force reduction" 0.3 "airblast vulnerability multiplier" 0.3 "override footstep sound set" 2 "airblast vertical vulnerability multiplier" 0.1 "rage giving scale" 0.1 } } T_TFBot_Golem_Small { Class Heavyweapons Skill Expert WeaponRestrictions MeleeOnly Name "Small Golem" ClassIcon heavy_chief Health 1000 Scale 1.4 Item "War Head" Item "Fists of Steel" ItemAttributes { ItemName "Fists of Steel" "critboost on kill" 3 } CharacterAttributes { "move speed bonus" 0.4 "damage force reduction" 0.3 "airblast vulnerability multiplier" 0.3 "airblast vertical vulnerability multiplier" 0.1 } } T_TFBot_Pyro_Dragon { Class Pyro Skill Expert Item "The Dragon's Fury" ClassIcon pyro_dragon_fury } T_TFBot_Soldier_Rocketrain { ClassIcon soldier_rocketrain_giant Health 4000 Name "Giant Rocket Rain Soldier" Class Soldier Skill Expert WeaponRestrictions PrimaryOnly Tag "bot_giant" Attributes "HoldFireUntilFullReload" Attributes "MiniBoss" ItemAttributes { ItemName tf_weapon_rocketlauncher "damage bonus" 0.75 "fire rate bonus" 0.0001 "clip size upgrade atomic" 30 "Projectile speed increased" 0.65 "faster reload rate" 0.18 "projectile spread angle penalty" 6 "blast dmg to self increased" 0 } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.4 "airblast vulnerability multiplier" 0.15 "airblast vertical vulnerability multiplier" 0.1 "override footstep sound set" 3 } } T_TFBot_Demoknight_Persian { Class Demoman Skill Expert ClassIcon demoknight_persian_nys Name "Persian Knight" Item "Sultan's Ceremonial" Item "The Splendid Screen" Item "The Persian Persuader" Item "Ali Baba's Wee Booties" WeaponRestrictions MeleeOnly ItemAttributes { ItemName "The Splendid Screen" "attack not cancel charge" 1 } ItemAttributes { ItemName "The Persian Persuader" "critboost on kill" 3 } } T_TFBot_Demo_Sticky_Shrapnel { Class Demoman Skill Expert Name "Shrapnel Demo" ClassIcon demo_sticky_daan_bleed WeaponRestrictions SecondaryOnly ItemAttributes { ItemName "TF_WEAPON_GRENADELAUNCHER" "is_passive_weapon" 1 "override projectile type" 27 // Fires nothing } ItemAttributes { ItemName "TF_WEAPON_PIPEBOMBLAUNCHER" "stickybomb charge rate" 0.001 //Demo-bot will fire Stickybomb immediately "max pipebombs decreased" -7 // 1 Stickybomb on ground allowed, will explode when another is fired "projectile range increased" 0.35 // Prevents overshooting target "bleeding duration" 5 } } T_TFBot_Giant_Enginner { Class Engineer Skill Expert Attributes MiniBoss Health 2500 Item "The Widowmaker" Action FetchFlag ItemAttributes { ItemName "The Widowmaker" "fire input on hit" "combo_primary_to_secondary_longhold^Trigger^" } } T_TFBot_Chief_Tavish_Improved { //Template T_TFBot_Chief_Tavish Class Demoman Skill Expert Name "Chief Tavish" Scale 1.9 Item "Prince Tavish's Crown" Item "The Eyelander" Item "Ali Baba's Wee Booties" Attributes MiniBoss Attributes UseBossHealthBar ClassIcon demoknight_boss_tavish Name "Chief Tavish The Undead" Item "TF_WEAPON_SPELLBOOK" Item "Voodoo Juju" Item "The Iron Bomber" Item "The Splendid Screen" Action Mobber Health 35000 SpawnTemplate boss_entities ItemAttributes { ItemName "The Eyelander" "damage bonus" 2.5 } CharacterAttributes { "boots falling stomp" 1 "attach particle effect" 3041 "move speed bonus" 0.4 "damage force reduction" 0.3 "airblast vulnerability multiplier" 0.3 "override footstep sound set" 2 "airblast vertical vulnerability multiplier" 0.1 "rage giving scale" 0.1 } EventChangeAttributes { Default { Spell //Gives specified spell to bots. { Delay 10 //Time before the first spell charges are given (Default: 10) Cooldown 15 //Time between each spell changes (Default: 10) Repeats 0 //How many times should spell charges be given in total (Default: 0 - Infinite) IfSeeTarget 0 //When set to 1, this task activates only when the bot can see the target player (Default: 0 - Always activate) Charges 1 //How many spell charges to give every time the spell is given (Default: 1) Limit 1 //How many spell charges the bot can store (Default: Same as charges given) Type "Superjump" } WeaponRestrictions MeleeOnly } Grenade { WeaponRestrictions PrimaryOnly AimOffset "0 0 200" Attributes HoldFireUntilFullReload ItemAttributes { ItemName "The Iron Bomber" "mod projectile heat seek power" 360 "mod projectile heat aim error" 360 "mod projectile heat aim time" 2.5 "projectile speed increased" 0.35 "projectile acceleration" 2000 "projectile acceleration time" 9999 "projectile acceleration start time" 3 "projectile spread angle penalty" 8 "faster reload rate" 0.65 //35% faster reload "fire rate bonus" 0.1 "clip size upgrade atomic" 10 "Projectile speed increased" 1.1 } } Pissed { WeaponRestrictions MeleeOnly ItemAttributes { ItemName "The Eyelander" "kill refills meter" 0.8 "fire input on kill" "popscript^$moreHeads" } ItemAttributes { ItemName "The Splendid Screen" "fire input on hit" "explodey_charge_relay^Trigger" "attack not cancel charge" 1 } } } ChangeAttributes { Delay 15 Repeats 1 //IfHealthBelow 20000 Name "Grenade" } ChangeAttributes { Delay 30 Repeats 1 //IfHealthBelow 7000 Name "Pissed" } } } Mission // For Wave # { Where spawnbot Objective DestroySentries BeginAtWave 1 RunForThisManyWaves 5 DesiredCount 1 InitialCooldown 20 CooldownTime 35 TFBot { Template T_TFBot_SentryBuster } } Mission // For Wave 3 { Where spawnbot Objective Spy // Engineer,Sniper,Spy,DestroySentries BeginAtWave 3 RunForThisManyWaves 1 DesiredCount 2 InitialCooldown 20 CooldownTime 30 TFBot { Template T_TFBot_Spy } } SpawnTemplate weapon_switch SpawnTemplate golem_spawns Wave // Wave 1 { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } WaveSpawn { Name "wave1a" Where spawnbot TotalCount 6 MaxActive 3 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 10 TotalCurrency 100 TFBot { Template T_TFBot_Giant_Soldier_Crit tag noflank } } WaveSpawn { Name "wave1a1" Where spawnbot_invasion TotalCount 24 MaxActive 12 SpawnCount 4 WaitBeforeStarting 5 WaitBetweenSpawns 12 TotalCurrency 100 RandomChoice { TFBot { Class Heavyweapons tag noflank } TFBot { Class Heavyweapons Item "The Brass Beast" tag noflank } TFBot { Class Heavyweapons Item "The Huo Long Heatmaker" tag noflank } TFBot { Class Heavyweapons Item "Tomislav" tag noflank } } } WaveSpawn { Name "wave1b" WaitForAllSpawned "wave1a" Where spawnbot TotalCount 4 MaxActive 2 SpawnCount 1 WaitBeforeStarting 15 WaitBetweenSpawns 14 TotalCurrency 150 TFBot { Template T_TFBot_Giant_Soldier_RocketShotgun tag noflank } } WaveSpawn { Name "wave1b1" WaitForAllSpawned "wave1a" Where spawnbot_invasion TotalCount 36 MaxActive 10 SpawnCount 6 WaitBeforeStarting 18 WaitBetweenSpawns 9 TotalCurrency 150 TFBot { Template T_TFBot_Demoman_Knight tag noflank } } WaveSpawn { Name "wave1c" WaitForAllSpawned "wave1b" Where spawnbot TotalCount 18 MaxActive 10 SpawnCount 6 WaitBeforeStarting 17 WaitBetweenSpawns 16 TotalCurrency 100 Squad { TFBot { Template T_TFBot_Giant_Heavyweapons tag noflank } TFBot { Template T_TFBot_Medic_QuickFix Attributes SpawnWithFullCharge } TFBot { Template T_TFBot_Medic_QuickFix Attributes SpawnWithFullCharge } TFBot { Template T_TFBot_Medic_QuickFix Attributes SpawnWithFullCharge } TFBot { Template T_TFBot_Medic_QuickFix Attributes SpawnWithFullCharge } TFBot { Template T_TFBot_Medic_QuickFix Attributes SpawnWithFullCharge } } } WaveSpawn { Name "wave1c1" WaitForAllSpawned "wave1b" Where spawnbot_left TotalCount 20 MaxActive 9 SpawnCount 5 WaitBeforeStarting 20 WaitBetweenSpawns 11 TotalCurrency 150 TFBot { Class Demoman Skill Normal tag noflank } } } Wave // Wave 2 { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } WaveSpawn // Tank # HP { Name "tank" TotalCount 2 MaxActive 2 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 60 TotalCurrency 0 Tank { Name "tankboss" StartingPathTrackNode "path_tank_lower" Health 20000 Speed 75 Skin 0 OnKilledOutput {} OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn { Name "wave2a" Where spawnbot TotalCount 24 MaxActive 9 SpawnCount 6 WaitBeforeStarting 6 WaitBetweenSpawns 10 TotalCurrency 200 Squad { TFBot { Template T_TFBot_Scout_Shortstop Skill Normal tag noflank } TFBot { Template T_TFBot_Sniper_Huntsman_Spammer ClassIcon sniper_bow_multi tag noflank } } } WaveSpawn { Name "wave2a1" Where spawnbot_mid TotalCount 24 MaxActive 6 SpawnCount 6 WaitBeforeStarting 6 WaitBetweenSpawns 11 TotalCurrency 50 Squad { TFBot { Template T_TFBot_Sniper_Buff tag noflank } TFBot { Class Sniper Attributes AlwaysFireWeapon ClassIcon sniper_buff_lite tag noflank } } } WaveSpawn { Name "wave2b1" WaitForAllSpawned "wave2a" Where spawnbot TotalCount 21 MaxActive 10 SpawnCount 7 WaitBeforeStarting 10 WaitBetweenSpawns 12 TotalCurrency 100 TFBot { Template T_TFBot_Heavy_Rusher } } WaveSpawn { Name "wave2b" WaitForAllSpawned "wave2a" Where spawnbot TotalCount 6 MaxActive 2 SpawnCount 1 WaitBeforeStarting 10 WaitBetweenSpawns 13 TotalCurrency 200 TFBot { Template T_TFBot_Giant_Soldier_Spammer tag noflank } } WaveSpawn { Name "wave2b2" WaitForAllSpawned "wave2a" Where spawnbot_left TotalCount 30 MaxActive 10 SpawnCount 5 WaitBeforeStarting 0 WaitBetweenSpawns 0 TotalCurrency 100 TFBot { Class Pyro Skill Expert Attributes AlwaysFireWeapon tag noflank } } WaveSpawn { Name "wave2b3" WaitForAllSpawned "wave2b1" Where spawnbot_invasion TotalCount 18 MaxActive 8 SpawnCount 6 WaitBeforeStarting 9 WaitBetweenSpawns 6 TotalCurrency 100 TFBot { Template T_TFBot_Scout_Cola tag noflank } } } Wave // Wave 3 { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } WaveSpawn { Name "wave3a1" Where spawnbot TotalCount 2 MaxActive 2 SpawnCount 2 WaitBeforeStarting 0 WaitBetweenSpawns 0 TotalCurrency 50 Squad { TFBot { Template T_TFBot_Giant_Demo_Pill_Wall tag noflank } TFBot { Template T_TFBot_Giant_Medic_Regen_Super } } } WaveSpawn { Name "wave3a" WaitForAllSpawned "wave3a1" Where spawnbot TotalCount 3 MaxActive 2 SpawnCount 1 WaitBeforeStarting 15 WaitBetweenSpawns 0 TotalCurrency 100 TFBot { Template T_TFBot_Giant_Demo_Pill_Wall tag noflank } } WaveSpawn { Name "wave3a2" Where spawnbot_mid TotalCount 21 MaxActive 9 SpawnCount 3 WaitBeforeStarting 5 WaitBetweenSpawns 4 TotalCurrency 50 TFBot { Template T_TFBot_Sniper_Smg tag noflank } } WaveSpawn { Name "wave3a3" Where spawnbot TotalCount 28 MaxActive 10 SpawnCount 7 WaitBeforeStarting 9 WaitBetweenSpawns 12 TotalCurrency 150 TFBot { Template T_TFBot_Demoman_Knight tag noflank } } WaveSpawn { Name "wave3b" WaitForAllSpawned "wave3a" Where spawnbot TotalCount 6 MaxActive 4 SpawnCount 2 WaitBeforeStarting 12 WaitBetweenSpawns 15 TotalCurrency 200 Squad { TFBot { Template T_TFBot_Giant_Soldier_RocketPush Attributes AlwaysCrit tag noflank } TFBot { Template T_TFBot_Giant_Medic_Regen_Super } } } WaveSpawn { Name "wave3b1" WaitForAllSpawned "wave3a" Where spawnbot TotalCount 20 MaxActive 8 SpawnCount 4 WaitBeforeStarting 16 WaitBetweenSpawns 10 TotalCurrency 50 TFBot { Template T_TFBot_Soldier_DH tag noflank } } WaveSpawn { Name "wave3c" WaitForAllSpawned "wave3b" Where spawnbot TotalCount 2 MaxActive 1 SpawnCount 1 WaitBeforeStarting 14 WaitBetweenSpawns 14 TotalCurrency 100 TFBot { Template T_TFBot_Heavyweapons_Heater Name "Giant Heater Heavy" tag noflank } } WaveSpawn { Name "wave3c1" WaitForAllSpawned "wave3b" Where spawnbot_invasion TotalCount 32 MaxActive 12 SpawnCount 8 WaitBeforeStarting 20 WaitBetweenSpawns 13 TotalCurrency 100 RandomChoice { TFBot { Class Pyro Skill Hard Attributes AlwaysFireWeapon } TFBot { Class Pyro Skill Hard Attributes AlwaysFireWeapon } TFBot { Class Pyro Skill Hard Attributes AlwaysFireWeapon } TFBot { Template T_TFBot_Pyro_Flaregun } TFBot { Template T_TFBot_Pyro_Flaregun } } } WaveSpawn { Name "wave3c2" WaitForAllDead "wave3b" Where spawnbot Support 1 MaxActive 10 SpawnCount 5 WaitBeforeStarting 9 WaitBetweenSpawns 13 TotalCurrency 0 TFBot { Template T_TFBot_Scout_SunStick tag noflank } } } Wave // Wave 4 { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } WaveSpawn { Name "wave4a1" Where spawnbot TotalCount 4 MaxActive 2 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 12 TotalCurrency 300 TFBot { Template T_TFBot_Giant_Medic_Shotgun tag noflank } } WaveSpawn { Name "wave4a" Where spawnbot_left TotalCount 5 MaxActive 2 SpawnCount 1 WaitBeforeStarting 5 WaitBetweenSpawns 9 TotalCurrency 300 TFBot { Template T_TFBot_Giant_Boxing_Heavy Attributes AlwaysCrit tag noflank } } WaveSpawn { Name "wave4a2" Where spawnbot_mid TotalCount 36 MaxActive 8 SpawnCount 6 WaitBeforeStarting 9 WaitBetweenSpawns 11 TotalCurrency 100 TFBot { Template T_TFBot_Demo_Burst tag noflank } } WaveSpawn // Tank # HP { Name "wave4tank" WaitForAllSpawned "wave4a" TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 10 WaitBetweenSpawns 0 TotalCurrency 100 Tank { Name "tankboss" StartingPathTrackNode "boss_path_1" Health 30000 Speed 75 Skin 0 OnKilledOutput {} OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn { Name "wave4b" WaitForAllSpawned "wave4a" Where spawnbot TotalCount 9 MaxActive 6 SpawnCount 3 WaitBeforeStarting 12 WaitBetweenSpawns 13 TotalCurrency 300 Squad { TFBot { Template T_TFBot_Giant_Heavyweapons_Shotgun tag noflank } TFBot { Template T_TFBot_Shield_Medic } TFBot { Template T_TFBot_Medic_SlowRecharge } } } WaveSpawn { Name "wave4b1" WaitForAllSpawned "wave4a" Where spawnbot_invasion TotalCount 16 MaxActive 8 SpawnCount 4 WaitBeforeStarting 16 WaitBetweenSpawns 10 TotalCurrency 200 TFBot { Template T_TFBot_Heavy_IronFist_Airblast ClassIcon heavy_steelfist_pusher } } WaveSpawn { Name "wave4c" WaitForAllSpawned "wave4b" Where spawnbot TotalCount 6 MaxActive 2 SpawnCount 1 WaitBeforeStarting 13 WaitBetweenSpawns 12 TotalCurrency 400 TFBot { Template T_TFBot_Giant_Soldier_Spammer_Reload tag noflank } } WaveSpawn { Name "wave4c1" WaitForAllSpawned "wave4b" Where spawnbot TotalCount 15 MaxActive 10 SpawnCount 5 WaitBeforeStarting 17 WaitBetweenSpawns 12 TotalCurrency 200 TFBot { Template T_TFBot_Soldier_Extended_Concheror } } WaveSpawn { Name "wave4c2" WaitForAllSpawned "wave4b" Where spawnbot_mid TotalCount 30 MaxActive 10 SpawnCount 5 WaitBeforeStarting 19 WaitBetweenSpawns 13 TotalCurrency 300 TFBot { Class Scout Skill Normal tag noflank } } WaveSpawn { Name "wave4d" WaitForAllSpawned "wave4c1" Where spawnbot TotalCount 9 MaxActive 3 SpawnCount 1 WaitBeforeStarting 9 WaitBetweenSpawns 10 TotalCurrency 300 TFBot { Template T_TFBot_Demoman_Samurai tag noflank } } } Wave // Wave 5 { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } WaveSpawn { Name "wave5boss" Where spawnbot TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 2 WaitBetweenSpawns 0 TotalCurrency 0 TFBot { Template T_TFBot_Chief_Tavish_Improved } } } }