Guide to basic MvM editing: Changing wave composition, making custom robots, doing cool stuff
Alrighty, the purpose of this is to give you a general overview of how to edit wave composition and the robot's attributes in your favorite MvM map. Bored of the default waves? Make your own. Want to play against a million spies? Go for it. Sadly as far as I know there's no way to randomize or loop anything so you can't do infinite-wave random-mob mode (but you can copy-paste stuff and have a trillion waves, so close enough).
First off download GCFScape, open 'team fortress 2 content.gcf' in your steamapps folder and extract tf/scripts/population to your regular TF2 folder. It should retain the same folder structure. So steamapps/username/team fortress 2/tf/script/population. Make a backup of all these files as well.
So open mvm_mannworks.pop in your favorite text editor. Scroll down to wave 1, and inside you'll see there a bunch of mini-waves that start with WaveSpawn. First off it'll throw 12 soldiers at you total (TotalCount), in groups of 6 (SpawnCount) and if there are 10 out already it won't spawn any more (MaxActive). If you just wanted to fight a million soldiers change all those variables to 982345 or something and have fun. If you want to change them all to heavies go into TFBot {... and change the Class variable from Soldier to Heavy.
Now we gon' get fancy. Let's say you hate yourself and want to fight 5 Giant Rapid Fire Soldiers at the same time. Let's also say you also think they don't fire quite fast enough. However, you don't want later waves to use the insane-rapid fire soldiers, just this wave. Open robot_giant.pop and find his bot definitions. In this case he's called:
T_TFBot_Giant__Soldier__Spammer.
Copy+paste the whole chunk of code, and rename it:
T_TFBot_Minigun_Rockets
because he's practically gonna be shooting rockets as fast as a minigun. Change the Name field to whatever you want to show up in-game. Head down to fire rate bonus and see that it's 0.5. That means he's firing at twice his normal rate, or the gap between shots is 0.5 as long as normal. Let's change that to 0.1. Now we have our very own robot that fires super fast and is an entirely different entity than the original Soldier Spammer.
Head back over to the Mannworks pop file. Erase everything inside the TFBot brackets (Class, Skill, WeaponRestrictions). In their place type
Template T_TFBot_Minigun_Rockets
and change TotalCount, SpawnActive, and MaxActive to 5. Bam!
Now you play a bit and decide that wasn't hard enough. You think what they really need is a bunch of uber medics, two medics per soldier. Right after the first TFBot section add two identical ones, but this time type
Template T_TFBot_Medic_QuickUber
in each. Now enclose all three TFBot sections in a Squad {...} tag so it looks like this:
Squad
{
TFBot
{
Template T_TFBot_Minigun_Rockets
}
TFBot
{
Template T_TFBot_Medic_QuickUber
}
TFBot
{
Template T_TFBot_Medic_QuickUber
}
}
Awesome, now we have two ubering medics who will stay attached to your giant soldier. Now I want to send them out one at a time every 7 seconds. We just have to do some quick fixes to earlier variables and we're all good. TotalCount to 15, because we want five soldiers and ten medics, SpawnCount to 3 because we want three bots at a time, MaxActive to 15 because we want to send them out regardless of if the player has killed previous ones, and WaitBetweenSpawns to 7 because they are getting spawned every 7sec. Also, because we're so nice and this was a tough round, we'll give the players some more cash by changing TotalCurrency to 500 under WaveSpawn
SO GOOD. Now instead of the default first wave being twelve soldiers, we are sending out 5 squads in 7 second intervals, each squad consisting of our very own Way-too-rapid Fire Soldier with 2 pocket medics. That's the basics, everything else should be somewhat easily done through simple number changes and copypasting. Experiment on stuff and have fun!







