// Mission designer: Lyney // Map Designer: #base robot_giant.pop #base robot_standard.pop // WAVE 1 Current Money: 800$ // WAVE 2 Current Money: 800$ + 800$ + 100$ Bonus = 1700$ (No Bonus: 1600$) // WAVE 3 Current Money: 1700$ + 900$ + 100$ Bonus = 2700$ (No Bonus: 2500$) // WAVE 4 Current Money: 2700$ + 800$ + 100$ Bonus = 3600$ (No Bonus: 3300$) // WAVE 5 Current Money: 3600$ + 1000$ + 100$ Bonus = 4700$ (No Bonus: 4300$) // WAVE 6 Current Money: 4700$ + 2000$ + 100$ Bonus = 6800$ (No Bonus: 6300$) // Total Possible Money: 6800$ + 700$ = 7500$ (No Bonus: 7000$) WaveSchedule { StartingCurrency 800 RespawnWaveTime 2 CanBotsAttackWhileInSpawnRoom no Advanced 1 //MaxRedPlayers 4 // restrict, will remove after pass all 3 //ClassLimit // restrict, will remove after pass all 3 //{ // Medic 0 //} Templates { T_TFBot_Scout_Soda_Popper { Class Scout Name "Soda Popper Scout" ClassIcon scout_popper2 Skill Easy Item "The Soda Popper" Item "Bonk Boy" WeaponRestrictions PrimaryOnly CharacterAttributes { "cancel falling damage" 1 } } T_TFBot_Scout_Melee_FixIcons { Template T_TFBot_Scout_Melee ClassIcon scout_bat_nys CharacterAttributes { "cancel falling damage" 1 } } T_TFBot_Soldier_DirectHit { Class Soldier Name "Direct Hit Soldier" ClassIcon soldier_directhit_lite Skill Hard Item "The Direct Hit" Item "The Team Captain" WeaponRestrictions PrimaryOnly CharacterAttributes { "cancel falling damage" 1 } } T_TFBot_Soldier_Shotgun { Class Soldier ClassIcon heavy_shotgun Name "Shotgun Soldier" Skill Normal WeaponRestrictions SecondaryOnly ItemAttributes { ItemName "TF_WEAPON_SHOTGUN_HWG" "faster reload rate" 0.1 "fire rate bonus" 2.5 "bullets per shot bonus" 3 "damage bonus" 0.33 } CharacterAttributes { "cancel falling damage" 1 } } T_TFBot_Slime { Class Soldier Name "Slime" //Scale 0.5 ClassIcon slime Skill Expert WeaponRestrictions MeleeOnly Attributes IgnoreFlag BehaviorModifiers Mobber CharacterAttributes { "cancel falling damage" 1 "torso scale" 0 "hand scale" 0 "head scale" 5 } } T_TFBot_Soldier_Floating_Mine { Class Soldier Name "Floating Mine Layer" ClassIcon soldier_nuke2 Skill Expert WeaponRestrictions PrimaryOnly Attributes IgnoreFlag Attributes AlwaysCrit Attributes AlwaysFireWeapon Action Mobber Item "The Original" ItemAttributes { ItemName "The Original" "damage bonus" 1000000 "Projectile speed increased" 0 "mod max primary clip override" 1 "faster reload rate" 2.5 "fire rate bonus" 2.5 } CharacterAttributes { "cancel falling damage" 1 } } T_TFBot_Soldier_Escape_Plan { Class Soldier Name "Escape Plan Soldier" ClassIcon soldier_escape Skill Expert WeaponRestrictions MeleeOnly Item "The Escape Plan" CharacterAttributes { "cancel falling damage" 1 } } T_TFBot_Pyro_Axe { Class Pyro ClassIcon pyro_fireaxe_sif Name "Fire Axe Pyro" Skill Hard WeaponRestrictions MeleeOnly CharacterAttributes { "cancel falling damage" 1 } } T_TFBot_Pyro_Airblast { Class Pyro Name "Airblast Pyro" ClassIcon pyro_reflect_daan Skill Expert Health 175 WeaponRestrictions PrimaryOnly Item "TF_WEAPON_FLAMETHROWER" ItemAttributes { ItemName "TF_WEAPON_FLAMETHROWER" "mult airblast refire time" 0.1 "weapon burn dmg increased" 0.1 } Item "Traffic Cone" CharacterAttributes { "damage bonus" 0.1 "cancel falling damage" 1 } } T_TFBot_Pyro_DF { Class Pyro ClassIcon pyro_dragon_fury_swordstone Name "Dragon Fury Pyro" Skill Normal Item "The Dragon's Fury" Item "Burny's Boney Bonnet" Item "The Cauterizer's Caudal Appendage" Item "The Monster's Stompers" Item "Fallen Angel" MaxVisionRange 900 CharacterAttributes { "cancel falling damage" 1 } } T_TFBot_Demoman_Bottle_NoShield { Class Demoman Name "Bottle Demo" ClassIcon demoknight_bottle_lite Skill Hard Item "Upgradeable TF_WEAPON_BOTTLE" WeaponRestrictions MeleeOnly ItemAttributes { ItemName "Upgradeable TF_WEAPON_BOTTLE" "critboost on kill" 3 } CharacterAttributes { "cancel falling damage" 1 } } T_TFBot_Demoman_Knight_NoDash { Class Demoman Name "Demoknight" ClassIcon demoknight Skill Hard Item "The Chargin' Targe" Item "The Eyelander" WeaponRestrictions MeleeOnly ItemAttributes { ItemName "The Eyelander" "critboost on kill" 3 "charge time increased" -100 } } T_TFBot_Heavyweapons_Steel_Manlet { Class Heavyweapons Name "Steel Manlet" Skill Hard ClassIcon heavy_steelfist WeaponRestrictions MeleeOnly Item "Fists of Steel" Item "The Purity Fist" Item "The Eliminators Safeguard" CharacterAttributes { "cancel falling damage" 1 } } T_TFBot_Medic_Armored { Class Medic ClassIcon medic_armored Name "Armored Medic" Skill Normal Health 600 // 150*4 = 600 Scale 1.4 Tag bot_giant CharacterAttributes { "airblast vulnerability multiplier" 0.7 "damage force reduction" 0.7 "cancel falling damage" 1 } } T_TFBot_Medic_BigHeal_Armored { Template T_TFBot_Medic_Armored Name "Armored Big-Heal Medic" Skill Expert ClassIcon medic_armored Tag bot_giant Item "The Surgeon's Stahlhelm" Item "The Quick-Fix" ItemAttributes { ItemName "The Quick-Fix" "ubercharge rate bonus" 0.01 } ItemAttributes { ItemName "TF_WEAPON_SYRINGEGUN_MEDIC" "damage penalty" 0.1 } CharacterAttributes { "bot medic uber deploy delay duration" 9999 "heal rate bonus" 999 } } T_TFBot_Giant_Scout_Armored { Class Scout Name "Giant Armored Scout" Skill Expert ClassIcon scout_armored_pda_giant Health 3200 Attributes MiniBoss Tag bot_giant CharacterAttributes { "cancel falling damage" 1 "damage force reduction" 0.7 "airblast vulnerability multiplier" 0.7 "override footstep sound set" 5 } } T_TFBot_Giant_Scout_Spammer_Reload_Armored { Template T_TFBot_Giant_Scout_Armored Name "Giant Armored Burst Fire Scout" ClassIcon scout_burst_armored WeaponRestrictions PrimaryOnly Item "tf_weapon_scattergun" Attributes MiniBoss Attributes HoldFireUntilFullReload Tag bot_giant ItemAttributes { ItemName "tf_weapon_scattergun" "move speed bonus" 0.5 "faster reload rate" 0.8 "fire rate bonus" 0.1 "clip size bonus" 1.5 } } T_TFBot_Giant_Soldier_Bison { Class Soldier ClassIcon soldier_bison_giant Name "Giant Bison Soldier" Health 3800 Skill Expert WeaponRestrictions SecondaryOnly Attributes HoldFireUntilFullReload Attributes MiniBoss Item "The Righteous Bison" Item "Lord Cockswain's Pith Helmet" ItemAttributes { ItemName "The Righteous Bison" "dmg bonus vs buildings" 5 } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.4 "airblast vulnerability multiplier" 0.4 "override footstep sound set" 3 "cancel falling damage" 1 } } T_TFBot_Giant_Soldier_Crit_Spammer_Reload { Class Soldier Name "Giant Burst Charged Soldier" ClassIcon soldier_crit_burstfire_giant Skill Normal Health 3800 Item "The Original" Attributes AlwaysCrit WeaponRestrictions PrimaryOnly Attributes MiniBoss Attributes HoldFireUntilFullReload ItemAttributes { ItemName "The Original" "faster reload rate" 0.6 "fire rate bonus" 0.1 "clip size upgrade atomic" 5.0 "Projectile speed increased" 0.5 } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.4 "airblast vulnerability multiplier" 0.4 "override footstep sound set" 3 "cancel falling damage" 1 "blast dmg to self increased" 0 } } T_TFBot_Giant_Pyro_Airblast { Class Pyro Name "Giant Airblast Pyro" ClassIcon pyro_reflect_daan_giant Skill Expert Health 3000 WeaponRestrictions PrimaryOnly Attributes MiniBoss Tag bot_giant Item "TF_WEAPON_FLAMETHROWER" ItemAttributes { ItemName "TF_WEAPON_FLAMETHROWER" "mult airblast refire time" 0.1 } Item "Traffic Cone" CharacterAttributes { //"damage bonus" 0.1 "move speed bonus" 0.5 "damage force reduction" 0.6 "airblast vulnerability multiplier" 0.6 "override footstep sound set" 6 "cancel falling damage" 1 } } T_TFBot_Giant_Pyro_Dragon_Fury { Class Pyro ClassIcon pyro_dragon_fury_swordstone_giant Name "Giant Dragon's Fury Pyro" Health 3000 Skill Expert Attributes MiniBoss Tag bot_giant MaxVisionRange 1000 Item "The Dragon's Fury" Item "Burny's Boney Bonnet" Item "The Cauterizer's Caudal Appendage" Item "The Monster's Stompers" Item "Fallen Angel" ItemAttributes { ItemName "The Dragon's Fury" } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.5 "airblast vulnerability multiplier" 0.5 "override footstep sound set" 6 "cancel falling damage" 1 } } T_TFBot_Giant_Pyro_Flare_Rain { Class Pyro ClassIcon pyro_flare_rain_nys Name "Giant Flare Rain Pyro" Health 3000 Skill Expert Attributes MiniBoss Tag bot_giant WeaponRestrictions SecondaryOnly Item "The Flare Gun" ItemAttributes { ItemName "The Flare Gun" "projectile spread angle penalty" 4 "Projectile speed decreased" 0.5 "clip size upgrade atomic" 30 "fire rate bonus" 0.08 } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.6 "airblast vulnerability multiplier" 0.6 "override footstep sound set" 6 "cancel falling damage" 1 } } T_TFBot_Giant_Pyro_BackScratcher { Class Pyro Name "Giant Back Scratcher Pyro" ClassIcon pyro_backscratcher_lite_giant Skill Expert Health 3000 WeaponRestrictions MeleeOnly Attributes MiniBoss Tag bot_giant Item "The Back Scratcher" CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.4 "airblast vulnerability multiplier" 0.4 "override footstep sound set" 3 "cancel falling damage" 1 } } T_TFBot_Giant_Pyro_Homewrecker { Class Pyro Name "Giant Homewrecker Pyro" ClassIcon pyro_homewrecker_lite Skill Expert Health 3000 WeaponRestrictions MeleeOnly Attributes MiniBoss Tag bot_giant Item "The Homewrecker" CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.4 "airblast vulnerability multiplier" 0.4 "override footstep sound set" 3 "cancel falling damage" 1 } } T_TFBot_Demoman_LochNLoad { Class Demoman ClassIcon demo_loch_nys Name "Loch n' Load Demoman" Skill Normal Item "The Loch-n-Load" } T_TFBot_Giant_Demoman_No_RapidFire { Class Demoman Name "Giant Demoman" ClassIcon demo_giant Skill Expert Health 3000 WeaponRestrictions PrimaryOnly Attributes HoldFireUntilFullReload Attributes MiniBoss Tag bot_giant ItemAttributes { ItemName "TF_WEAPON_GRENADELAUNCHER" } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.5 "airblast vulnerability multiplier" 0.5 "override footstep sound set" 4 "cancel falling damage" 1 "blast dmg to self increased" 0 } } T_TFBot_Giant_Demo_RapidFire_FixIcons { Class Demoman Name "Giant Rapid Fire Demoman" ClassIcon demo_spammer Skill Expert Health 3000 WeaponRestrictions PrimaryOnly Attributes HoldFireUntilFullReload Attributes MiniBoss Tag bot_giant ItemAttributes { ItemName "TF_WEAPON_GRENADELAUNCHER" "faster reload rate" -0.4 "fire rate bonus" 0.75 } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.5 "airblast vulnerability multiplier" 0.5 "override footstep sound set" 4 "cancel falling damage" 1 "blast dmg to self increased" 0 } } T_TFBot_Giant_Demoman_Stickybomb { Class Demoman ClassIcon demo_sticky_daan_giant Name "Giant Sticky Demoman" Health 3300 Skill Expert Attributes MiniBoss Attributes HoldFireUntilFullReload Tag bot_giant WeaponRestrictions SecondaryOnly Item "Upgradeable TF_WEAPON_GRENADELAUNCHER" Item "Upgradeable TF_WEAPON_PIPEBOMBLAUNCHER" Item "Bomb Beanie" ItemAttributes { ItemName "Upgradeable TF_WEAPON_GRENADELAUNCHER" "is_passive_weapon" 1 "override projectile type" 27 } ItemAttributes { ItemName "Upgradeable TF_WEAPON_PIPEBOMBLAUNCHER" "stickybomb charge rate" 0.001 "sticky arm time bonus" 2 "max pipebombs decreased" -6 "projectile range increased" 0.35 } CharacterAttributes { "move speed bonus" 0.5 "airblast vulnerability multiplier" 0.5 "rocket jump damage reduction" 0.01 "damage force reduction" 0.5 "override footstep sound set" 4 "cancel falling damage" 1 "blast dmg to self increased" 0 } } T_TFBot_Giant_Uber_Medic_GuaranteePop { Class Medic Name "Giant Uber Medic" ClassIcon medic_uber_giant Skill Expert Health 4500 Attributes MiniBoss Attributes IgnoreEnemies Attributes SpawnWithFullCharge Item "Medi Gun" WeaponRestrictions SecondaryOnly Tag bot_giant ItemAttributes { ItemName "tf_weapon_medigun" "ubercharge rate bonus" 0.001 // only pop 1 time "bot medic uber health threshold" 2250 "heal rate bonus" 999 } ItemAttributes { ItemName "TF_WEAPON_SYRINGEGUN_MEDIC" "damage penalty" 0.1 } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.6 "airblast vulnerability multiplier" 0.6 "cancel falling damage" 1 } } T_TFBot_Giant_Medic_Popping_GuaranteePop { Class Medic Name "Giant 100% Chance Popping Medic" ClassIcon medic_pop_giant Skill Expert Health 4500 Attributes SpawnWithFullCharge Item "The Quick-Fix" WeaponRestrictions SecondaryOnly Attributes MiniBoss ItemAttributes { ItemName "The Quick-Fix" "bot medic uber health threshold" 2250 "ubercharge rate bonus" 0.001 // only pop 1 time } ItemAttributes { ItemName "TF_WEAPON_SYRINGEGUN_MEDIC" "damage penalty" 0.1 } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.6 "airblast vulnerability multiplier" 0.6 "heal rate bonus" 200 // only works on mediguns that have this attribute ie quickfix } } T_TFBot_Chief_Soldier_RocketWall { Class Soldier ClassIcon soldier_rocketwall Name "Chief Rocket Wall Soldier" Health 13333 Skill Expert Attributes HoldFireUntilFullReload Attributes MiniBoss Attributes UseBossHealthBar Tag bot_giant Item "Steel Shako" ItemAttributes { ItemName "TF_WEAPON_ROCKETLAUNCHER" "fire rate bonus" 0 "faster reload rate" 0.5 "clip size upgrade atomic" 16 "Projectile speed decreased" 0.5 "projectile spread angle penalty" 5 } CharacterAttributes { "move speed bonus" 0.5 "airblast vulnerability multiplier" 0.4 "damage force reduction" 0.4 "override footstep sound set" 3 "cancel falling damage" 1 "blast dmg to self increased" 0 } } } Mission { Objective DestroySentries InitialCooldown 10 Where spawnbot BeginAtWave 1 RunForThisManyWaves 9 CooldownTime 55 TFBot { Template T_TFBot_SentryBuster Attributes DisableDodge } } Mission { Objective Spy InitialCooldown 30 Where spawnbot BeginAtWave 3 RunForThisManyWaves 1 CooldownTime 60 DesiredCount 2 TFBot { Class Spy Skill Hard CharacterAttributes { "cancel falling damage" 1 } } } Mission { Objective Sniper InitialCooldown 30 Where spawnbot BeginAtWave 6 RunForThisManyWaves 1 CooldownTime 60 DesiredCount 2 TFBot { Class Sniper Skill Hard CharacterAttributes { "cancel falling damage" 1 } } } Wave // Wave 1 (800$) { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } InitWaveOutput { Target wave_start_relay Action RunScriptCode Param " EntFire(`bombpath_choose_relay`, `Kill`) EntFire(`bombpath_holograms_clear_relay`, `Trigger`) EntFire(`bombpath_right_relay`, `TurnOff`) EntFire(`bombpath_left_relay`, `Trigger`) ClientPrint(null,3,`\x08FF54F1FFThis mission, The bomb will take a unique path for each wave!`) " } WaveSpawn { Name 1a Where spawnbot TotalCount 28 MaxActive 8 SpawnCount 4 WaitBeforeStarting 0 WaitBetweenSpawns 4 TotalCurrency 75 TFBot { Class Scout Skill Easy CharacterAttributes { "cancel falling damage" 1 } } } WaveSpawn { Name 1a Where spawnbot_left TotalCount 18 MaxActive 6 SpawnCount 3 WaitBeforeStarting 2 WaitBetweenSpawns 4 TotalCurrency 75 TFBot { Template T_TFBot_Demoman_Knight_NoDash } } WaveSpawn { Name 1a Where spawnbot_left TotalCount 2 MaxActive 2 SpawnCount 2 WaitBeforeStarting 12 WaitBetweenSpawns 0 TotalCurrency 50 Squad { TFBot { Template T_TFBot_Giant_Pyro_Homewrecker } TFBot { Template T_TFBot_Medic_QuickUber Attributes IgnoreEnemies Name "Quick-Uber Medic" CharacterAttributes { "cancel falling damage" 1 } } } } WaveSpawn { Name 1b WaitForAllSpawned 1a Where spawnbot TotalCount 20 MaxActive 8 SpawnCount 1 WaitBeforeStarting 5 WaitBetweenSpawns 1 TotalCurrency 100 TFBot { Template T_TFBot_Pyro_Flaregun Name "Flare Gun Pyro" CharacterAttributes { "cancel falling damage" 1 } } } WaveSpawn { Name 1b WaitForAllSpawned 1a Where spawnbot_left TotalCount 4 MaxActive 4 SpawnCount 2 WaitBeforeStarting 5 WaitBetweenSpawns 18 TotalCurrency 100 Squad { TFBot { Template T_TFBot_Giant_Pyro_Homewrecker } TFBot { Template T_TFBot_Medic_QuickUber Attributes IgnoreEnemies Name "Quick-Uber Medic" CharacterAttributes { "cancel falling damage" 1 } } } } WaveSpawn { Name 1c-support WaitForAllSpawned 1b Where spawnbot Where spawnbot_right TotalCount 40 MaxActive 6 SpawnCount 4 WaitBeforeStarting 5 WaitBetweenSpawns 4 TotalCurrency 160 Support Limited TFBot { //Template T_TFBot_Pyro_DF Class Pyro Skill Easy } } WaveSpawn { Name 1c WaitForAllSpawned 1b Where spawnbot TotalCount 4 MaxActive 4 SpawnCount 4 WaitBeforeStarting 0 WaitBetweenSpawns 0 TotalCurrency 240 Squad { TFBot { Template T_TFBot_Giant_Soldier } TFBot { Template T_TFBot_Medic_QuickUber Attributes IgnoreEnemies Name "Quick-Uber Medic" CharacterAttributes { "cancel falling damage" 1 } } TFBot { Template T_TFBot_Medic_QuickUber Attributes IgnoreEnemies Name "Quick-Uber Medic" CharacterAttributes { "cancel falling damage" 1 } } TFBot { Template T_TFBot_Medic_QuickUber Attributes IgnoreEnemies Name "Quick-Uber Medic" CharacterAttributes { "cancel falling damage" 1 } } } } } Wave // Wave 2 (900$) { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } InitWaveOutput { Target wave_start_relay Action RunScriptCode Param " EntFire(`bombpath_choose_relay`, `Kill`) EntFire(`bombpath_holograms_clear_relay`, `Trigger`) EntFire(`bombpath_right_relay`, `Trigger`) EntFire(`bombpath_left_relay`, `TurnOff`) " } WaveSpawn { Name 2a Where spawnbot_right TotalCount 30 MaxActive 9 SpawnCount 3 WaitBeforeStarting 0 WaitBetweenSpawns 3 TotalCurrency 60 TFBot { Template T_TFBot_Sniper_Huntsman CharacterAttributes { "cancel falling damage" 1 } } } WaveSpawn { Name 2a Where spawnbot_left TotalCount 9 MaxActive 5 SpawnCount 3 WaitBeforeStarting 10 WaitBetweenSpawns 9 TotalCurrency 60 TFBot { Template T_TFBot_Heavyweapons_Fist CharacterAttributes { "cancel falling damage" 1 } } } WaveSpawn { Name 2b WaitForAllSpawned 2a Where spawnbot_right TotalCount 4 MaxActive 4 SpawnCount 4 WaitBeforeStarting 0 WaitBetweenSpawns 0 TotalCurrency 80 Squad { TFBot { Template T_TFBot_Giant_Soldier_Spammer_Reload CharacterAttributes { "cancel falling damage" 1 "blast dmg to self increased" 0 } } TFBot { Template T_TFBot_Medic_BigHeal Attributes IgnoreEnemies Name "Big-Heal Medic" CharacterAttributes { "cancel falling damage" 1 } } TFBot { Template T_TFBot_Medic_BigHeal Attributes IgnoreEnemies Name "Big-Heal Medic" CharacterAttributes { "cancel falling damage" 1 } } TFBot { Template T_TFBot_Medic_BigHeal Attributes IgnoreEnemies Name "Big-Heal Medic" CharacterAttributes { "cancel falling damage" 1 } } } } WaveSpawn { Name 2b WaitForAllSpawned 2a Where spawnbot_left TotalCount 18 MaxActive 5 SpawnCount 1 WaitBeforeStarting 10 WaitBetweenSpawns 1 TotalCurrency 80 TFBot { Class Demoman Skill Normal CharacterAttributes { "cancel falling damage" 1 } } } WaveSpawn { Name 2b WaitForAllSpawned 2a Where spawnbot TotalCount 20 MaxActive 6 SpawnCount 1 WaitBeforeStarting 10 WaitBetweenSpawns 1 TotalCurrency 120 TFBot { Class Scout Skill Easy CharacterAttributes { "cancel falling damage" 1 } } } WaveSpawn { Name 2b WaitForAllSpawned 2a Where spawnbot TotalCount 4 MaxActive 4 SpawnCount 4 WaitBeforeStarting 37 WaitBetweenSpawns 0 TotalCurrency 200 Squad { TFBot { Template T_TFBot_Giant_Pyro_Dragon_Fury } TFBot { Template T_TFBot_Medic_BigHeal Attributes IgnoreEnemies Name "Big-Heal Medic" CharacterAttributes { "cancel falling damage" 1 } } TFBot { Template T_TFBot_Medic_BigHeal Attributes IgnoreEnemies Name "Big-Heal Medic" CharacterAttributes { "cancel falling damage" 1 } } TFBot { Template T_TFBot_Medic_BigHeal Attributes IgnoreEnemies Name "Big-Heal Medic" CharacterAttributes { "cancel falling damage" 1 } } } } WaveSpawn { Name 2c-support WaitForAllSpawned 2b Where spawnbot TotalCount 50 MaxActive 6 SpawnCount 1 WaitBeforeStarting 8 WaitBetweenSpawns 1 TotalCurrency 50 Support 1 TFBot { Template T_TFBot_Heavyweapons_Shotgun Skill Normal Name "Shotgun Heavy" CharacterAttributes { "cancel falling damage" 1 } } } WaveSpawn { Name 2c WaitForAllSpawned 2b Where spawnbot TotalCount 4 MaxActive 4 SpawnCount 4 WaitBeforeStarting 0 WaitBetweenSpawns 0 TotalCurrency 250 Squad { TFBot { Template T_TFBot_Giant_Pyro_Flare_Rain } TFBot { Template T_TFBot_Medic_BigHeal Attributes IgnoreEnemies Name "Big-Heal Medic" CharacterAttributes { "cancel falling damage" 1 } } TFBot { Template T_TFBot_Medic_BigHeal Attributes IgnoreEnemies Name "Big-Heal Medic" CharacterAttributes { "cancel falling damage" 1 } } TFBot { Template T_TFBot_Medic_BigHeal Attributes IgnoreEnemies Name "Big-Heal Medic" CharacterAttributes { "cancel falling damage" 1 } } } } } Wave // Wave 3 (800$) { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } InitWaveOutput { Target wave_start_relay Action RunScriptCode Param " EntFire(`bombpath_choose_relay`, `Kill`) EntFire(`bombpath_holograms_clear_relay`, `Trigger`) EntFire(`bombpath_right_relay`, `TurnOff`) EntFire(`bombpath_left_relay`, `Trigger`) " } WaveSpawn { Name 3a Where spawnbot TotalCount 35 MaxActive 7 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 1 TotalCurrency 70 TFBot { Class Scout Skill Easy CharacterAttributes { "cancel falling damage" 1 } } } WaveSpawn { Name 3a Where spawnbot TotalCount 3 MaxActive 2 SpawnCount 1 WaitBeforeStarting 5 WaitBetweenSpawns 18 TotalCurrency 90 TFBot { Template T_TFBot_Giant_Demo_RapidFire_FixIcons } } WaveSpawn { Name 3b-Tank WaitForAllSpawned 3a TotalCount 1 WaitBeforeStarting 0 TotalCurrency 200 FirstSpawnWarningSound "mvm\mvm_tank_start.wav" FirstSpawnOutPut { Target wave_start_relay Action RunScriptCode Param " ClientPrint(null,3,`\x0799CCFFTank deployed with 25000 HP!`) " } Tank { Health 25000 Name "tankboss" Speed 75 StartingPathTrackNode boss_path_1 OnKilledOutput { Target boss_dead_relay Action Trigger } OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn { Name 3b WaitForAllSpawned 3a Where spawnbot TotalCount 24 MaxActive 8 SpawnCount 1 WaitBeforeStarting 3 WaitBetweenSpawns 1 TotalCurrency 40 TFBot { Class Pyro Skill Easy } } WaveSpawn { Name 3b WaitForAllSpawned 3a Where spawnbot TotalCount 2 MaxActive 2 SpawnCount 1 WaitBeforeStarting 6 WaitBetweenSpawns 18 TotalCurrency 100 TFBot { Template T_TFBot_Giant_Demo_RapidFire_FixIcons } } WaveSpawn { Name 3c WaitForAllSpawned 3b Where spawnbot TotalCount 20 MaxActive 8 SpawnCount 4 WaitBeforeStarting 0 WaitBetweenSpawns 5 TotalCurrency 100 Support Limited TFBot { Class Heavyweapons Skill Easy CharacterAttributes { "cancel falling damage" 1 } } } WaveSpawn { Name 3c WaitForAllSpawned 3b Where spawnbot TotalCount 10 MaxActive 10 SpawnCount 5 WaitBeforeStarting 3 WaitBetweenSpawns 17 TotalCurrency 100 Squad { TFBot { Template T_TFBot_Giant_Demo_RapidFire_FixIcons } TFBot { Template T_TFBot_Medic_QuickUber Attributes IgnoreEnemies Name "Quick-Uber Medic" CharacterAttributes { "cancel falling damage" 1 } } TFBot { Template T_TFBot_Medic_QuickUber Attributes IgnoreEnemies Name "Quick-Uber Medic" CharacterAttributes { "cancel falling damage" 1 } } TFBot { Template T_TFBot_Medic_QuickUber Attributes IgnoreEnemies Name "Quick-Uber Medic" CharacterAttributes { "cancel falling damage" 1 } } TFBot { Template T_TFBot_Medic_QuickUber Attributes IgnoreEnemies Name "Quick-Uber Medic" CharacterAttributes { "cancel falling damage" 1 } } } } WaveSpawn { Name 3c-Support WaitForAllSpawned 3b Where spawnbot TotalCount 100 MaxActive 4 SpawnCount 2 WaitBeforeStarting 0 WaitBetweenSpawns 11 TotalCurrency 100 Support 1 TFBot { Template T_TFBot_Pyro_Airblast } } } Wave // Wave 4 (1000$) { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } InitWaveOutput { Target wave_start_relay Action RunScriptCode Param " EntFire(`bombpath_choose_relay`, `Kill`) EntFire(`bombpath_holograms_clear_relay`, `Trigger`) EntFire(`bombpath_right_relay`, `TurnOff`) EntFire(`bombpath_left_relay`, `Trigger`) " } WaveSpawn { Name 4a Where spawnbot TotalCount 20 MaxActive 7 SpawnCount 5 WaitBeforeStarting 5 WaitBetweenSpawns 9 TotalCurrency 100 TFBot { Class Pyro Skill Easy CharacterAttributes { "cancel falling damage" 1 } } } WaveSpawn { Name 4a Where spawnbot_right TotalCount 28 MaxActive 6 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 1 TotalCurrency 100 TFBot { Template T_TFBot_Soldier_Shotgun } } WaveSpawn { Name 4a Where spawnbot_right TotalCount 6 MaxActive 4 SpawnCount 2 WaitBeforeStarting 0 WaitBetweenSpawns 20 TotalCurrency 300 Squad { TFBot { Template T_TFBot_Giant_Pyro_Dragon_Fury } TFBot { Template T_TFBot_Medic_BigHeal_Armored } } } WaveSpawn { Name 4b WaitForAllSpawned 4a Where spawnbot_left TotalCount 30 MaxActive 10 SpawnCount 10 WaitBeforeStarting 0 WaitBetweenSpawns 10 TotalCurrency 100 TFBot { Class Soldier Skill Normal CharacterAttributes { "cancel falling damage" 1 } } } WaveSpawn { Name 4b WaitForAllSpawned 4a Where spawnbot_left TotalCount 28 MaxActive 7 SpawnCount 1 WaitBeforeStarting 4 WaitBetweenSpawns 1 TotalCurrency 100 TFBot { Template T_TFBot_Soldier_Escape_Plan } } WaveSpawn { Name 4b WaitForAllSpawned 4a Where spawnbot_left TotalCount 4 MaxActive 4 SpawnCount 2 WaitBeforeStarting 5 WaitBetweenSpawns 20 TotalCurrency 200 Squad { TFBot { Template T_TFBot_Giant_Heavyweapons CharacterAttributes { "cancel falling damage" 1 } } TFBot { Template T_TFBot_Medic_BigHeal_Armored } } } WaveSpawn { Name 4c WaitForAllSpawned 4b Where spawnbot_left TotalCount 48 MaxActive 6 SpawnCount 4 WaitBeforeStarting 10 WaitBetweenSpawns 4 TotalCurrency 60 Support Limited TFBot { Class Demoman Skill Normal CharacterAttributes { "cancel falling damage" 1 } } } WaveSpawn { Name 4c WaitForAllSpawned 4b Where spawnbot_left TotalCount 4 MaxActive 4 SpawnCount 2 WaitBeforeStarting 3 WaitBetweenSpawns 17 TotalCurrency 40 Squad { TFBot { Template T_TFBot_Giant_Soldier_Spammer CharacterAttributes { "cancel falling damage" 1 "blast dmg to self increased" 0 } } TFBot { Template T_TFBot_Medic_BigHeal_Armored } } } } Wave // Wave 5 (2000$) { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } InitWaveOutput { Target wave_start_relay Action RunScriptCode Param " EntFire(`bombpath_choose_relay`, `Kill`) EntFire(`bombpath_holograms_clear_relay`, `Trigger`) EntFire(`bombpath_right_relay`, `Trigger`) EntFire(`bombpath_left_relay`, `TurnOff`) //IncludeScript(`popextensions_main`, getroottable()) //SpawnEntityFromTable(`info_particle_system`, //{ // targetname = `telebot_indicator` // origin = `5198 6699 31` // start_active = 1, // effect_name = `teleporter_mvm_bot_persist` //}) //SpawnEntityFromTable(`prop_dynamic`, //{ // targetname = `spawnbot_hole` // origin = `5198 6699 31` // model = `models/props_mvm/robot_spawnpoint.mdl` // skin = 1 //}) //if(Entities.FindByName(null, `soldierflank`) == null) //{ // SpawnEntityFromTable(`training_annotation`, { // targetname = `soldierflank` // origin = `5198 6699 31` // angles = `0 0 0` // lifetime = `30` // display_text = `This wave, Floating Mine Layer bot will spawn on this point!` // }) //} //EntFire(`soldierflank`,`show`) " } WaveSpawn { Name 5a Where spawnbot TotalCount 36 MaxActive 10 SpawnCount 2 WaitBeforeStarting 0 WaitBetweenSpawns 1 TotalCurrency 100 TFBot { Template T_TFBot_Scout_Soda_Popper CharacterAttributes { "cancel falling damage" 1 } } } WaveSpawn { Name 5a Where spawnbot TotalCount 10 MaxActive 6 SpawnCount 2 WaitBeforeStarting 5 WaitBetweenSpawns 7 TotalCurrency 100 TFBot { Template T_TFBot_Heavyweapons_Fist Attributes AlwaysCrit CharacterAttributes { "cancel falling damage" 1 } } } WaveSpawn { Name 5a-Tank TotalCount 1 WaitBeforeStarting 13 TotalCurrency 200 FirstSpawnWarningSound "mvm\mvm_tank_start.wav" FirstSpawnOutPut { Target wave_start_relay Action RunScriptCode Param " ClientPrint(null,3,`\x0799CCFFFast Tank deployed with 16666 HP!`) " } Tank { Health 16666 Name "tankboss" Speed 75 StartingPathTrackNode boss_path_2 OnKilledOutput { Target boss_dead_relay Action Trigger } OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } //WaveSpawn //{ // Name FloatingMineSupport-1 // WaitForAllDead 5a // Where spawnbot // TotalCount 2 // MaxActive 2 // SpawnCount 2 // WaitBeforeStarting 0 // WaitBetweenSpawns 25 // TotalCurrency 0 // LastSpawnWarningSound mvm/mvm_tele_deliver.wav // Support Limited // TFBot // { // Template T_TFBot_Soldier_Floating_Mine // Tag "popext_spawnhere|5198 6699 31|3" // Tag "popext_alwaysglow" // } // StartWaveOutput // { // Target wave_start_relay // Action RunScriptCode // Param // " // if(Entities.FindByName(null, `soldierflank`) == null) // { // SpawnEntityFromTable(`training_annotation`, { // targetname = `soldierflank` // origin = `5198 6699 31` // angles = `0 0 0` // lifetime = `20` // display_text = `Floating Mine Layer Spawned!` // }) // } // EntFire(`soldierflank`,`show`) // " // } //} WaveSpawn { Name 5b WaitForAllSpawned 5a Where spawnbot_left TotalCount 20 MaxActive 8 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 1 TotalCurrency 100 TFBot { Template T_TFBot_Sniper_Huntsman CharacterAttributes { "cancel falling damage" 1 } } } WaveSpawn { Name 5b WaitForAllSpawned 5a Where spawnbot_left TotalCount 4 MaxActive 4 SpawnCount 2 WaitBeforeStarting 6 WaitBetweenSpawns 18 TotalCurrency 100 Squad { TFBot { Template T_TFBot_Giant_Pyro_Flare_Rain } TFBot { Template T_TFBot_Medic_BigHeal_Armored } } } WaveSpawn { Name 5c WaitForAllSpawned 5b Where spawnbot TotalCount 9 MaxActive 9 SpawnCount 3 WaitBeforeStarting 6 WaitBetweenSpawns 15 TotalCurrency 150 Squad { TFBot { Template T_TFBot_Giant_Demoman_Stickybomb } TFBot { Template T_TFBot_Medic_QuickUber Attributes IgnoreEnemies Name "Quick-Uber Medic" CharacterAttributes { "cancel falling damage" 1 } } TFBot { Template T_TFBot_Medic_QuickUber Attributes IgnoreEnemies Name "Quick-Uber Medic" CharacterAttributes { "cancel falling damage" 1 } } } } WaveSpawn { Name 5c-boss WaitForAllDead 5c Where spawnbot TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 0 TotalCurrency 1000 TFBot { Template T_TFBot_Chief_Soldier_RocketWall } //DoneOutput //{ // Target wave_start_relay // Action RunScriptCode // Param // " // EntFire(`spawnbot_hole`,`kill`); // EntFire(`telebot_indicator`, `kill`) // " //} } WaveSpawn { Name 5c-Support WaitForAllSpawned 5b Where spawnbot TotalCount 96 MaxActive 6 SpawnCount 3 WaitBeforeStarting 0 WaitBetweenSpawns 5 TotalCurrency 100 Support 1 TFBot { Template T_TFBot_Scout_Melee_FixIcons Attributes AlwaysCrit CharacterAttributes { "cancel falling damage" 1 } } } WaveSpawn { Name 5c-Support WaitForAllSpawned 5b Where spawnbot TotalCount 150 MaxActive 6 SpawnCount 3 WaitBeforeStarting 0 WaitBetweenSpawns 10 TotalCurrency 150 Support 1 TFBot { Class Pyro Skill Easy CharacterAttributes { "cancel falling damage" 1 } } } } Wave // Wave 6 (600$) { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } InitWaveOutput { Target wave_start_relay Action RunScriptCode Param " EntFire(`bombpath_choose_relay`, `Kill`) EntFire(`bombpath_holograms_clear_relay`, `Trigger`) EntFire(`bombpath_right_relay`, `Trigger`) EntFire(`bombpath_left_relay`, `TurnOff`) " } WaveSpawn { Name 6a-Tank TotalCount 1 WaitBeforeStarting 0 TotalCurrency 200 FirstSpawnWarningSound "mvm\mvm_tank_start.wav" FirstSpawnOutPut { Target wave_start_relay Action RunScriptCode Param " ClientPrint(null,3,`\x0799CCFFTank deployed with 30000 HP!`) " } Tank { Health 30000 Name "tankboss" Speed 75 StartingPathTrackNode boss_path_1 OnKilledOutput { Target boss_dead_relay Action Trigger } OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn { Name 6a Where spawnbot TotalCount 4 MaxActive 4 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 16 TotalCurrency 100 TFBot { Template T_TFBot_Giant_Scout_Fast CharacterAttributes { "cancel falling damage" 1 } } } WaveSpawn { Name 6a Where spawnbot TotalCount 10 MaxActive 10 SpawnCount 10 WaitBeforeStarting 5 WaitBetweenSpawns 0 TotalCurrency 50 TFBot { Template T_TFBot_Demo_Burst CharacterAttributes { "cancel falling damage" 1 } } } WaveSpawn { Name 6a Where spawnbot_left TotalCount 2 MaxActive 2 SpawnCount 2 WaitBeforeStarting 5 WaitBetweenSpawns 0 TotalCurrency 100 Squad { TFBot { Template T_TFBot_Giant_Heavyweapons CharacterAttributes { "cancel falling damage" 1 } } TFBot { Template T_TFBot_Giant_Uber_Medic_GuaranteePop } } } WaveSpawn { Name 6b-Support WaitForAllDead 6a Where spawnbot_left Where spawnbot Where spawnbot_right TotalCount 99 MaxActive 6 SpawnCount 3 WaitBeforeStarting 0 WaitBetweenSpawns 4 TotalCurrency 100 Support 1 TFBot { Class Scout Skill Easy CharacterAttributes { "cancel falling damage" 1 } } } //WaveSpawn //{ //Name 6b //WaitForAllDead 6a //Where spawnbot_left //TotalCount 30 //MaxActive 8 //SpawnCount 6 //WaitBeforeStarting 0 //WaitBetweenSpawns 13 //TotalCurrency 50 //TFBot //{ //Class Soldier //Skill Normal //CharacterAttributes //{ // "cancel falling damage" 1 //} //} //} WaveSpawn { Name 6b WaitForAllDead 6a Where spawnbot TotalCount 10 MaxActive 10 SpawnCount 2 WaitBeforeStarting 0 WaitBetweenSpawns 10 TotalCurrency 100 TFBot { Template T_TFBot_Giant_Pyro_Dragon_Fury } } WaveSpawn { Name 6c WaitForAllSpawned 6b TotalCount 1 WaitBeforeStarting 0 TotalCurrency 100 FirstSpawnWarningSound "mvm\mvm_tank_start.wav" FirstSpawnOutPut { Target wave_start_relay Action RunScriptCode Param " ClientPrint(null,3,`\x0799CCFFTank deployed with 22500 HP!`) " } Tank { Health 22500 Name "tankboss" Speed 75 Skin 1 StartingPathTrackNode boss_path_1 OnKilledOutput { Target boss_dead_relay Action Trigger } OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn { Name 6c WaitForAllSpawned 6b Where spawnbot TotalCount 10 MaxActive 10 SpawnCount 2 WaitBeforeStarting 18 WaitBetweenSpawns 14 TotalCurrency 100 TFBot { Template T_TFBot_Giant_Soldier_Spammer CharacterAttributes { "cancel falling damage" 1 "blast dmg to self increased" 0 } } } } } // Change Log // Wave 1 // Change Giant Demoknight to Giant Back Scratcher Pyro // Wave 4 // Reduce Shotgun Soldier Count from 36 to 28 // Wave 6 // Reduce Super Scout Count from 5 to 4 // Tank Reduced health from 35k to 20k // Change Giant Burst Demo to Giant Rapid Fire Demo and Remove Crit // Change Log // Wave 1 // Change DF Pyro to Standard Pyro Easy AI