#base robot_giant.pop #base robot_standard.pop WaveSchedule { StartingCurrency 600 CanBotsAttackWhileInSpawnRoom No RespawnWaveTime 2 AddSentryBusterWhenDamageDealtExceeds 2500 AddSentryBusterWhenKillCountExceeds 18 NoRomevisionCosmetics 1 //only gun spy used DisableSound "Announcer.MVM_Spy_Alert" DisableSound "Announcer.mvm_spybot_death" DisableSound "Announcer.mvm_spybot_death_all" // PointTemplate PointTemplates { RandomTeleport { NoFixup 1 ambient_generic { "targetname" "teleported_sound" "spawnflags" "49" "radius" "600" "message" "mvm\mvm_tele_deliver.wav" "health" "3" } logic_case { "targetname" "random_teleport" "oncase01" "!activator,$TeleportToEntity,telespot01,0,-1" "oncase01" "teleported_sound,PlaySound,,0,-1" "oncase02" "!activator,$TeleportToEntity,telespot02,0,-1" "oncase02" "teleported_sound,PlaySound,,0,-1" "oncase03" "!activator,$TeleportToEntity,telespot03,0,-1" "oncase03" "teleported_sound,PlaySound,,0,-1" "oncase04" "!activator,$TeleportToEntity,telespot04,0,-1" "oncase04" "teleported_sound,PlaySound,,0,-1" "oncase05" "!activator,$TeleportToEntity,telespot05,0,-1" "oncase05" "teleported_sound,PlaySound,,0,-1" "oncase06" "!activator,$TeleportToEntity,telespot06,0,-1" "oncase06" "teleported_sound,PlaySound,,0,-1" "oncase07" "!activator,$TeleportToEntity,telespot07,0,-1" "oncase07" "teleported_sound,PlaySound,,0,-1" "oncase08" "!activator,$TeleportToEntity,telespot08,0,-1" "oncase08" "teleported_sound,PlaySound,,0,-1" "oncase09" "!activator,$TeleportToEntity,telespot09,0,-1" "oncase09" "teleported_sound,PlaySound,,0,-1" "oncase10" "!activator,$TeleportToEntity,telespot10,0,-1" "oncase10" "teleported_sound,PlaySound,,0,-1" "oncase11" "!activator,$TeleportToEntity,telespot11,0,-1" "oncase11" "teleported_sound,PlaySound,,0,-1" } info_target { "targetname" "telespot01" "origin" "-5255.27 -120.30 -555.03" } info_target { "targetname" "telespot02" "origin" "-4628.03 -1651.59 -139.03" } info_target { "targetname" "telespot03" "origin" "-3068.74 -209.83 -400.13" } info_target { "targetname" "telespot04" "origin" "-3729.4 1762.85 229.03" } info_target { "targetname" "telespot05" "origin" "-4762.97 1975.98 555.03" } info_target { "targetname" "telespot06" "origin" "3072.91 1675.82 -180.97" } info_target { "targetname" "telespot07" "origin" "-3782.61 -779.09 -366.12" } info_target { "targetname" "telespot08" "origin" "-2160.76 -361.09 -500.97" } info_target { "targetname" "telespot09" "origin" "-2439.76 685.87 -692.97" } info_target { "targetname" "telespot10" "origin" "-2458.22 -752.6 -692.97" } info_target { "targetname" "telespot11" "origin" "-718.29 -1069.2 -820.97" } } BomberAlert { logic_relay { "targetname" "bomber_alert" "OnTrigger" "bomber_spawn_alert,Show,,0,-1" "OnTrigger" "bomber_battlecry,PlaySound,,0,-1" } training_annotation { "targetname" "bomber_spawn_alert" "display_text" "Bomber Spawned" "lifetime" "8" "origin" "-4447.45 2076.02 942.65" } ambient_generic { "targetname" "bomber_battlecry" "health" "10" "message" "soldier_mvm_go01.mp3" "spawnflags" "17" } } } SpawnTemplate "RandomTeleport" SpawnTemplate "BomberAlert" // Custom Weapons CustomWeapon { // Test weapon "crtl-A-del" { OriginalItemName "tf_weapon_rocketlauncher" "damage bonus" 10 "faster reload rate" 0.001 "clip size bonus upgrade" 99 "maxammo primary increased" 10000 "fire rate bonus" 0.05 } "Throwable Hat" { OriginalItemName "Jarate" "custom item model" models\ghostly_gibus_scout.mdl "custom projectile model" models\ghostly_gibus_scout.mdl "damage bonus HIDDEN" 15 "collect currency on kill" 1 "use robot voice" 1 "heal on kill" 5000 } "Scrap Scattergun" { OriginalItemName "TF_WEAPON_SCATTERGUN" "reload full clip at once" 1 "fire rate bonus" 0.7 "bullets per shot bonus" 2 "damage penalty" 0.8 } "Upgraded Basher" { OriginalItemName "The Boston Basher" "hit self on miss" -1 "fire rate bonus" 0.7 "bleeding duration" 3 "dmg bonus vs buildings" 5 "damage bonus" 1.4 } "Fastlander" { OriginalItemName "The Eyelander" "speed boost when active" 1.5 "minicritboost on kill" 3 } } // Testing ExtraLoadoutItems { Primary "crtl-A-del" } // Custom Bots Templates { T_TFBot_Red_Scout { Name "Red Scout" Class Scout AddCond { Name TF_COND_REPROGRAMMED } AddCond { Name TF_COND_PREVENT_DEATH} Classicon red2_lite CharacterAttributes //so it won't get one shotted { "dmg taken from fire reduced" -0.5 "dmg taken from blast reduced" -0.5 "dmg taken from bullets reduced" -0.5 "dmg taken from crit reduced" -1 } FireInput { Target !self Action $TeleportToEntity Delay 0 Cooldown 0 Repeats 99 IfHealthBelow 10 Param "spawnbot_red" } } T_TFBot_Revolver_Spy { Name "Anti-Air Revolver Spy" Class Spy ClassIcon spy_revolver_antiair Skill Easy WeaponRestrictions PrimaryOnly Attributes HoldFireUntilFullReload Action Fetchflag // Attributes AlwaysFireWeapon Item "Ghastly Gibus" CharacterAttributes { "cannot disguise" 1 // "cannot pick up intelligence" 1 } ItemAttributes { ItemName "TF_WEAPON_REVOLVER" "apply z velocity on damage" -666 // "alt-fire disabled" 1 // "disable weapon switch" 1 } } T_TFBot_Enforcer_Spy { Name "Anti-Air Enforcer Spy" Class Spy ClassIcon spy_enforcer_antiair Skill Hard WeaponRestrictions PrimaryOnly Attributes HoldFireUntilFullReload Action Fetchflag // Attributes AlwaysFireWeapon Item "The Enforcer" Item "Detective Noir" CharacterAttributes { "cannot disguise" 1 // "cannot pick up intelligence" 1 } ItemAttributes { ItemName "The Enforcer" "apply z velocity on damage" -666 } } T_TFBot_Giant_SteelFist_Heavy { Class heavyweapons Name "Giant Warrior Heavy" ClassIcon heavy_steelfist_giant Skill Expert Health 5000 Item "Fists of Steel" WeaponRestrictions MeleeOnly Attributes MiniBoss ItemAttributes { ItemName "Fists of Steel" "fire rate bonus" 0.6 "damage bonus" 1.2 } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.3 "airblast vulnerability multiplier" 0.3 "override footstep sound set" 2 } } T_TFBot_Basher_Scout_Tele { Class Scout ClassIcon scout_basher_heal_tele Skill Expert Item "The Boston Basher" Item "Bonk Boy" WeaponRestrictions MeleeOnly Action Mobber CharacterAttributes { "cannot pick up intelligence" 1 } ItemAttributes { ItemName "The Boston Basher" "hit self on miss" -1 "heal on hit for rapidfire" 20 "dmg bonus vs buildings" 4 //just in case } FireInput { Target "random_teleport*" Action "PickRandom" Delay 0 Cooldown 0 Repeats 1 IfHealthBelow 75 } } T_TFBot_quicky_Shield //taken from robot_damno.pop { Class Medic Name "Quick Fix Shield Medic" ClassIcon medic_shield_qf Skill Expert WeaponRestrictions SecondaryOnly Attributes SpawnWithFullCharge Attributes ProjectileShield ItemAttributes { ItemName "TF_WEAPON_MEDIGUN" "ubercharge rate bonus" 0.01 "generate rage on heal" 2 } CharacterAttributes { "bot medic uber deploy delay duration" 900 } } T_TFBot_Kritzkrieg_Medic //taken from robot_damno.pop { ClassIcon medic_kritz Health 150 Name "Kritz Medic" Class Medic Skill Expert WeaponRestrictions SecondaryOnly Attributes "SpawnWithFullCharge" ItemAttributes { ItemName "the kritzkrieg" "uber duration bonus" 2000 } CharacterAttributes { "bot medic uber health threshold" 500 } Item "the kritzkrieg" } T_TFBot_Giant_Soldier_Reserve_Shooter { Class Soldier Name "Giant Reserve Shooter Soldier" ClassIcon shotgun_reserve_lite_giant Skill Expert Health 3800 WeaponRestrictions SecondaryOnly MaxVisionRange 1200 Attributes MiniBoss Item "The Reserve Shooter" //Attributes HoldFireUntilFullReload ItemAttributes { ItemName "The Reserve Shooter" "fire rate bonus" 2.5 "bullets per shot bonus" 10 "damage penalty" 0.5 "faster reload rate" 0.1 } CharacterAttributes { "move speed bonus" 0.7 "damage force reduction" 0.3 "airblast vulnerability multiplier" 0.3 "override footstep sound set" 2 } } T_TFBot_Scattergun_Bonk_Scout { Class scout Skill Normal Item "Bonk! Atomic Punch" Item "Bonk Helm" ClassIcon scout_bonk } T_TFBot_Demoman_Persian { Class Demoman ClassIcon demo_persian Skill Hard Item "Sultan's Ceremonial" Item "Ali Baba's Wee Booties" Item "The Persian Persuader" Item "The Tide Turner" ItemAttributes { ItemName "The Tide Turner" "Attack not cancel charge" 1 } WeaponRestrictions MeleeOnly CharacterAttributes { "critboost on kill" 3 } } T_TFBot_Giant_Soldier_RocketPush { Class Soldier Skill Normal WeaponRestrictions PrimaryOnly Item "The Liberty Launcher" Name "Giant Blast Soldier" Health 3800 ClassIcon soldier_blast_giant Attributes HoldFireUntilFullReload Attributes MiniBoss ItemAttributes { ItemName "The Liberty Launcher" "damage causes airblast" 3 "damage bonus" .15 "fire rate bonus" 0.001 "faster reload rate" 0.9 "Blast radius decreased" 1.2 "projectile spread angle penalty" 2 } } T_TFBot_Soldier_Direct_Hit { Class Soldier Skill Hard ClassIcon soldier_directhit_lite Name "Direct Hit Soldier" Item "The Direct Hit" } T_TFBot_Giant_Scout_SunStick_Fast { Class Scout Name "Run Barry Run" ClassIcon scout_sunstick_giant Skill Expert Item "Bonk Boy" Item "Sun-on-a-Stick" Health 1200 WeaponRestrictions MeleeOnly Attributes MiniBoss CharacterAttributes { "move speed as health decreases" 3 "damage force reduction" 0.35 "airblast vulnerability multiplier" 0.35 "override footstep sound set" 5 } ItemAttributes { ItemName "Sun-on-a-Stick" "fire rate bonus" 0.75 } } T_TFBot_Bison { Class Soldier Name "Bison Soldier" Item "The Righteous Bison" ClassIcon bison WeaponRestrictions SecondaryOnly Skill Hard MaxVisionRange 2000 ItemAttributes { ItemName "The Righteous Bison" "Projectile speed increased" 1.2 "fire rate bonus" 0.3 "faster reload rate" 0.2 } } T_TFBot_Scout_Sandman_FastCharge_Mark { Class Scout Name "Hyper League Marking Scout" Skill Hard ClassIcon scout_stun_markdeath WeaponRestrictions MeleeOnly Item "The Sandman" Item "Batter's Helmet" ItemAttributes { ItemName "The Sandman" "effect bar recharge rate increased" 0.3 // "mark for death" 1 "add cond on hit" 86 "add cond on hit duration" 3 } Itemattributes { ItemName "Batter's Helmet" "set item tint RGB" 8626083 } } T_TFBot_Soldier_Airstrike { Class Soldier Health 200 Name "Airstrike Soldier" Skill Hard MaxVisionRange 2000 ClassIcon soldier_airstrike_para WeaponRestrictions PrimaryOnly AddCond { Name TF_COND_BLASTJUMPING} Item "the air strike" // Item "the b.a.s.e. jumper" Item "the market gardener" Item "armored authority" ItemAttributes { ItemName "the air strike" "cancel falling damage" 1 } CharacterAttributes { "increased jump height" 3.5 "bot custom jump particle" 1 "cannot pick up intelligence" 1 "cannot disguise" 1 } } T_TFBot_Dragon_Fury { Class Pyro Name "Dragon's Fury" ClassIcon pyro_dragon_fury WeaponRestrictions PrimaryOnly Item "The Dragon's Fury" MaxVisionRange 1200 skill Hard } T_TFBot_Heavyweapons_Deflector { Class Heavyweapons Name "Deflector Heavy" ClassIcon heavy_deflector Skill Hard Item "The U-clank-a" Item "Deflector" WeaponRestrictions PrimaryOnly MaxVisionRange 1200 ItemAttributes { ItemName "Deflector" "attack projectiles" 1 } } T_TFBot_Giant_Uber_Medic //taken from robot_damno { Class Medic ClassIcon medic_uber_giant Name "Giant Uber Medic" Skill Expert Health 4500 Attributes SpawnWithFullCharge Item "Medi Gun" WeaponRestrictions SecondaryOnly Attributes MiniBoss ItemAttributes { ItemName "tf_weapon_medigun" "bot medic uber health threshold" 2500 "heal rate bonus" 200 "bot medic uber deploy delay duration" 1.5 } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.6 "airblast vulnerability multiplier" 0.6 } } T_TFBot_Giant_Kritzkrieg_Medic //taken from robot_damno { Class Medic Name "Giant Kritzkrieg Medic" ClassIcon medic_kritz_giant Health 4500 Skill Expert Item "The Kritzkrieg" Item "Titanium Tyrolean" WeaponRestrictions SecondaryOnly Attributes MiniBoss Attributes SpawnWithFullCharge ItemAttributes { ItemName "The Kritzkrieg" "ubercharge rate bonus" 200 "uber duration bonus" 200 "heal rate bonus" 200 } ItemAttributes { ItemName "tf_weapon_syringegun_medic" "damage penalty" 0.1 } CharacterAttributes { "move speed bonus" 0.54 "damage force reduction" 0.6 "airblast vulnerability multiplier" 0.6 "bot medic uber health threshold" 7500 } } T_TFBot_Minigiant_Sniper_Huntsman_Spammer_Crit { Class Sniper Name "Bowman Rapid Fire" "scale" 1.5 Health 1200 ClassIcon sniper_bow Item "The Huntsman" Skill Hard Attributes AlwaysCrit Tag bot_giant ItemAttributes { ItemName "The Huntsman" "fire rate bonus" 0.6 } CharacterAttributes { "head scale" 0.7 "move speed bonus" 0.85 } } T_TFBot_Giant_Soldier_Direct_Hit_Spammer { Class Soldier Name "Giant Rapid Fire Soldier" ClassIcon soldier_directhit_infinite_giant Health 3800 Skill Expert WeaponRestrictions PrimaryOnly Attributes MiniBoss Item "The Direct Hit" ItemAttributes { ItemName "The Direct Hit" "faster reload rate" -0.8 "fire rate bonus" 0.5 } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.4 "airblast vulnerability multiplier" 0.4 "override footstep sound set" 3 "Projectile speed increased" 0.65 } } T_TFBot_Giant_Scout_Shortstop_SunStick { Class Scout Name "Run Barry Run" ClassIcon scout_shortstop_giant Skill Expert Item "Sun-on-a-Stick" Item "The Shortstop" Health 1200 Attributes MiniBoss CharacterAttributes { "move speed as health decreases" 2 "damage force reduction" 0.35 "airblast vulnerability multiplier" 0.35 "override footstep sound set" 5 } ItemAttributes { ItemName "The Shortstop" "bullets per shot bonus" 2 "fire rate bonus" 0.6 "faster reload rate" 1.3 "damage penalty" 0.50 "weapon spread bonus" 0.1 } WeaponSwitch { Type "Melee" MaxTargetRange 500 MinTargetRange 0 Delay 0.1 Repeats 0 Cooldown 5 IfSeeTarget 1 } WeaponSwitch { Type "Primary" MaxTargetRange 9999 MinTargetRange 500 Delay 0.1 Repeats 0 Cooldown 5 IfSeeTarget 1 } } T_TFBot_Armored_Combo_Demo { Class Demoman Name "Armored Combo Crit-on-Kill Demoman" ClassIcon demo Skill Hard Scale 1.2 Health 500 Item "Fastlander" WeaponSwitch { Type "Melee" MaxTargetRange 400 MinTargetRange 0 Delay 0.1 Repeats 0 Cooldown 5 IfSeeTarget 1 } WeaponSwitch { Type "Primary" MaxTargetRange 9999 MinTargetRange 400 Delay 0.1 Repeats 0 Cooldown 5 IfSeeTarget 1 } } T_TFBot_Chief_Giant_Scout { Class Scout Name "A Giant Scout" ClassIcon scout_giant Attributes UseBossHealthBar Attributes MiniBoss Skill Expert Action Mobber Scale 1.2 Health 45000 MaxVisionRange 2000 Item "Throwable Hat" Item "Scrap Scattergun" Item "Upgraded Basher" AlwaysGlow 1 CharacterAttributes { "cannot pick up intelligence" 1 "move speed as health decreases" 2 "cancel falling damage" 1 } FireInput { Target "random_teleport*" Action "PickRandom" Delay 0 Cooldown 0 Repeats 1 IfHealthBelow 40000 } FireInput { Target "random_teleport*" Action "PickRandom" Delay 0 Cooldown 0 Repeats 1 IfHealthBelow 30000 } FireInput { Target "random_teleport*" Action "PickRandom" Delay 0 Cooldown 0 Repeats 1 IfHealthBelow 20000 } FireInput { Target "random_teleport*" Action "PickRandom" Delay 0 Cooldown 0 Repeats 1 IfHealthBelow 10000 } FireInput { Target !self Action $TeleportToEntity Delay 0 Cooldown 0 Repeats 99 IfHealthBelow 10 Param player } WeaponSwitch { Type "Primary" MaxTargetRange 3000 MinTargetRange 300 Delay 0.1 Repeats 0 Cooldown 2 IfSeeTarget 1 } WeaponSwitch { Type "Melee" MaxTargetRange 300 MinTargetRange 0 Delay 0.1 Repeats 0 Cooldown 7 IfSeeTarget 1 } } } // MISSION: Sentry Buster // Sentry Buster wave01 Mission { Objective DestroySentries Where spawnbot_mission_sentry_buster CooldownTime 30 BeginAtWave 1 RunForThisManyWaves 1 TFBot { Template T_TFBot_SentryBuster Item "The Concheror" Attributes SpawnWithFullCharge Name "Rush B" } } // Sentry Buster wave02 Mission { Objective DestroySentries Where spawnbot_mission_sentry_buster CooldownTime 30 BeginAtWave 2 RunForThisManyWaves 1 TFBot { Template T_TFBot_SentryBuster Item "The Concheror" Attributes SpawnWithFullCharge Name "Rush B" } } // Sentry Buster wave03 Mission { Objective DestroySentries Where spawnbot_mission_sentry_buster CooldownTime 30 BeginAtWave 3 RunForThisManyWaves 1 TFBot { Template T_TFBot_SentryBuster Item "The Concheror" Attributes SpawnWithFullCharge Name "Rush B" } } // Sentry Buster wave04 Mission { Objective DestroySentries Where spawnbot_mission_sentry_buster CooldownTime 30 BeginAtWave 4 RunForThisManyWaves 1 TFBot { Template T_TFBot_SentryBuster Item "The Concheror" Attributes SpawnWithFullCharge Name "Rush B" } } // Sentry Buster wave05 Mission { Objective DestroySentries Where spawnbot_mission_sentry_buster CooldownTime 45 BeginAtWave 5 RunForThisManyWaves 1 TFBot { Template T_TFBot_SentryBuster Item "The Concheror" Attributes SpawnWithFullCharge Name "Rush B" } } // Sentry Buster wave06 Mission { Objective DestroySentries Where spawnbot_mission_sentry_buster CooldownTime 30 BeginAtWave 6 RunForThisManyWaves 1 TFBot { Template T_TFBot_SentryBuster Item "The Concheror" Attributes SpawnWithFullCharge Name "Rush B" } } // MISSION: Sniper //Add Sniper Hint to the upper part of the map // Sniper wave04 Mission { Objective Sniper Where spawnbot BeginAtWave 4 RunForThisManyWaves 1 CooldownTime 45 InitialCooldown 45 DesiredCount 3 TFBot { Template T_TFBot_Sniper_Sydney_Sleeper Name "b.a.s.e. Jumper Counter" } } // Sniper wave05 Mission { Objective Sniper Where spawnbot BeginAtWave 5 RunForThisManyWaves 1 CooldownTime 35 InitialCooldown 30 DesiredCount 3 TFBot { Template T_TFBot_Sniper_Sydney_Sleeper Name "b.a.s.e. Jumper Counter" } } // wave 1 Wave { StartWaveOutput { Target wave_start_relay Action Trigger } initwaveoutput { Target path_left_B Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } // subwave 1a WaveSpawn { TotalCurrency 150 Name "wave01a" Where spawnbot TotalCount 40 SpawnCount 8 MaxActive 17 WaitBetweenSpawns 15 WaitBeforeStarting 0 Squad { ShouldPreserveSquad 1 TFBot { Template T_TFBot_Soldier_RocketPush Name "Sky's the Limit" Skill Hard ItemAttributes { ItemName "The Liberty Launcher" "faster reload rate" 1.1 "damage bonus" .25 "apply z velocity on damage" 25 //mostly as an anti heavy measure "dmg bonus vs buildings" 3 //normal-ish damage against engie } } TFBot { Template T_TFBot_Soldier_RocketPush Name "Newton's Second Law" Skill Hard ItemAttributes { ItemName "The Liberty Launcher" "faster reload rate" 1.1 "damage bonus" .25 "apply z velocity on damage" 25 "dmg bonus vs buildings" 3 } } TFBot { Template T_TFBot_Soldier_RocketPush Name "Juggler" Skill Hard ItemAttributes { ItemName "The Liberty Launcher" "faster reload rate" 1.1 "damage bonus" .25 "apply z velocity on damage" 25 "dmg bonus vs buildings" 3 } } TFBot { Template T_TFBot_Revolver_Spy Name "Knife What Knife" ItemAttributes { ItemName "TF_WEAPON_REVOLVER" "fire rate bonus" 1.15 } } TFBot { Template T_TFBot_Revolver_Spy Name "This aint Bloody England" ItemAttributes { ItemName "TF_WEAPON_REVOLVER" "fire rate bonus" 1.15 } } TFBot { Template T_TFBot_Revolver_Spy Name "It's High Noon" ItemAttributes { ItemName "TF_WEAPON_REVOLVER" "fire rate bonus" 1.15 } } TFBot { Template T_TFBot_Revolver_Spy Name "French Gunman" ItemAttributes { ItemName "TF_WEAPON_REVOLVER" "fire rate bonus" 1.15 } } TFBot { Template T_TFBot_Revolver_Spy Name "Get Down Mr. President" ItemAttributes { ItemName "TF_WEAPON_REVOLVER" "fire rate bonus" 1.15 } } } } WaveSpawn { Name "wave01a" TotalCurrency 150 Where flankers TotalCount 12 SpawnCount 4 MaxActive 4 WaitBetweenSpawns 20 WaitBeforeStarting 5 Squad { ShouldPreserveSquad 1 TFBot { Template T_TFBot_Giant_Pyro Attributes AlwaysFireWeapon Skill Hard Name "House Cleaning" } TFBot { Template T_TFBot_quicky_Shield } TFBot { Template T_TFBot_quicky_Shield } TFBot { Template T_TFBot_Kritzkrieg_Medic } } } // subwave 1b WaveSpawn { WaitForAllSpawned "wave01a" TotalCurrency 150 Name "wave01b" Where flankers RandomSpawn 1 TotalCount 25 SpawnCount 8 MaxActive 17 WaitBetweenSpawns 15 WaitBeforeStarting 17 Squad { ShouldPreserveSquad 1 TFBot { Template T_TFBot_Soldier_RocketPush Name "Budget Space Program" Skill Normal ItemAttributes { ItemName "The Liberty Launcher" "faster reload rate" 1.1 "damage bonus" .25 "apply z velocity on damage" 25 "dmg bonus vs buildings" 3 } } TFBot { Template T_TFBot_Soldier_RocketPush Name "Gravity Falls" Skill Normal ItemAttributes { ItemName "The Liberty Launcher" "faster reload rate" 1.1 "damage bonus" .25 "apply z velocity on damage" 25 "dmg bonus vs buildings" 3 } } TFBot { Template T_TFBot_Soldier_RocketPush Name "Use Your Potential" Skill Normal ItemAttributes { ItemName "The Liberty Launcher" "faster reload rate" 1.1 "damage bonus" .25 "apply z velocity on damage" 25 "dmg bonus vs buildings" 3 } } TFBot { Template T_TFBot_Revolver_Spy Name "Knife What Knife" ItemAttributes { ItemName "TF_WEAPON_REVOLVER" "fire rate bonus" 1.1 } } TFBot { Template T_TFBot_Revolver_Spy Name "This aint bloody England" ItemAttributes { ItemName "TF_WEAPON_REVOLVER" "fire rate bonus" 1.1 } } TFBot { Template T_TFBot_Revolver_Spy Name "It's High Noon" ItemAttributes { ItemName "TF_WEAPON_REVOLVER" "fire rate bonus" 1.1 } } TFBot { Template T_TFBot_Revolver_Spy Name "French Gunman" ItemAttributes { ItemName "TF_WEAPON_REVOLVER" "fire rate bonus" 1.1 } } TFBot { Template T_TFBot_Revolver_Spy Name "Get Down Mr. President" ItemAttributes { ItemName "TF_WEAPON_REVOLVER" "fire rate bonus" 1.1 } } } } WaveSpawn { WaitForAllSpawned "wave01a" TotalCurrency 150 Name "wave01b" Where flankers TotalCount 3 SpawnCount 1 MaxActive 2 WaitBetweenSpawns 30 WaitBeforeStarting 15 TFBot { Template T_TFBot_Giant_Soldier_Reserve_Shooter Name "Something to Get Shot by" } } // support WaveSpawn { TotalCurrency 0 Where spawnbot TotalCount 88 SpawnCount 3 MaxActive 5 WaitBetweenSpawns 22 WaitBeforeStarting 20 Support 1 TFBot { Template T_TFBot_Basher_Scout_Tele } } WaveSpawn { TotalCurrency 0 Where spawnbot TotalCount 88 SpawnCount 1 MaxActive 1 WaitBetweenSpawns 30 WaitBeforeStarting 30 Support 1 TFBot { Template T_TFBot_Engineer_Sentry_Tele_Battle } } } // wave 2 Wave { Checkpoint Yes StartWaveOutput { Target wave_start_relay Action Trigger } initwaveoutput { Target path_left_B Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } // subwave WaveSpawn { TotalCurrency 50 Name "wave02a" Where spawnbot TotalCount 16 SpawnCount 2 MaxActive 5 WaitBetweenSpawns 10 WaitBeforeStarting 0 Squad { TFBot { Template T_TFBot_Scattergun_Bonk_Scout Attributes AlwaysCrit Name "Quantum Tunneling" } TFBot { Template T_TFBot_Scout_Bonk Attributes AlwaysCrit Name "Crit Cannon Fodder" } TFBot { Template T_TFBot_Scout_Bonk Attributes AlwaysCrit Name "Crit Cannon Fodder" } } } WaveSpawn //so they bonk at different time { TotalCurrency 50 Name "wave02a" Where spawnbot TotalCount 16 SpawnCount 2 MaxActive 5 WaitBetweenSpawns 10 WaitBeforeStarting 2 Squad { TFBot { Template T_TFBot_Scattergun_Bonk_Scout Attributes AlwaysCrit Name "Quantum Tunneling" } TFBot { Template T_TFBot_Scout_Bonk Attributes AlwaysCrit Name "Crit Cannon Fodder" } TFBot { Template T_TFBot_Scout_Bonk Attributes AlwaysCrit Name "Crit Cannon Fodder" } } } WaveSpawn { TotalCurrency 150 Name "wave02a" Where spawnbot TotalCount 2 SpawnCount 1 MaxActive 2 WaitBetweenSpawns 25 WaitBeforeStarting 1 TFBot { Template T_TFBot_Giant_SteelFist_Heavy Name "Giant Cannon Fodder" Action Mobber CharacterAttributes { "cannot pick up intelligence" 1 } } } WaveSpawn { TotalCurrency 100 Name "wave02a" Where flankers TotalCount 24 SpawnCount 6 MaxActive 10 WaitBetweenSpawns 16 WaitBeforeStarting 6 Squad { TFBot { Template T_TFBot_Soldier_Direct_Hit } TFBot { Template T_TFBot_Medic_QuickFix } } } // subwave WaveSpawn { WaitForAllDead "wave02a" TotalCurrency 100 Name "wave02b" Where spawnbot TotalCount 20 SpawnCount 5 MaxActive 10 WaitBetweenSpawns 15 WaitBeforeStarting 0 TFBot { Template T_TFBot_Bison } } WaveSpawn { WaitForAllDead "wave02a" TotalCurrency 100 Name "wave02b" Where flankers TotalCount 24 SpawnCount 3 MaxActive 12 WaitBetweenSpawns 8 WaitBeforeStarting 10 TFBot { Template T_TFBot_Scout_Sandman_FastCharge_Mark } } WaveSpawn { WaitForAllDead "wave02a" TotalCurrency 300 Name "wave02b" Where spawnbot TotalCount 4 SpawnCount 2 MaxActive 4 WaitBetweenSpawns 25 WaitBeforeStarting 0 Squad { TFBot { Template T_TFBot_Giant_Demo_RapidFire } TFBot { Template T_TFBot_Giant_Medic Name "More things to shoot at" } } } // support WaveSpawn { Where bombers TotalCount 88 SpawnCount 1 MaxActive 2 WaitBetweenSpawns 35 WaitBeforeStarting 25 Support 1 TFBot { Template T_TFBot_Soldier_Airstrike InterruptAction { Target "-3985 635 565.64" Delay 3 Repeats 1 Duration 15 Distance 5 WaitUntilDone 1 } FireWeapon { Delay 20 Repeats 99 Duration 1 Type "Jump" } } } WaveSpawn { TotalCurrency 0 Where spawnbot TotalCount 88 SpawnCount 1 MaxActive 1 WaitBetweenSpawns 25 WaitBeforeStarting 25 Support 1 TFBot { Template T_TFBot_Engineer_Sentry_Tele_Battle } } } // wave 3 Wave { StartWaveOutput { Target wave_start_relay Action Trigger } initwaveoutput { Target path_left_A Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } Explanation { Line "{#red}Incoming Tank with 30k HP" } // subwave WaveSpawn { TotalCurrency 50 Name "wave03a" Where flankers RandomSpawn 1 TotalCount 24 SpawnCount 4 MaxActive 8 WaitBetweenSpawns 16 WaitBeforeStarting 12 TFBot { Template T_TFBot_Demoman_Persian } } WaveSpawn { TotalCurrency 150 Name "wave03a" Where spawnbot RandomSpawn 1 TotalCount 3 SpawnCount 1 MaxActive 2 WaitBetweenSpawns 25 WaitBeforeStarting 1 TFBot { Template T_TFBot_Giant_Soldier_Crit } } WaveSpawn { TotalCurrency 100 Name "wave03a" Where spawnbot RandomSpawn 1 TotalCount 3 SpawnCount 1 MaxActive 3 WaitBetweenSpawns 25 WaitBeforeStarting 0 TFBot { Template T_TFBot_Giant_Heavyweapons } } WaveSpawn { WaitForAllSpawned "wave03a" TotalCurrency 150 TotalCount 1 WaitBeforeStarting 10 Tank { Health 30000 Speed 75 Name "A Tank" Skin 1 StartingPathTrackNode "boss_path_a1" ClassIcon tank_lite OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } // subwave WaveSpawn { WaitForAllSpawned "wave03a" TotalCurrency 20 Name "wave03b" Where spawnbot RandomSpawn 1 TotalCount 12 SpawnCount 2 MaxActive 3 WaitBetweenSpawns 15 WaitBeforeStarting 20 TFBot { Template T_TFBot_Heavyweapons_Fist ClassIcon heavy_steelfist } } WaveSpawn { WaitForAllSpawned "wave03a" TotalCurrency 80 Name "wave03b" Where spawnbot RandomSpawn 1 TotalCount 30 SpawnCount 6 MaxActive 12 WaitBetweenSpawns 15 WaitBeforeStarting 21 Squad { TFBot { Template T_TFBot_Dragon_Fury ClassIcon pyro_dragon_fury_swordstone } TFBot { Template T_TFBot_Medic } } } WaveSpawn { WaitForAllSpawned "wave03a" TotalCurrency 100 Name "wave03b" Where flankers RandomSpawn 1 TotalCount 24 SpawnCount 6 MaxActive 12 WaitBetweenSpawns 15 WaitBeforeStarting 28 TFBot { Template T_TFBot_Sniper_Huntsman } } WaveSpawn { WaitForAllSpawned "wave03a" TotalCurrency 150 Name "wave03b" Where spawnbot RandomSpawn 1 TotalCount 3 SpawnCount 1 MaxActive 2 WaitBetweenSpawns 30 WaitBeforeStarting 25 TFBot { Template T_TFBot_Giant_Scout_SunStick_Fast } } // support WaveSpawn { Where bombers TotalCurrency 0 TotalCount 88 MaxActive 2 SpawnCount 1 WaitBetweenSpawns 30 WaitBeforeStarting 30 Support 1 FirstSpawnOutput { target bomber_alert action trigger } TFBot { Template T_TFBot_Soldier_Airstrike InterruptAction { Target "-3985 635 565.64" Delay 3 Repeats 1 Duration 15 Distance 5 WaitUntilDone 1 } FireWeapon { Delay 20 Repeats 99 Duration 1 Type "Jump" } } } WaveSpawn { TotalCurrency 0 Where spawnbot TotalCount 88 SpawnCount 1 MaxActive 1 WaitBetweenSpawns 25 WaitBeforeStarting 30 Support 1 TFBot { Template T_TFBot_Engineer_Sentry_Tele_Battle } } } // wave Wave { StartWaveOutput { Target wave_start_relay Action Trigger } initwaveoutput { Target path_left_B Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } Explanation { Line "{#red}Incoming 2 Tanks with 20k HP each" } // subwave WaveSpawn { TotalCurrency 100 Name "wave04a" Where spawnbot TotalCount 30 SpawnCount 5 MaxActive 15 WaitBetweenSpawns 10 WaitBeforeStarting 5 Squad { TFBot { Template T_TFBot_Soldier_Extended_Concheror ClassIcon soldier_banner_trio ItemAttributes { ItemName "TF_WEAPON_ROCKETLAUNCHER" "faster reload rate" 0.9 } } TFBot { Template T_TFBot_Soldier_Extended_Buff_Banner ClassIcon soldier_banner_trio ItemAttributes { ItemName "TF_WEAPON_ROCKETLAUNCHER" "faster reload rate" 0.9 } } TFBot { Template T_TFBot_Soldier_Extended_Battalion ClassIcon soldier_banner_trio ItemAttributes { ItemName "TF_WEAPON_ROCKETLAUNCHER" "faster reload rate" 0.9 } } TFBot { Template T_TFBot_Soldier_RocketPush Name "Budget Space Program" Skill Normal ItemAttributes { ItemName "The Liberty Launcher" "faster reload rate" 0.9 "apply z velocity on damage" 100 } } TFBot { Template T_TFBot_Soldier_RocketPush Name "Use Your Potential" PreferClass Heavyweapons Skill Normal ItemAttributes { ItemName "The Liberty Launcher" "faster reload rate" 0.9 "apply z velocity on damage" 100 } } } } WaveSpawn { TotalCurrency 200 Name "wave04a" Where spawnbot TotalCount 3 SpawnCount 1 MaxActive 12 WaitBetweenSpawns 25 WaitBeforeStarting 0 Squad { TFBot { Template T_TFBot_Giant_Soldier_Direct_Hit_Spammer Name "Sorry not Sorry" } } } WaveSpawn { TotalCurrency 50 Name "wave04a" Where flankers TotalCount 30 SpawnCount 5 MaxActive 12 WaitBetweenSpawns 3 WaitBeforeStarting 10 TFBot { Template T_TFBot_Enforcer_Spy Name "Resist This" } } WaveSpawn { TotalCurrency 50 Name "wave04a" Where spawnbot TotalCount 8 MaxActive 4 SpawnCount 2 WaitBetweenSpawns 17 WaitBeforeStarting 10 Squad { TFBot { Template T_TFBot_Minigiant_Sniper_Huntsman_Spammer_Crit } TFBot { Template T_TFBot_Medic_QuickUber } } } WaveSpawn { TotalCurrency 100 Name "wave04a" Where spawnbot TotalCount 8 MaxActive 4 SpawnCount 2 WaitBetweenSpawns 15 WaitBeforeStarting 15 Squad { TFBot { Template T_TFBot_Minigiant_Sniper_Huntsman_Spammer_Crit } TFBot { Template T_TFBot_Medic_QuickUber } } } WaveSpawn { WaitForAllSpawned "wave04a" TotalCurrency 200 Name "wave04b" Where spawnbot TotalCount 28 SpawnCount 6 MaxActive 12 WaitBetweenSpawns 5 WaitBeforeStarting 35 TFBot { Template T_TFBot_Armored_Combo_Demo } } WaveSpawn { WaitForAllSpawned "wave04a" TotalCurrency 150 Name "wave04b" TotalCount 1 WaitBeforeStarting 30 Tank { Health 20000 Speed 75 Name "tankboss_left" Skin 1 StartingPathTrackNode "boss_path_a1" ClassIcon tank_lite OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn { WaitForAllSpawned "wave04a" TotalCurrency 150 Name "wave04b" TotalCount 1 WaitBeforeStarting 43 Tank { Health 20000 Speed 75 Name "tankboss_right" Skin 1 StartingPathTrackNode "boss_path_b1" ClassIcon tank_lite OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } // support WaveSpawn { Where bombers TotalCurrency 0 TotalCount 88 MaxActive 3 SpawnCount 2 WaitBetweenSpawns 40 WaitBeforeStarting 20 Support 1 FirstSpawnOutput { target bomber_alert action trigger } TFBot { Template T_TFBot_Soldier_Airstrike InterruptAction { Target "-3985 635 565.64" Delay 3 Repeats 1 Duration 15 Distance 5 WaitUntilDone 1 } FireWeapon { Delay 20 Repeats 99 Duration 1 Type "Jump" } } } WaveSpawn { WaitForAllSpawned "wave04a" Where flankers TotalCurrency 0 TotalCount 888 MaxActive 6 SpawnCount 3 WaitBeforeStarting 30 Support 1 Squad { TFBot { Template T_TFBot_Bison Attributes AlwaysCrit BehaviorModifiers Mobber } } } WaveSpawn { TotalCurrency 0 Where spawnbot TotalCount 88 SpawnCount 1 MaxActive 1 WaitBetweenSpawns 25 WaitBeforeStarting 30 Support 1 TFBot { Template T_TFBot_Engineer_Sentry_Tele_Battle } } } // wave Wave { StartWaveOutput { Target wave_start_relay Action Trigger } initwaveoutput { Target wave_start_relay Action runscriptcode Param " IncludeScript(`tankextensions_main`, getroottable()) // if you need to change any default values tank scripts include then you do that with this function // TankExt.SetValueOverrides({ // COMBATTANK_ROTATE_SPEED_DEFAULT = 2 // default: 0.8 // COMBATTANK_MAX_RANGE = 2000 // default: 1400 // COMBATTANK_MINIGUN_BULLET_DAMAGE = 45 // default: 22 // COMBATTANK_ROCKETPOD_RELOAD_DELAY = 0 // default: 0.3 // }) IncludeScript(`tankextensions/paratank`, getroottable()) IncludeScript(`tankextensions/ubertank`, getroottable()) IncludeScript(`tankextensions/combattank`, getroottable()) IncludeScript(`tankextensions/combattank_weapons/minigun`, getroottable()) IncludeScript(`tankextensions/combattank_weapons/rocketpod`, getroottable()) " } DoneOutput { Target wave_finished_relay Action Trigger } Explanation { Line "{#red}Incoming Combat Tank with 25k HP" } // subwave WaveSpawn { TotalCurrency 100 Name "wave05a" Where spawnbot TotalCount 1 SpawnCount 1 MaxActive 1 WaitBeforeStarting 0 TFBot { Template T_TFBot_Soldier_BurstFire } } WaveSpawn { TotalCurrency 100 Name "wave05a" Where spawnbot TotalCount 2 SpawnCount 1 MaxActive 2 WaitBetweenSpawns 18 WaitBeforeStarting 0 TFBot { Template T_TFBot_Giant_DemoMan_PrinceTavish Action Mobber } } // subwave WaveSpawn { WaitForAllDead "wave05a" TotalCurrency 200 Name "wave05b" Where flankers TotalCount 4 SpawnCount 2 MaxActive 4 WaitBetweenSpawns 30 WaitBeforeStarting 0 Squad { TFBot { Template T_TFBot_Giant_Pyro Attributes AlwaysFireWeapon Attributes AlwaysCrit } TFBot { Template T_TFBot_Giant_Uber_Medic } } } WaveSpawn { WaitForAllDead "wave05a" TotalCurrency 150 Name "wave05b" Where flankers TotalCount 3 SpawnCount 1 MaxActive 2 WaitBetweenSpawns 20 WaitBeforeStarting 10 Squad { TFBot { Template T_TFBot_Giant_Scout_Shortstop_SunStick } } } WaveSpawn { WaitForAllSpawned "wave05b" TotalCurrency 100 Name "wave05bT" TotalCount 1 WaitBeforeStarting 15 Tank { Health 25000 Speed 75 Name "combattank|minigun|rocketpod" ClassIcon tank_combat_minigun_rocket StartingPathTrackNode "boss_path_a1" OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } // subwave WaveSpawn { WaitForAllDead "wave05b" TotalCurrency 200 Name "wave05c" Where flankers TotalCount 4 SpawnCount 2 MaxActive 4 WaitBetweenSpawns 35 WaitBeforeStarting 0 Squad { TFBot { Template T_TFBot_Giant_Heavyweapons_HealOnKill } TFBot { Template T_TFBot_Giant_Kritzkrieg_Medic } } } WaveSpawn { WaitForAllDead "wave05b" TotalCurrency 150 Name "wave05c" Where flankers TotalCount 3 SpawnCount 1 MaxActive 2 WaitBetweenSpawns 20 WaitBeforeStarting 0 TFBot { Template T_TFBot_Giant_Demo_RapidFire } } // support WaveSpawn { Where spawnbot TotalCurrency 0 TotalCount 88 MaxActive 2 SpawnCount 1 WaitBeforeStarting 35 WaitBetweenSpawns 30 Support 1 TFBot { Template T_TFBot_quicky_Shield CharacterAttributes { "move speed bonus" 1.3 } ItemAttributes { ItemName "TF_WEAPON_MEDIGUN" "heal rate penalty" 0.5 } } } WaveSpawn { Where bombers TotalCurrency 0 TotalCount 88 MaxActive 2 SpawnCount 1 WaitBeforeStarting 25 WaitBetweenSpawns 13 Support 1 FirstSpawnOutput { target bomber_alert action trigger } TFBot { Template T_TFBot_Soldier_Airstrike InterruptAction { Target "-3985 635 565.64" Delay 3 Repeats 1 Duration 15 Distance 5 WaitUntilDone 1 } FireWeapon { Delay 20 Repeats 99 Duration 1 Type "Jump" } } } WaveSpawn { Where flankers TotalCurrency 0 TotalCount 888 MaxActive 5 SpawnCount 3 WaitBeforeStarting 25 WaitBetweenSpawns 8 Support 1 Squad { TFBot { Template T_TFBot_Armored_Combo_Demo } } } WaveSpawn { TotalCurrency 0 Where spawnbot TotalCount 88 SpawnCount 1 MaxActive 1 WaitBetweenSpawns 25 WaitBeforeStarting 30 Support 1 TFBot { Template T_TFBot_Engineer_Sentry_Tele_Battle } } } // wave Wave { StartWaveOutput { Target wave_start_relay Action Trigger } initwaveoutput { Target path_left_A Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } SpawnTemplate BomberAlert // Explanation // { // Line "{#red}Incoming Tanks with 25k HP" // } // WaveSpawn // { // WaitForAllSpawned "wave03a" // TotalCurrency 150 // TotalCount 1 // WaitBeforeStarting 10 // Tank // { // Health 30000 // Speed 75 // Name "A Tank" // Skin 1 // StartingPathTrackNode "boss_path_a1" // ClassIcon tank_lite // OnBombDroppedOutput // { // Target boss_deploy_relay // Action Trigger // } // } // } // WaveSpawn // { // TotalCurrency 666 // Where spawnbot // TotalCount 2 // SpawnCount 2 // MaxActive 2 // WaitBeforeStarting 0 // TFBot // { // Template T_TFBot_Armored_Combo_Demo // CharacterAttributes // { // "cannot pick up intelligence" 1 // } // } // } // WaveSpawn // { // TotalCurrency 666 // Where spawnbot // TotalCount 1 // SpawnCount 1 // MaxActive 1 // WaitBeforeStarting 10 // TFBot // { // Template T_TFBot_Chief_Giant_Scout // CharacterAttributes // { // "cannot pick up intelligence" 1 // } // } // } // support WaveSpawn { Where bombers TotalCurrency 0 TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 0 FirstSpawnOutput { target bomber_alert action trigger } TFBot { Template T_TFBot_Soldier_Airstrike InterruptAction { Target "-3985 635 565.64" Delay 3 Repeats 1 Duration 15 Distance 5 WaitUntilDone 1 } FireWeapon { Delay 20 Repeats 99 Duration 1 Type "Jump" } } } // WaveSpawn // { // Where flankers // TotalCurrency 0 // TotalCount 99 // MaxActive 5 // SpawnCount 3 // WaitBeforeStarting 0 // WaitBetweenSpawns 8 // Support 1 // TFBot // { // Template T_TFBot_Armored_Combo_Demo // } // } // WaveSpawn // { // Where spawnbot // TotalCurrency 0 // TotalCount 99 // MaxActive 5 // SpawnCount 2 // WaitBeforeStarting 0 // WaitBetweenSpawns 8 // Support 1 // TFBot // { // Template T_TFBot_Dragon_Fury // } // } // WaveSpawn // { // WaitForAllSpawned "wave03a" // TotalCurrency 600 // TotalCount 6 // WaitBeforeStarting 0 // WaitBetweenSpawns 25 // Support 1 // Tank // { // Health 25000 // Speed 75 // Name "A Tank" // Skin 1 // StartingPathTrackNode "boss_path_a1" // ClassIcon tank_lite // OnBombDroppedOutput // { // Target boss_deploy_relay // Action Trigger // } // } // } } }