// i dont think any of the bots used have changed for this mission specifically #base robot_giant.pop #base robot_standard.pop // things i cant revert: // October 9, 2012 // Balance changes: // Explosive Headshots // Damage is now 150 regardless of upgrade level. // Damage is done in one tick instead of the previous six. // Added a slowing effect based on upgrade level (50%-80% slow, 2-4 second duration). // May 13, 2013: Updated the Phlogistinator to reduce the rate for gaining MMMPH when attacking tanks and robots in Mann Vs. Machine mode. // July 13, 2013: In MvM, when robots are killed by sniper headshots or explosive headshot upgrade, they will drop 'red' money that will automatically be collected when it would otherwise dissolve. // November 21, 2013 // maybe with enough work i could revert the hud but thats way too much outside effort // Detailed player performance stats added to the scoreboard. // Damage and Tank. Total damage done to Gray Mann's forces. // Healing. Direct healing done to other players. // Support. A composite value that reflects anything a player has done to help their team: // Examples: reset a bomb, stun or slow an enemy, provide increased damage, block damage with invulnerability or shield, and lots more. // Money. The amount each player has collected. // Players can inspect upgrades on teammates via the "Inspect" key. ("F" by default) // Medic // Healing Mastery Upgrade (previously two separate upgrades) // +25% heal rate per point. // +25% revive rate per point. // +25% self-regen rate per point. // Overheal Expert Upgrade (previously two separate upgrades) // +25% more overheal per point. // +50% duration per point. // Canteen Specialist Upgrade // Shares canteen charge effects with heal target. // +1 second charge duration per point. // -10 canteen charge price per point. // Heavy // Attack Projectiles Upgrade // decided to just make it 600 and lvl 1 to compromise // Now has two levels. // Level one is less effective than before. // Level two is more effective than level one used to be. // January 9, 2015: Fixed using the Holiday Punch to tickle Mann vs. Machine enemy bots. // July 2, 2015: Fixed being able to change class while at an upgrade station // July 3, 2015: Players no longer drop their weapons in MvM. // July 7, 2016 // Fixed multiple Mann vs. Machine bugs caused by bot AI functions being executing after the bots have died. // Improved Flamethrower flame performance in Mann vs. Machine on clients and servers by up to +500%. // February 14, 2017: Fixed the Widowmaker not doing increased damage when the Sentry Gun's target is a building, boss, or tank. // March 18, 2021: Fixed Mann vs. Machine robots sometimes using human voices instead of their robot voices. // November 15, 2021: Fixed an infinite health exploit for Snipers using The Razorback. WaveSchedule { StartingCurrency 400 CanBotsAttackWhileInSpawnRoom No RespawnWaveTime 10 // changed from 10 to 7 on October 17, 2012 // brings back as many old mechanics as possible NoReanimators 1 // added in 2c RespecEnabled 0 // changed in 2c BonusRatioHalf 1 // old bonus system was 100 or nothing BonusRatioFull 1 // old bonus system was 100 or nothing SandmanStun 1 // changed in JI StandableHeads 1 // changed to """"fix"""" an exploit with spies screwing with bots MarkedForDeathLifetime 15 // doesnt work as intended; "forces giants to remain marked the full duration it used to be" NoRomevisionCosmetics 1 // hardy laurel was released a year later // Current issues/discrepancies with old upgrades: // Soldier: Damage should cost 500 and give 20% ea, kind of fixed but whatever // Heavy: Destroy Proj not the same as original; slightly weaker. // Sniper: explosive headshot not identical; ~23-26 initial damage, 6 ticks of bleed adding up to 150 of about 25 each // Spy: Should start with 0 giant backstab damage, end at 750 in upgrading. instead starts at 188 (187.5), ends at 938 (937.5) CustomUpgradesFile "mvm_upgrades_launchv3.txt" // old upgrades but without the oldest icons; use v4 for that ExtendedUpgrades { Upgrade // pwetty pwease use this instead of upgrading with the station { Name "+20% Damage" Attribute "damage bonus" Increment 0.2 Cap 1.8 Cost 500 AllowedWeapons { Classname tf_weapon_rocketlauncher Classname tf_weapon_rocketlauncher_directhit Classname tf_weapon_particle_cannon } } Upgrade { Name "+25% Projectile Speed" Attribute "Projectile speed increased" Increment 0.25 Cap 2.0 Cost 200 AllowedWeapons { Classname tf_weapon_rocketlauncher Classname tf_weapon_rocketlauncher_directhit Classname tf_weapon_particle_cannon } } Upgrade { Name "+25% Heal Rate" Attribute "heal rate bonus" Increment 0.25 Cap 2.0 Cost 250 AllowedWeapons { Classname tf_weapon_medigun } } Upgrade { Name "+25% Max Overheal" Attribute "overheal bonus" Increment 0.25 Cap 2.0 Cost 200 AllowedWeapons { Classname tf_weapon_medigun } } Upgrade // its supposed to actually decay faster lmao { Name "+50% Overheal Time" Attribute "overheal decay bonus" Increment -0.25 Cap 0.5 Cost 150 AllowedWeapons { Classname tf_weapon_medigun } } //Upgrade // if ur not a fan of that uncomment this and comment/delete the other entry //{ // Name "+50% Overheal Time" // Attribute "overheal decay bonus" // Increment 0.5 // Cap 2 // Cost 150 // AllowedWeapons // { // Classname tf_weapon_medigun // } //} } // helps people seeing the mission menu contextualize what they cant use anymore, doesnt ban upgrades on weps not released at the time DisallowUpgrade "overheal expert" DisallowUpgrade "mad milk syringes" DisallowUpgrade "rocket specialist" DisallowUpgrade "healing mastery" DisallowUpgrade "generate rage on heal" DisallowUpgrade "damage force reduction" Textprinttime 0 // use old heavy gru and kgb icons and create templates/whatever to avoid alwayscrit; instead add attribute to item as "always crit" 1 // example in w2 when making scouts and gsoldiers not appear as critting in the wavebar // give qf meds weaponrestrictions secondaryonly as that was removed in 2c ItemBlacklist // bans weapons not available during the release of mvm, notable bans listed first { Name "The Back Scatter" Name "The Air Strike" Name "The B.A.S.E. Jumper" Name "The Gas Passer" Name "The Dragon's Fury" Name "The Thermal Thruster" Name "The Hot Hand" Name "The Loose Cannon" Name "The Iron Bomber" Name "The Quickiebomb Launcher" Name "The Tide Turner" Name "The Second Banana" Name "The Rescue Ranger" Name "The Vaccinator" Name "The Classic" Name "The Panic Attack" Name "The C.A.P.P.E.R." Name "The Batsaber" Name "The The Nostromo Napalmer" Name "The Robo-Sandvich" Name "The Bread Bite" Name "The Giger Counter" Name "The Fortified Compound" Name "The Shooting Star" Name "The Mutated Milk" Name "The Self-Aware Beauty Mark" Name "The QuƤckenbirdt" Name "The Ap-Sap" Name "The Snack Attack" Name "The Freedom Staff" Name "The Bat Outta Hell" Name "The Memory Maker" Name "The Ham Shank" Name "The Golden Frying Pan" Name "The Necro Smasher" Name "The Crossing Guard" Name "The Prinny Machete" } // reverts classes to their state when mvm was launched PlayerAttributes { Spy { "move speed penalty" 0.9375 "armor piercing" -25 } Engineer { "mod teleporter cost" 2.5 } "overheal from heal on kill" 1 // im sorry this will look ugly as shit every time you walk into a station } // reverts most weapons to their state when mvm was launched, not all can be reverted sadly ItemAttributes { ItemName "The Force-A-Nature" "clip size penalty" 0.4 } ItemAttributes { ClassName "tf_weapon_pep_brawler_blaster" "move speed penalty" 0.65 "clip size penalty" 1 "weapon spread bonus" 0.6 "damage penalty" 0.7 } ItemAttributes { ItemName "The Shortstop" "damage force increase hidden" 1 "airblast vulnerability multiplier hidden" 1 } ItemAttributes { ClassName "tf_weapon_soda_popper" "crit mod disabled" 0 } ItemAttributes // cant make health bonus always { ItemName "Pretty Boy's Pocket Pistol" "max health additive bonus" 15 "heal on hit for rapidfire" 0 "dmg taken from fire increased" 1.5 "fire rate bonus" 1 "cancel falling damage" 1 "clip size penalty" 1 "mult_dmgtaken_active" 1 } //ItemAttributes // likely doesnt work, commented due to being straight debuff if used //{ // ItemName "The Crit-A-Cola" // "mod_mark_attacker_for_death" 0.01 // "energy buff dmg taken multiplier" 1.25 //} ItemAttributes { ItemName "Mad Milk" "extinguish reduces cooldown" 1 } ItemAttributes { ItemName "The Flying Guillotine" "crit vs stunned players" 1 } ItemAttributes { ItemName "The Winger" "increased jump height from weapon" 1 } ItemAttributes { ItemName "The Wrap Assassin" "effect bar recharge rate increased" 1 "damage penalty" 0.35 } ItemAttributes { ItemName "The Atomizer" "dmg penalty vs players" 0.8 "single wep deploy time increased" 1 } ItemAttributes { ItemName "The Sun-on-a-Stick" "dmg taken from fire reduced on active" 1 } ItemAttributes { ItemName "The Fan O'War" "damage penalty" 0.1 "minicrits become crits" 0 } ItemAttributes { ItemName "The Black Box" "health on radius damage" 15 } ItemAttributes // N/A in mvm { ItemName "The Rocket Jumper" "cannot pick up intelligence" 0 } ItemAttributes { ItemName "The Liberty Launcher" "damage penalty" 1 "clip size bonus" 1 "rocket jump damage reduction" 1 } ItemAttributes { ItemName "The Beggar's Bazooka" "blast radius decreased" 1 } ItemAttributes { ItemName "The Cow Mangler 9000" "clip size upgrade atomic" 1 // doesnt work? "damage penalty" 0.9 "fire rate penalty" 0.95 "no crit boost" 1 // doesnt work? } ItemAttributes { ItemName "The Reserve Shooter" "clip size penalty" 0.5 "single wep deploy time decreased" 0.85 "switch from wep deploy time decreased" 0.85 } ItemAttributes { ItemName "The Mantreads" "airblast vulnerability multiplier" 1 "mod_air_control_blast_jump" 1 } ItemAttributes { ItemName "The Concheror" "health regen" 0 } ItemAttributes { ItemName "The Battalion's Backup" "max health additive bonus" 0 } ItemAttributes { ItemName "The Disciplinary Action" "speed buff ally" 2 // may not work, intended to add extra second of speed } ItemAttributes { ItemName "The Escape Plan" "self mark for death" 0 } ItemAttributes { ItemName "The Market Gardener" "fire rate penalty" 1 } ItemAttributes { ItemName "tf_weapon_flamethrower" "extinguish restores health" 0 } ItemAttributes { ItemName "The Backburner" "extinguish restores health" 0 } ItemAttributes { ItemName "The Degreaser" "single wep deploy time decreased" 0.35 "switch from wep deploy time decreased" 0.35 "airblast cost decreased" 1 // doesnt work? "weapon burn dmg reduced" 0.75 "extinguish restores health" 0 } ItemAttributes { ItemName "The Scorch Shot" "minicrit vs burning player" 0 "damage penalty" 0.5 "self dmg push force decreased" 1 "blast radius decreased" 0.8365 } ItemAttributes { ItemName "The Detonator" "blast dmg to self increased" 1.25 "damage penalty" 1 "blast radius decreased" 0.8365 } ItemAttributes { ItemName "The Manmelter" "extinguish restores health" 0 "fire rate penalty HIDDEN" 1.2 } ItemAttributes // gives 75 hok that can overheal { ItemName "The Powerjack" "dmg taken increased" 1 "dmg from melee increased" 1.2 "move speed bonus" 1 "heal on kill" 0 "restore health on kill" 43 } ItemAttributes // despite in game description claiming it, the custom description does not apply and the weapon functions as initially { ItemName "The Axtinguisher" "attack_minicrits_and_consumes_burning" 0 "damage penalty" 1 "single wep holster time increased" 1 "crit mod disabled" 1 "dmg penalty vs nonburning" 0.5 "crit vs burning players" 1 } ItemAttributes // supposed to have "60%" (50%) clip size penalty but gives 3 when spawning idk fix will reload to 2 as usual { ItemName "The Loch-n-Load" "clip size penalty" 0.4 "grenade no spin" 0 "damage bonus" 1.2 "dmg bonus vs buildings" 1 // may or may not work shrug cba test "blast dmg to self increased" 1.25 } ItemAttributes { ItemName "The Ali Baba's Wee Booties" "move speed bonus shield required" 1 "mult charge turn control" 2 } ItemAttributes { ItemName "The Splendid Screen" "dmg taken from blast reduced" 0.85 "mult charge turn control" 2 "charge recharge rate increased" 1 } ItemAttributes { ItemName "The Sticky Jumper" "max pipebombs decreased" 0 "cannot pick up intelligence" 0 // N/A in mvm } ItemAttributes { ItemName "The Chargin' Targe" "dmg taken from blast reduced" 0.6 } ItemAttributes { ItemName "The Eyelander" "is_a_sword" 0 } ItemAttributes // restores full health on kill over half base health but overheal { ItemName "The Half-Zatoichi" "honorbound" 0 "is_a_sword" 0 "restore health on kill" 0 "heal on kill" 200 "crit mod disabled" 1 } ItemAttributes // game wont let the health penalty always be true. exploit it i guess... { ItemName "The Claidheamohmor" "kill refills meter" 0 "dmg taken increased" 1 "max health additive penalty" -15 } ItemAttributes { ItemName "The Ullapool Caber" "single wep deploy time increased" 1 "fire rate penalty" 1 } ItemAttributes { ItemName "The Persian Persuader" "charge meter on hit" 0 "ammo gives charge" 0 "maxammo secondary reduced" 1 "maxammo primary reduced" 1 "ammo becomes health" 1 // doesnt work? //"single wep deploy time decreased" 1 // not going to bother trying to reverse sword deploy/holster stuff //"switch from wep deploy time decreased" 1 } ItemAttributes { ItemName "Natascha" "spunup_damage_resistance" 1 } ItemAttributes { ItemName "The Brass Beast" "spunup_damage_resistance" 1 } ItemAttributes { ItemName "The Huo Long Heatmaker" "damage penalty" 1 "damage bonus vs burning" 1 "uses ammo while aiming" 6 "ring of fire while aiming" 15 } ItemAttributes { ItemName "Tomislav" "weapon spread bonus" 1 "minigun spinup time decreased" 0.9 } ItemAttributes { ItemName "The Family Business" "fire rate bonus" 1 } ItemAttributes // couldnt make you take mini crits during buff, close as i can get { ItemName "The Buffalo Steak Sandvich" "energy buff dmg taken multiplier" 1.35 } ItemAttributes { ItemName "The Eviction Notice" "mod_maxhealth_drain_rate" 0 "mult_dmgtaken_active" 1.2 } ItemAttributes { ItemName "Gloves of Running Urgently" "mod_maxhealth_drain_rate" 0 "single wep holster time increased" 1.5 "self mark for death" 3 "provide on active" 1 "damage penalty" 0.75 } ItemAttributes { ItemName "The Fists of Steel" "single wep deploy time increased" 1.2 "single wep holster time increased" 1.2 } ItemAttributes { ItemName "The Warrior's Spirit" "heal on kill" 0 "single wep holster time increased" 1.2 "dmg taken increased" 1 "max health additive penalty" -20 // doesnt work? } ItemAttributes { ItemName "The Pomson 6000" "subtract victim medigun charge on hit" 15 } ItemAttributes // supposed to only be able to tp to spawn; not exit { ItemName "The Eureka Effect" "cannot pick up buildings" 1 "Construction rate decreased" 1 "mod teleporter cost" 1 "metal_pickup_decreased" 1 } ItemAttributes { ItemName "The Jag" "fire rate bonus" 1 "repair rate decreased" 1 "dmg penalty vs buildings" 1 } ItemAttributes { ItemName "The Widowmaker" "damage bonus bullet vs sentry target" 1 } ItemAttributes { ItemName "The Overdose" "move speed bonus resource level" 1.1 "damage penalty" 0.9 } ItemAttributes { ItemName "The Quick-Fix" "overheal penalty" 1 "ubercharge rate bonus" 1.25 } ItemAttributes { ItemName "The Solemn Vow" "fire rate penalty" 1 } ItemAttributes { ItemName "The Vita-Saw" "preserve ubercharge" 20 "lunchbox adds minicrits" 0 } ItemAttributes { ItemName "The Amputator" "health regen" 0 "damage penalty" 1 } ItemAttributes // dont know how to make charge lost after miss { ItemName "The Bazaar Bargain" "mult sniper charge penalty DISPLAY ONLY" 0.8 } ItemAttributes { ItemName "The Cleaner's Carbine" "minicrit_boost_when_charged" 0 "minicrit_boost_charge_rate" 0 "fire rate penalty" 1.35 "critboost on kill" 3 } ItemAttributes { ItemName "Jarate" "extinguish reduces cooldown" 1 } ItemAttributes // test { ItemName "The Razorback" "item_meter_charge_type" 0 "item_meter_charge_rate" 0 "overheal penalty" 1 } ItemAttributes { ItemName "The Cozy Camper" "health regen" 1 "sniper aiming movespeed decreased" 0.2 } ItemAttributes { ItemName "Darwin's Danger Shield" "afterburn immunity" 0 "dmg taken from fire reduced" 1 "max health additive bonus" 25 } ItemAttributes { ItemName "The Bushwacka" "crit mod disabled" 1 "dmg taken increased" 1 "dmg taken from fire increased" 1.2 } ItemAttributes { ItemName "The Ambassador" "crit_dmg_falloff" 0 } ItemAttributes { ItemName "The L'Etranger" "cloak consume rate decreased" 1 } ItemAttributes { ItemName "The Enforcer" "damage bonus while disguised" 1 "dmg pierces resists absorbs" 0 } ItemAttributes { ItemName "The Big Earner" "speed_boost_on_kill" 0 } ItemAttributes { ItemName "The Conniver's Kunai" "max health additive penalty" -65 } ItemAttributes { ItemName "Your Eternal Reward" "cannot disguise" 1 "mult cloak meter consume rate" 1 "mod_disguise_consumes_cloak" 0 } ItemAttributes { ItemName "The Spy-cicle" "silent killer" 1 } ItemAttributes // butchered attempt to fix { ItemName "The Dead Ringer" "mod_cloak_no_regen_from_items" 0 } ItemAttributes { ItemName "The Cloak And Dagger" "mod_cloak_no_regen_from_items" 1 "ReducedCloakFromAmmo" 1 } // reskins ItemAttributes { ItemName "The Horseless Headless Horseman's Headtaker" "is_a_sword" 0 } ItemAttributes { ItemName "The Nostromo Napalmer" "extinguish restores health" 0 } ItemAttributes { ItemName "The Rainblower" "extinguish restores health" 0 } ItemAttributes // despite in game description claiming it, the custom description does not apply and the weapon functions as initially { ItemName "The Postal Pummeler" "attack_minicrits_and_consumes_burning" 0 "damage penalty" 1 "single wep holster time increased" 1 "crit mod disabled" 1 "dmg penalty vs nonburning" 0.5 "crit vs burning players" 1 } ItemAttributes { ItemName "The Bootlegger" "move speed bonus shield required" 1 "mult charge turn control" 2 } ItemAttributes { ItemName "Nessie's Nine Iron" "is_a_sword" 0 } ItemAttributes { ItemName "The Wanga Prick" "cannot disguise" 1 "mult cloak meter consume rate" 1 "mod_disguise_consumes_cloak" 0 } // makes health bonus and etc work always //CustomWeapon //Allows you to use an alias for items with custom attributes //{ // "OldPocket" // { // OriginalItemName "TF_WEAPON_PISTOL" // "max health additive bonus" 15 // "dmg taken from fire increased" 1.5 // "cancel falling damage" 1 // "custom item model" "models/workshop/weapons/c_models/c_pep_pistol/c_pep_pistol.mdl" // "custom weapon fire sound" "Weapon_PickPocket_Pistol.Single" // } //} //ItemReplacement //{ // "OldPocket" // { // Name "Pretty Boy's Pocket Pistol" // } //} //CustomWeapon //Allows you to use an alias for items with custom attributes //{ // "OldClaidheamohmor" // { // OriginalItemName "tf_weapon_bottle" // "max health additive penalty" -15 // "is_a_sword" 72 // "charge time increased" 0.5 // "custom item model" "models/workshop/weapons/c_models/c_claidheamohmor/c_claidheamohmor.mdl" // } //} //ItemReplacement //{ // "Oldclaidheamohmor" // { // Name "The Claidheamohmor" // } //} // what i couldnt revert: // weapon related: // sniper can drop red cash // only qf should mirror speed of patient // flamethrowers shouldnt fuck with med healing // flamethrower stuff from jungle inferno on cant be reversed but potato does some of the work // cant use pre-minigun ramp up change // cant remove bonk slow after expiration // sandman old ball recharge (couldnt find) or major reworks // ambi not doing crit headshots past 1200hu // dead ringer speed boost, shimmer, half cloak when activated, resistance changes // shields ridding debuffs on charge // tanks giving rage // inspecting pain train // cant change skullcutter debuff to be permanent regardless of active or not // engi giving less to sentry while wrangler shield and the disable after deactivation // cannot make shortstop use secondary ammo or not use alt fire shove // cannot make pyro not get health when airblasting black box rockets nor revert to old black box health giving system // cannot make batt backup use older buff stats // cannot make sleeper jarate on hit target only nor apply the same value of jarate regardless of charge // cant make caber deal less base damage and deal more explosion damage // cant make buffalo steak duration last 15s // cant get rid of fists of steel overheal/heal rate nerfs go away // unable to affect crossbow // cant give sticky jumper more bombs // cannot atm give sticky launchers and grenade launchers less blast radius // cannot give volcano frag old afterburn // cannot remove speed buff from conch // cannot make kunai heal less than 75 health initially // atomizer supposed to deal 10 dmg to self on 3rd jump and be active without being deployed, also cannot remove mini crit while airborne // cannot make soda popper gain hype by running // cannot make reserve shooter mini crit any time nor have a 3 second window to mini crit // cant make detonator not mini crit on hit // cant make bootlegger or booties gain charge only on melee kill // cant make quick-fix not apply kb resist while ubering or not take blast dmg boost from some flares // cant give cow mangler more clip // the amount of changes to the short circut // cant make diamondback not gain crits from backstab // cant make wrap assassin shatter differently // cannot change how much mmph needed for phlog or taunting effects // cant make pomson use old method of subtraction on hit // cant make eureka effect tp to spawn only // cant make spycicle provide fire immunity for 3 seconds nor not get ammo to recharge // cannot make cozy camper flinch immune always but potato does it for me // cannot make baby face blaster lose hype on any jump // cant make beggars use stock taunt and never take ammo from disp ever // cant make cleaver mini crit long range and reduce charge on long range hit // ~~cant change ring damage~~ (Thanks randomguy) // general hits going or not going through teammates and base balance/state changes that arent translated into changeable variables // class related: // cannot mark giants for full 15 seconds // cannot make spy unable to backstab giants initially // ~~cannot make engi have more expensive teleporters~~ (Thanks randomguy) // gamemode related: // ~~all weapons should overheal on kill~~ (maybe it wont look so ugly later on) // mannworks specific, removes nobuild that was added after launch PointTemplates { remove { logic_relay { "onspawn" "@bb-293 -401 -873 291 399 871@func_nobuild,kill,,0,-1" } } } SpawnTemplate remove Templates { 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_Sniper_Jarate { Class Sniper Name "Jarate Thrower" Skill Easy ClassIcon sniper_jarate Item "Jarate" Item "Desert Marauder" WeaponRestrictions SecondaryOnly ItemAttributes { ItemName "Jarate" "effect bar recharge rate increased" 0.1 } } T_TFBot_Giant_Soldier_Crit_Launch { Class Soldier Name "Giant Charged Soldier" ClassIcon soldier_crit Skill Normal Health 3800 Item "The Original" WeaponRestrictions PrimaryOnly Attributes MiniBoss ItemAttributes { ItemName "The Original" "always crit" 1 } CharacterAttributes { "move speed bonus" 0.5 "faster reload rate" 0.2 "Projectile speed increased" 0.5 "fire rate bonus" 2 "damage force reduction" 0.4 "airblast vulnerability multiplier" 0.4 "override footstep sound set" 3 } } } // MISSION: Sentry Buster Mission { Objective DestroySentries Where spawnbot CooldownTime 30 TFBot { Template T_TFBot_SentryBuster } } // MISSION: Sniper 01 Mission { Objective Sniper Where spawnbot_mission_sniper BeginAtWave 1 RunForThisManyWaves 1 CooldownTime 60 InitialCooldown 30 DesiredCount 2 TFBot { Template T_TFBot_Sniper_Sydney_Sleeper } } // MISSION: Sniper 02 Mission { Objective Sniper Where spawnbot_mission_sniper BeginAtWave 2 RunForThisManyWaves 1 CooldownTime 60 InitialCooldown 20 DesiredCount 2 TFBot { Template T_TFBot_Sniper_Razorback } } // MISSION: Sniper 03 Mission { Objective Sniper Where spawnbot_mission_sniper BeginAtWave 3 RunForThisManyWaves 1 CooldownTime 60 InitialCooldown 20 DesiredCount 2 TFBot { Template T_TFBot_Sniper_Razorback } } // MISSION: Sniper 05 Mission { Objective Sniper Where spawnbot_mission_sniper BeginAtWave 5 RunForThisManyWaves 1 CooldownTime 60 InitialCooldown 20 DesiredCount 2 TFBot { Template T_TFBot_Sniper_Sydney_Sleeper } } // MISSION: Spy 01 Mission { Objective Spy Where spawnbot_mission_spy BeginAtWave 1 RunForThisManyWaves 1 CooldownTime 45 InitialCooldown 45 DesiredCount 3 TFBot { Template T_TFBot_Spy } } // MISSION: Spy 02 Mission { Objective Spy Where spawnbot_mission_spy BeginAtWave 2 RunForThisManyWaves 1 CooldownTime 90 InitialCooldown 30 DesiredCount 2 TFBot { Template T_TFBot_Spy } } // MISSION: Spy 04 Mission { Objective Spy Where spawnbot_mission_spy BeginAtWave 4 RunForThisManyWaves 1 CooldownTime 60 InitialCooldown 5 DesiredCount 3 TFBot { Template T_TFBot_Spy } } // MISSION: Spy 05 Mission { Objective Spy Where spawnbot_mission_spy BeginAtWave 5 RunForThisManyWaves 1 CooldownTime 60 InitialCooldown 30 DesiredCount 2 TFBot { Template T_TFBot_Spy } } // WAVE 01 900 Wave { Explanation { Line "{red}Playing with this command is encouraged" Line "{green}cl_mvm_wave_status_visible_during_wave 0" } Checkpoint Yes StartWaveOutput { Target bombpath_arrows_clear_relay Action Trigger } DoneOutput { Target bombpath_wavefinished Action Trigger } WaveSpawn { TotalCurrency 200 Name "stage1" Where spawnbot_mission_sniper RandomSpawn 1 TotalCount 12 SpawnCount 2 MaxActive 10 WaitBetweenSpawns 20 WaitBeforeStarting 5 TFBot { Template T_TFBot_Pyro Skill Hard } } WaveSpawn { TotalCurrency 700 Name "stage1" Where spawnbot RandomSpawn 1 TotalCount 35 SpawnCount 5 MaxActive 15 WaitBetweenSpawns 18 WaitBeforeStarting 0 Squad { TFBot { Template T_TFBot_Giant_Demo_RapidFire } TFBot { Template T_TFBot_Heavyweapons_Fist } TFBot { Template T_TFBot_Heavyweapons_Fist } TFBot { Template T_TFBot_Heavyweapons_Fist } TFBot { Template T_TFBot_Heavyweapons_Fist } } } } // WAVE 02 900 Wave { Checkpoint Yes StartWaveOutput { Target bombpath_arrows_clear_relay Action Trigger } DoneOutput { Target bombpath_wavefinished Action Trigger } WaveSpawn // Crit Scout Invasion { TotalCurrency 200 Name "stage1" Where spawnbot RandomSpawn 1 TotalCount 48 SpawnCount 12 MaxActive 16 WaitBetweenSpawns 10 WaitBeforeStarting 0 TFBot { Template T_TFBot_Scout_Melee Skill Expert ItemAttributes { ItemName "tf_weapon_bat" "always crit" 1 // makes it appear to not crit in wavebar, intentional due to being the case at launch } } } WaveSpawn // Crit Scout Invasion Center { TotalCurrency 200 Name "stage1" Where spawnbot_mission_sniper RandomSpawn 1 TotalCount 24 SpawnCount 6 MaxActive 8 WaitBetweenSpawns 10 WaitBeforeStarting 0 TFBot { Template T_TFBot_Scout_Melee Skill Expert ItemAttributes { ItemName "tf_weapon_bat" "always crit" 1 // makes it appear to not crit in wavebar, intentional due to being the case at launch } } } WaveSpawn // Crit Scout Invasion Escalation { TotalCurrency 200 Name "stage2" WaitForAllSpawned "stage1" Where spawnbot_mission_sniper RandomSpawn 1 TotalCount 32 SpawnCount 16 MaxActive 16 WaitBetweenSpawns 10 WaitBeforeStarting 0 Squad { TFBot { Template T_TFBot_Scout_Melee Skill Expert ItemAttributes { ItemName "tf_weapon_bat" "always crit" 1 // makes it appear to not crit in wavebar, intentional due to being the case at launch } } TFBot { Template T_TFBot_Medic_QuickFix WeaponRestrictions SecondaryOnly } } } WaveSpawn // Crit Scout Invasion Center Escalation { TotalCurrency 200 Name "stage2" WaitForAllSpawned "stage1" Where spawnbot_mission_sniper RandomSpawn 1 TotalCount 24 SpawnCount 6 MaxActive 8 WaitBetweenSpawns 10 WaitBeforeStarting 0 Squad { TFBot { Template T_TFBot_Scout_Melee Skill Expert ItemAttributes { ItemName "tf_weapon_bat" "always crit" 1 // makes it appear to not crit in wavebar, intentional due to being the case at launch } } TFBot { Template T_TFBot_Medic_QuickFix WeaponRestrictions SecondaryOnly } } } WaveSpawn { TotalCurrency 100 Name "stage2" WaitForAllSpawned "stage1" Where spawnbot RandomSpawn 1 TotalCount 8 SpawnCount 2 MaxActive 4 WaitBetweenSpawns 10 WaitBeforeStarting 10 TFBot { Template T_TFBot_Giant_Soldier_Crit_Launch } } } // WAVE 03 900 Wave { Checkpoint Yes StartWaveOutput { Target bombpath_arrows_clear_relay Action Trigger } DoneOutput { Target bombpath_wavefinished Action Trigger } WaveSpawn { TotalCurrency 100 Name "stage1" Where spawnbot RandomSpawn 1 TotalCount 6 SpawnCount 2 MaxActive 4 WaitBetweenSpawns 10 WaitBeforeStarting 0 TFBot { Template T_TFBot_Giant_Scout_Fast } } WaveSpawn { TotalCurrency 200 TotalCount 1 WaitForAllSpawned "stage1" Tank { Health 12000 Speed 75 Name "tankboss_left" StartingPathTrackNode "boss_path_1" OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn { TotalCurrency 200 TotalCount 1 WaitForAllSpawned "stage1" Tank { Health 12000 Speed 75 Name "tankboss_right" StartingPathTrackNode "boss_path2_1" OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn { TotalCurrency 100 Name "stage2" WaitForAllSpawned "stage1" Where spawnbot TotalCount 20 SpawnCount 4 MaxActive 16 WaitBetweenSpawns 10 WaitBeforeStarting 15 TFBot { Class Soldier Skill Hard WeaponRestrictions PrimaryOnly } } WaveSpawn // Pyro { TotalCurrency 100 Name "stage2" WaitForAllSpawned "stage1" Where spawnbot TotalCount 20 SpawnCount 4 MaxActive 4 WaitBetweenSpawns 15 WaitBeforeStarting 20 TFBot { Class Pyro Skill Hard WeaponRestrictions PrimaryOnly } } WaveSpawn { TotalCurrency 100 Name "stage2" WaitForAllSpawned "stage1" Where spawnbot RandomSpawn 1 TotalCount 6 SpawnCount 2 MaxActive 4 WaitBetweenSpawns 10 WaitBeforeStarting 20 TFBot { Template T_TFBot_Giant_Scout_Fast } } WaveSpawn { //TotalCurrency 100 Name "stage3" WaitForAllSpawned "stage2" Support 1 // fix the timing issue so these don't just end mid way Where spawnbot TotalCount 36 SpawnCount 6 MaxActive 10 WaitBetweenSpawns 15 WaitBeforeStarting 20 TFBot { Template T_TFBot_Scout_Melee } } WaveSpawn { TotalCurrency 100 Name "stage3" WaitForAllSpawned "stage2" Where spawnbot RandomSpawn 1 TotalCount 32 SpawnCount 8 MaxActive 8 WaitBetweenSpawns 20 WaitBeforeStarting 0 Squad { TFBot { Template T_TFBot_Giant_Heavyweapons } TFBot { Template T_TFBot_Medic_QuickUber } TFBot { Template T_TFBot_Medic_QuickUber } TFBot { Template T_TFBot_Medic_QuickUber } } } } // WAVE 04 900 Wave { Checkpoint Yes StartWaveOutput { Target bombpath_arrows_clear_relay Action Trigger } DoneOutput { Target bombpath_wavefinished Action Trigger } WaveSpawn { TotalCurrency 200 Name "stage1" Where spawnbot_left TotalCount 8 SpawnCount 8 MaxActive 8 WaitBetweenSpawns 0 WaitBeforeStarting 0 TFBot { Template T_TFBot_Heavyweapons_Deflector } } WaveSpawn { TotalCurrency 50 Name "stage1" Where spawnbot_right TotalCount 8 SpawnCount 8 MaxActive 8 WaitBetweenSpawns 0 WaitBeforeStarting 0 TFBot { Template T_TFBot_Demoman Skill Hard } } WaveSpawn { TotalCurrency 50 Name "stage1" Where spawnbot RandomSpawn 1 TotalCount 4 SpawnCount 2 MaxActive 2 WaitBetweenSpawns 20 WaitBeforeStarting 5 TFBot { Template T_TFBot_Giant_Pyro Attributes AlwaysFireWeapon } } WaveSpawn { TotalCurrency 50 Name "stage2" WaitForAllSpawned "stage1" Where spawnbot_left TotalCount 24 SpawnCount 8 MaxActive 8 WaitBetweenSpawns 10 WaitBeforeStarting 15 TFBot { Template T_TFBot_Demoman } } WaveSpawn { TotalCurrency 200 Name "stage2" WaitForAllSpawned "stage1" Where spawnbot_right TotalCount 30 SpawnCount 10 MaxActive 12 WaitBetweenSpawns 10 WaitBeforeStarting 15 TFBot { Template T_TFBot_Heavyweapons_Deflector } } WaveSpawn { TotalCurrency 25 Name "stage3" WaitForAllSpawned "stage2" Where spawnbot TotalCount 24 SpawnCount 8 MaxActive 22 WaitBetweenSpawns 20 WaitBeforeStarting 30 TFBot { Template T_TFBot_Demoman_Knight } } WaveSpawn { TotalCurrency 100 Name "stage3" WaitForAllSpawned "stage2" Where spawnbot TotalCount 6 SpawnCount 1 MaxActive 3 WaitBetweenSpawns 10 WaitBeforeStarting 0 TFBot { Template T_TFBot_Giant_Demo_RapidFire } } WaveSpawn { TotalCurrency 100 Name "stage3" WaitForAllSpawned "stage2" Where spawnbot TotalCount 2 SpawnCount 2 MaxActive 2 //WaitBetweenSpawns 0 WaitBeforeStarting 0 TFBot { Template T_TFBot_Giant_Pyro Attributes AlwaysFireWeapon } } // Final Push WaveSpawn { TotalCurrency 100 Name "stage4" WaitForAllSpawned "stage3" Where spawnbot TotalCount 18 SpawnCount 4 MaxActive 8 WaitBetweenSpawns 5 WaitBeforeStarting 0 Squad { TFBot { Template T_TFBot_Giant_Demo_RapidFire } TFBot { Template T_TFBot_Medic } TFBot { Template T_TFBot_Medic } TFBot { Template T_TFBot_Medic } } } WaveSpawn { TotalCurrency 25 Name "stage4" WaitForAllSpawned "stage3" Where spawnbot TotalCount 12 SpawnCount 3 MaxActive 6 WaitBetweenSpawns 15 WaitBeforeStarting 10 TFBot { Template T_TFBot_Pyro Skill Hard } } WaveSpawn { TotalCurrency 25 Name "stage4" WaitForAllSpawned "stage3" Where spawnbot TotalCount 30 SpawnCount 10 MaxActive 18 WaitBetweenSpawns 10 WaitBeforeStarting 0 TFBot { Class Soldier Skill Hard WeaponRestrictions PrimaryOnly } } } // WAVE 05 900 Wave { Checkpoint Yes StartWaveOutput { Target bombpath_arrows_clear_relay Action Trigger } DoneOutput { Target bombpath_wavefinished Action Trigger } WaveSpawn { TotalCurrency 200 Name "stage1" Where spawnbot_left TotalCount 8 SpawnCount 2 MaxActive 4 WaitBetweenSpawns 30 WaitBeforeStarting 0 Squad { TFBot { Template T_TFBot_Giant_Soldier_Spammer ClassIcon soldier_burstfire // og icon } TFBot { Template T_TFBot_Medic_QuickUber } } } WaveSpawn { TotalCurrency 200 Name "stage1" Where spawnbot_right TotalCount 8 SpawnCount 2 MaxActive 4 WaitBetweenSpawns 30 WaitBeforeStarting 0 Squad { TFBot { Template T_TFBot_Giant_Soldier_Spammer ClassIcon soldier_burstfire // og icon } TFBot { Template T_TFBot_Medic_QuickUber } } } WaveSpawn { TotalCurrency 100 Name "stage1" Where spawnbot_mission_sniper RandomSpawn 1 TotalCount 30 SpawnCount 5 MaxActive 10 WaitBetweenSpawns 20 WaitBeforeStarting 3 Squad { TFBot { Template T_TFBot_Pyro Attributes AlwaysFireWeapon } TFBot { Template T_TFBot_Pyro } TFBot { Template T_TFBot_Pyro } TFBot { Template T_TFBot_Pyro } TFBot { Template T_TFBot_Pyro } } } WaveSpawn { TotalCurrency 50 TotalCount 1 WaitForAllSpawned "stage1" Tank { Health 20000 Speed 75 Name "tankboss_left" StartingPathTrackNode "boss_path_1" OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn { TotalCurrency 100 TotalCount 1 WaitForAllSpawned "stage1" Tank { Health 20000 Speed 75 Name "tankboss_right" StartingPathTrackNode "boss_path2_1" OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn { TotalCurrency 100 Name "stage2" WaitForAllSpawned "stage1" Where spawnbot_left TotalCount 25 SpawnCount 5 MaxActive 16 WaitBetweenSpawns 10 WaitBeforeStarting 0 TFBot { Template T_TFBot_Heavyweapons_Deflector } } // Final Push WaveSpawn { TotalCurrency 50 Name "stage3" WaitForAllSpawned "stage2" Where spawnbot_mission_sniper RandomSpawn 1 TotalCount 30 SpawnCount 4 MaxActive 10 WaitBetweenSpawns 20 WaitBeforeStarting 5 TFBot { Template T_TFBot_Pyro Skill Expert } } WaveSpawn { //TotalCurrency 0 Name "stage3" WaitForAllSpawned "stage2" Where spawnbot RandomSpawn 1 TotalCount 8 SpawnCount 1 MaxActive 6 WaitBetweenSpawns 15 WaitBeforeStarting 0 TFBot { Template T_TFBot_Giant_Demo_RapidFire } } WaveSpawn { //TotalCurrency 0 Name "stage3" WaitForAllSpawned "stage2" Where spawnbot RandomSpawn 1 TotalCount 20 SpawnCount 4 MaxActive 12 WaitBetweenSpawns 15 WaitBeforeStarting 0 TFBot { Template T_TFBot_Heavyweapons_Fist } } WaveSpawn { TotalCurrency 25 Name "stage4" WaitForAllSpawned "stage3" Where spawnbot TotalCount 45 SpawnCount 15 MaxActive 18 //WaitBetweenSpawns 0 WaitBeforeStarting 0 TFBot { Template T_TFBot_Demoman_Knight } } WaveSpawn { TotalCurrency 50 TotalCount 1 WaitForAllSpawned "stage3" Tank { Health 20000 Speed 75 Name "tankboss_left" Skin 1 StartingPathTrackNode "boss_path_1" OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn { TotalCurrency 50 TotalCount 1 WaitForAllSpawned "stage3" Tank { Health 20000 Speed 75 Name "tankboss_right" Skin 1 StartingPathTrackNode "boss_path2_1" OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } } }