#base robot_standard.pop #base robot_giant.pop //Ideally no more base files. // Passchendaele // In the memory of fallen in World War 1 // 1914-1918 WaveSchedule { StartingCurrency 1300 CanBotsAttackWhileInSpawnRoom no RespawnWaveTime 4 Advanced 1 Templates //any bot that got used twice stuffed in here to safe space { T_TFBot_Passchen_Engi { Class Engineer Name Engineer Skill Expert TeleportWhere spawnbot TeleportWhere spawnbot_left //TeleportWhere spawnbot_right TeleportWhere spawnbot_invasion Health 250 Name "Der Wartungsingenieur" Attributes TeleportToHint Item "The Jag" Item "the trencher's topper" ItemAttributes //god bless 42 for figuring fast building buildings ages ago { ItemName "The Jag" "engineer sentry build rate multiplier" 2 "engineer teleporter build rate multiplier" 2 } } T_TFBot_ArtilleryStrike { Name "Artillery Titan" Class Soldier ClassIcon soldier_stun_spammer Health 1000000 Scale 20 Attributes AlwaysFireWeapon Attributes UseBossHealthBar Attributes HoldFireUntilFullReload Skill Expert Attributes MiniBoss Tag bot_giant Item "The Original" Item "tyrantium helmet" Item "big steel jaw of summer fun" ItemAttributes { ItemName "The Original" "projectile spread angle penalty" 2 //"damage penalty" 0.5 "damage bonus" 2.5 "blast radius increased" 1.3 "fire rate bonus" 0.3 "use large smoke explosion" 1 "rocket specialist" 1 "Projectile speed increased" 1.3 //"reload time decreased" 0.5 "mod max primary clip override" 10 } } T_TFBot_Sniper_NoScope { Class Sniper Skill Hard WeaponRestrictions PrimaryOnly Item "The Bazaar Bargain" Item "The Head Hedge" Attributes AlwaysFireWeapon Name "Rifleman" CharacterAttributes { "damage penalty" 0.7 } } T_TFBot_Demo_Mortar { Class Demoman Name "Mortar Demo" Skill Normal WeaponRestrictions PrimaryOnly Item "The Loose Cannon" Item "bedouin bandana" ClassIcon "demo_loosecannon" ItemAttributes { ItemName "The loose cannon" "grenade launcher mortar mode" -2 "fire rate bonus" 0.7 "mod max primary clip override" 1 "damage bonus" 2 "reload time increased" 3 } } T_TFBot_Heavyweapons_Brass { Class Heavyweapons Name "Brass Beast Heavy" Skill Normal Name "MG-Schuetze" Item "The Brass Beast" Item "spiral sallet" ClassIcon heavy_brassbeast ItemAttributes { ItemName "the brass beast" "damage bonus" 2.0 "bullets per shot bonus" 0.25 "weapon spread bonus" 0.6 "fire rate penalty" 1.2 } } T_TFBot_Giant_Heavyweapons_Brass { //a spin on valve template with tweaked brass Class Heavyweapons Name "Reisiger MG-Schuetze" ClassIcon heavy_brassbeast_giant Item "The Brass Beast" Item "commando elite" Skill Expert Health 5000 WeaponRestrictions PrimaryOnly Attributes MiniBoss ItemAttributes { ItemName "The Brass Beast" "damage bonus" 3.0 "bullets per shot bonus" 0.25 "weapon spread bonus" 0.4 "fire rate penalty" 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_Pyro_Shotgun { Class Pyro ClassIcon heavy_shotgun Name "Shotgun Pyro" Skill Expert Item "loyalty reward" WeaponRestrictions SecondaryOnly ItemAttributes { ItemName "TF_WEAPON_SHOTGUN_PYRO" "faster reload rate" 0.1 "fire rate bonus" 2.5 "bullets per shot bonus" 3 "damage bonus" 0.33 } } T_TFBot_Pyro_Gascan { Name "Chlorine Gas Dispenser" Class Pyro Skill Expert ClassIcon pyro_gascann MaxVisionRange 750 WeaponRestrictions SecondaryOnly Attributes AlwaysFireWeapon Item "The Gas Passer" Item "The Breather Bag" ItemAttributes { ItemName "The Breather Bag" "set item tint RGB" 3329330 //lime aka safe "head scale" 1.2 } ItemAttributes { ItemName "The Gas Passer" "mult_item_meter_charge_rate" 0.1 //.01 is framing hell //"fire rate penalty" 4.7 } } T_TFBot_Scout_Fodder { Class Scout Skill Expert WeaponRestrictions MeleeOnly Attributes AlwaysCrit ClassIcon scout_bat Name "Cannon Fodder" } T_TFBot_Scout_Luger { ClassIcon scout_pistol WeaponRestrictions SecondaryOnly Skill Hard Name "Luger Gunfighter" Class Scout ItemAttributes { ItemName "ttg max pistol" "damage bonus" 1.33 "weapon spread bonus" 0.6 "fire rate penalty" 1.4 "clip size penalty" 0.67 } Item "ttg max pistol" Item "fortunate son" } T_TFBot_Soldier_Shotgun { Class Soldier ClassIcon heavy_shotgun Name "Shotgun Soldier" Skill Normal Item "loyalty reward" WeaponRestrictions SecondaryOnly ItemAttributes { ItemName "TF_WEAPON_SHOTGUN_SOLDIER" "faster reload rate" 0.1 "fire rate bonus" 2.5 "bullets per shot bonus" 3 "damage bonus" 0.33 } } T_TFBot_Soldier_Melee { Name "Trench Foot" Class Soldier Skill Expert WeaponRestrictions MeleeOnly ClassIcon soldier_shovel Item "stahlhelm" CharacterAttributes { "move speed bonus" 1.5 } } } //SBust W1 Mission { Objective DestroySentries BeginAtWave 1 RunForThisManyWaves 1 Where spawnbot_mission_sentry_buster CooldownTime 50 TFBot { Template T_TFBot_SentryBuster } } //SBust W2 Mission { Objective DestroySentries BeginAtWave 2 RunForThisManyWaves 1 Where spawnbot_mission_sentry_buster CooldownTime 30 TFBot { Template T_TFBot_SentryBuster } } //SBust W3/4 Mission { Objective DestroySentries BeginAtWave 3 RunForThisManyWaves 2 Where spawnbot_mission_sentry_buster CooldownTime 40 TFBot { Template T_TFBot_SentryBuster Name "Giant Sentry Buster" Health 5000 Scale 1.7 } } //Snip W1 Mission { Objective Sniper BeginAtWave 1 RunForThisManyWaves 1 Where spawnbot_mission_sniper InitialCooldown 30 CooldownTime 50 DesiredCount 2 TFBot { Template T_TFBot_Sniper Skill Expert } } //Snip W2 //Get machina, get penetration always, can't charge shots Mission { Objective Sniper BeginAtWave 2 RunForThisManyWaves 1 Where spawnbot_mission_sniper InitialCooldown 30 CooldownTime 45 DesiredCount 1 TFBot { Template T_TFBot_Sniper Skill Expert ClassIcon sniper_penetrator Item "The Machina" ItemAttributes { ItemName "The Machina" "sniper charge per sec" 0.01 //inb4 doesn't work "projectile penetration" 1 } } } //Snip W3/4 : now crit version Mission { Objective Sniper BeginAtWave 3 RunForThisManyWaves 2 Where spawnbot_mission_sniper InitialCooldown 30 CooldownTime 40 DesiredCount 1 TFBot { Template T_TFBot_Sniper Skill Expert Attributes AlwaysCrit Item "The Machina" ClassIcon sniper_penetrator ItemAttributes { ItemName "The Machina" "sniper charge per sec" 0.01 //inb4 doesn't work "projectile penetration" 1 } } } //Engees W1-3 Mission { Objective Engineer BeginAtWave 1 RunForThisManyWaves 3 Where spawnbot_right InitialCooldown 30 CooldownTime 120 DesiredCount 1 TFBot { Template T_TFBot_Passchen_Engi } } ///////////////////////// //Cash : 1300 starting, 1500 every wave. //Every subwave W1, W2 : 500 //First two on W3 : 650, last W3 : 200 ///////////////////////// //W1 //1-1 : 220 //1-2 : 280 // //2-1 : 280 //2-2 : 220 // //3-1 : 210 //3-2 : 290 Wave { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action trigger } Checkpoint Yes //Subwave 1-1 - Scout rush : Melee stream, Slow scatter bunches. WaveSpawn { Name "W1_1_1" Where spawnbot TotalCount 33 MaxActive 10 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 1 TotalCurrency 120 TFBot { Template T_TFBot_Scout_Fodder } } WaveSpawn { Name "W1_1_1" Where spawnbot_left //Where spawnbot_right RandomSpawn 1 TotalCount 25 MaxActive 10 SpawnCount 5 WaitBeforeStarting 10 WaitBetweenSpawns 5 TotalCurrency 100 TFBot { Class Scout Skill Normal Name "Young Man" } } //Subwave 1-2 : Wait 1-1 spawn; +5s //Squads of shotgun soldiers and heavies + small amount of gas attacks WaveSpawn { Name "W1_1_2" WaitForAllSpawned "W1_1_1" Where spawnbot_invasion RandomSpawn 1 TotalCount 27 MaxActive 12 SpawnCount 3 WaitBeforeStarting 5 WaitBetweenSpawns 3 TotalCurrency 120 Squad { TFBot { Template T_TFBot_Heavyweapons_Shotgun Skill Normal Item "loyalty reward" } TFBot { Template T_TFBot_Soldier_Shotgun } TFBot { Template T_TFBot_Soldier_Shotgun } } } WaveSpawn { Name "W1_1_2" WaitForAllSpawned "W1_1_1" Where spawnbot_invasion RandomSpawn 1 TotalCount 22 MaxActive 6 SpawnCount 1 WaitBeforeStarting 5 WaitBetweenSpawns 1.5 TotalCurrency 80 TFBot { Template T_TFBot_Pyro_Gascan } } WaveSpawn { Name "W1_1_2" WaitForAllSpawned "W1_1_1" TotalCount 1 TotalCurrency 80 SpawnCount 1 MaxActive 1 WaitBeforeStarting 10 Tank //speedy tonks { Health 10000 Name Tank Speed 150 OnKilledOutput { Target boss_dead_relay Action Trigger } OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } //W2-1 : Break (15s with wait for all dead) //Afterwards : field medics along more melee WaveSpawn { StartWaveWarningSound Announcer.MVM_Get_To_Upgrade FirstSpawnWarningSound Announcer.MVM_Wave_Start Name "W1_2_1" WaitForAllDead "W1_1_2" Where spawnbot TotalCount 66 MaxActive 9 SpawnCount 2 WaitBeforeStarting 20 WaitBetweenSpawns 3 TotalCurrency 160 TFBot { Template T_TFBot_Scout_Luger } } WaveSpawn { Name "W1_2_1" WaitForAllDead "W1_1_2" Where spawnbot_left //Where spawnbot_right RandomSpawn 1 TotalCount 66 MaxActive 6 SpawnCount 1 WaitBeforeStarting 20 WaitBetweenSpawns 1 TotalCurrency 120 TFBot { Template T_TFBot_Scout_Fodder } } //W2-2 : Small mortars (1 clip size, very slow reload, 2x damage) //Brass beast heavies, very little cause they don't move at all when spun up WaveSpawn { Name "W1_2_2" WaitForAllSpawned "W1_2_1" Where spawnbot TotalCount 8 MaxActive 4 SpawnCount 1 TotalCurrency 80 WaitBeforeStarting 5 WaitBetweenSpawns 5 TFBot { Template T_TFBot_Giant_Pyro_Flare_Spammer Name "Giant Slow Flare Pyro" Item "The Flare Gun" ItemAttributes { ItemName "The Flare Gun" //"damage bonus" 2 "fire rate bonus" 0.15 "faster reload rate" 1.5 "Projectile speed increased" 0.4 } } } WaveSpawn { Name "W1_2_2" WaitForAllSpawned "W1_2_1" Where spawnbot_left //Where spawnbot_right RandomSpawn 1 TotalCount 11 MaxActive 4 SpawnCount 1 WaitBeforeStarting 5 WaitBetweenSpawns 4 TotalCurrency 60 TFBot { Template T_TFBot_Heavyweapons_Brass Skill Normal } } WaveSpawn { Name "W1_2_2" WaitForAllSpawned "W1_2_1" Where spawnbot TotalCount 22 MaxActive 6 SpawnCount 2 WaitBeforeStarting 5 WaitBetweenSpawns 2 TotalCurrency 80 TFBot { Template T_TFBot_Demo_Mortar } } //W3-1 break, followed by first three giants - soldier shotty boy //A lot of melee soldiers WaveSpawn { StartWaveWarningSound Announcer.MVM_Get_To_Upgrade FirstSpawnWarningSound Announcer.MVM_Final_Wave_Start Name "W1_3_1" WaitForAllDead "W1_2_2" Where spawnbot TotalCount 9 SpawnCount 1 MaxActive 2 WaitBeforeStarting 20 WaitBetweenSpawns 10 TotalCurrency 150 TFBot { Class Pyro Name "Giant Shotgun Pyro" ClassIcon heavy_shotgun_giant Skill Expert Health 3000 WeaponRestrictions SecondaryOnly MaxVisionRange 1200 Attributes MiniBoss Item "loyalty reward" ItemAttributes { ItemName "TF_WEAPON_SHOTGUN_PYRO" "fire rate bonus" 2.5 "bullets per shot bonus" 10 "damage penalty" 0.5 "faster reload rate" 0.1 } CharacterAttributes //no shooting projectiles down, testing it out, as well as less speed (.7 -> .5) { "move speed bonus" 0.7 "damage force reduction" 0.3 "airblast vulnerability multiplier" 0.3 "override footstep sound set" 2 } } } WaveSpawn { Name "W1_3_1" WaitForAllDead "W1_2_2" Where spawnbot_invasion RandomSpawn 1 TotalCount 66 SpawnCount 2 MaxActive 16 WaitBeforeStarting 20 WaitBetweenSpawns 3 TotalCurrency 60 TFBot { Template T_TFBot_Soldier_Melee } } //W3-2 //human wave with more cannon fodder and trenchfoot 2:1 //letting also extra 5s between so human wave doesn't catch everything on fire WaveSpawn { Name "W1_3_2" WaitForAllSpawned "W1_3_1" Where spawnbot_invasion RandomSpawn 1 TotalCount 44 SpawnCount 1 MaxActive 8 WaitBeforeStarting 5 WaitBetweenSpawns 0 //don't spawn all at once, lags server TotalCurrency 160 TFBot { Template T_TFBot_Scout_Fodder } } WaveSpawn { Name "W1_3_2" WaitForAllSpawned "W1_3_1" Where spawnbot_invasion RandomSpawn 1 TotalCount 20 SpawnCount 1 MaxActive 8 WaitBeforeStarting 5 WaitBetweenSpawns 0 //don't spawn all at once, lags server TotalCurrency 80 TFBot { Template T_TFBot_Soldier_Melee } } WaveSpawn { Name "W1_3_2" WaitForAllSpawned "W1_3_1" Where spawnbot_chief TotalCount 6 SpawnCount 1 MaxActive 2 WaitBeforeStarting 5 WaitBetweenSpawns 5 TotalCurrency 50 TFBot { Template T_TFBot_Giant_Scout Name "Brave Man" } } } //W2 //1-1 : 240 //1-2 : 260 // //2-1 : 260 //2-2 : 240 // //3-1 : 220 //3-2 : 280 Wave { StartWaveOutput { Target wave_start_2bomb_relay Action Trigger } DoneOutput { Target wave_finished_relay Action trigger } Checkpoint Yes //Supports : drop 0$ WaveSpawn { Where spawnbot_invasion RandomSpawn 1 TotalCount 2 MaxActive 2 SpawnCount 1 WaitBeforeStarting 10 WaitBetweenSpawns 15 //TotalCurrency 0 Support 1 TFBot { Template T_TFBot_Pyro_Gascan } } WaveSpawn { Where spawnbot_invasion RandomSpawn 1 TotalCount 6 MaxActive 3 SpawnCount 2 WaitBeforeStarting 0 WaitBetweenSpawns 6 //TotalCurrency 0 Support 1 TFBot { Template T_TFBot_Scout_Fodder } } WaveSpawn { Where spawnbot_right TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 120 WaitBetweenSpawns 0 //TotalCurrency 0 Support 1 FirstSpawnWarningSound "mvmthemes/ArtilleryTitan_Summon.wav" TFBot { Template T_TFBot_ArtilleryStrike } } //W2-1-1 : Hanz, get ze flammenwerfer. //Along with a bit more machinegunners WaveSpawn { Name "W2_1_1" Where spawnbot Where spawnbot_left RandomSpawn 1 TotalCount 3 MaxActive 3 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 20 TotalCurrency 180 TFBot { Name "Hanz, der Flammenwerfer" Template T_TFBot_Giant_Pyro ItemAttributes { ItemName "TF_WEAPON_FLAMETHROWER" "flame_drag" 4 "flame_gravity" 400 } } } WaveSpawn { Name "W2_1_1" Where spawnbot_invasion RandomSpawn 1 TotalCount 16 MaxActive 8 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 3 TotalCurrency 60 TFBot { Template T_TFBot_Heavyweapons_Brass Skill Normal //Attributes AlwaysCrit } } //W1-2 return of the shotgun giants (soldier this time around) //and more field meds WaveSpawn { Name "W2_1_2" WaitForAllSpawned "W2_1_1" Where spawnbot TotalCount 4 MaxActive 2 SpawnCount 1 WaitBeforeStarting 5 WaitBetweenSpawns 20 TotalCurrency 160 TFBot { Class Soldier Name "Giant Shotgun Soldier" ClassIcon heavy_shotgun_giant Item "loyalty reward" Skill Expert Health 3800 WeaponRestrictions SecondaryOnly MaxVisionRange 1200 Attributes MiniBoss ItemAttributes { ItemName "TF_WEAPON_SHOTGUN_SOLDIER" "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 } } } WaveSpawn { Name "W2_1_2" WaitForAllSpawned "W2_1_1" Where spawnbot_left //Where spawnbot_right RandomSpawn 1 TotalCount 35 MaxActive 10 SpawnCount 1 WaitBeforeStarting 10 WaitBetweenSpawns 2 TotalCurrency 100 TFBot { Template T_TFBot_Scout_Luger } } //W2_1 bois //break, followed by giant heavies (extra slow ones, 4 of them) //supplied by suicide demos WaveSpawn { Name "W2_2_1" WaitForAllDead "W2_1_2" Where spawnbot TotalCount 2 SpawnCount 1 MaxActive 1 WaitBeforeStarting 20 WaitBetweenSpawns 40 TotalCurrency 100 TFBot { Template T_TFBot_Giant_Heavyweapons_Brass } } WaveSpawn { Name "W2_2_1" WaitForAllDead "W2_1_2" Where spawnbot_left TotalCount 2 SpawnCount 1 MaxActive 1 WaitBeforeStarting 40 WaitBetweenSpawns 40 TotalCurrency 100 TFBot { Template T_TFBot_Giant_Heavyweapons_Brass } } WaveSpawn { Name "W2_2_1" WaitForAllDead "W2_1_2" StartWaveWarningSound Announcer.MVM_Get_To_Upgrade FirstSpawnWarningSound Announcer.MVM_Wave_Start Where spawnbot_invasion RandomSpawn 1 TotalCount 25 MaxActive 7 SpawnCount 1 WaitBeforeStarting 20 WaitBetweenSpawns 3 TotalCurrency 60 TFBot { Template T_TFBot_Demoman_Knight Item "The Ullapool Caber" Item "the cyborg stunt helmet" Name "Suicide Bomber" Attributes AlwaysCrit ClassIcon demo_caber ItemAttributes { ItemName "The Ullapool Caber" "damage penalty" 0.75 } CharacterAttributes { "blast dmg to self increased" 11.0 } } } //W2_2 bursts of crit bombers, along with more small cannons WaveSpawn { Name "W2_2_2" WaitForAllSpawned "W2_2_1" TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 5 TotalCurrency 65 Tank { Health 10000 Name Tank Speed 150 OnKilledOutput { Target boss_dead_relay Action Trigger } OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn { Name "W2_2_2" WaitForAllSpawned "W2_2_1" Where spawnbot TotalCount 20 MaxActive 10 SpawnCount 2 WaitBeforeStarting 5 WaitBetweenSpawns 6 TotalCurrency 125 TFBot { Template T_TFBot_Demoman_Knight Item "The Ullapool Caber" Name "Suicide Bomber" Item "the cyborg stunt helmet" Attributes AlwaysCrit ClassIcon demo_caber ItemAttributes { ItemName "The Ullapool Caber" "damage penalty" 0.75 } CharacterAttributes { "blast dmg to self increased" 11.0 } } } WaveSpawn { Name "W2_2_2" WaitForAllSpawned "W2_2_1" Where spawnbot TotalCount 30 MaxActive 8 SpawnCount 1 WaitBeforeStarting 5 WaitBetweenSpawns 2 TotalCurrency 50 TFBot { Template T_TFBot_Sniper_NoScope } } //W3_1 // Pyris // Who Long Dragon WaveSpawn { StartWaveWarningSound Announcer.MVM_Get_To_Upgrade FirstSpawnWarningSound Announcer.MVM_Final_Wave_Start Name "W2_3_1" WaitForAllDead "W2_2_2" Where spawnbot_invasion RandomSpawn 1 TotalCount 36 MaxActive 9 SpawnCount 1 WaitBeforeStarting 20 WaitBetweenSpawns 3 TotalCurrency 120 TFBot { Class Heavyweapons Item "The Huo Long Heatmaker" Name "Heisskugelschuetze" ClassIcon heavy_heater_giant ItemAttributes { ItemName "The Huo Long Heatmaker" "Set DamageType Ignite" 1 } } } WaveSpawn { Name "W2_3_1" WaitForAllDead "W2_2_2" Where spawnbot TotalCount 5 MaxActive 3 SpawnCount 1 WaitBetweenSpawns 5 WaitBeforeStarting 20 TotalCurrency 100 TFBot { Template T_TFBot_Giant_Pyro_Flare_Spammer Name "Giant Slow Flare Pyro" Item "The Flare Gun" ItemAttributes { ItemName "The Flare Gun" "fire rate bonus" 0.15 "faster reload rate" 1.5 "Projectile speed increased" 0.4 } } } //W3_2 //Giant mortar and some random shotties WaveSpawn { Name "W2_3_2" WaitForAllSpawned "W2_3_1" Where spawnbot TotalCount 5 SpawnCount 1 MaxActive 3 WaitBeforeStarting 5 WaitBetweenSpawns 10 TotalCurrency 180 TFBot { Class Demoman Name "Giant Cannon Demoman" ClassIcon demo_loosecannon_giant Skill Expert Health 3300 WeaponRestrictions PrimaryOnly Attributes HoldFireUntilFullReload Attributes MiniBoss Item "The Loose Cannon" ItemAttributes { ItemName "The loose cannon" "grenade launcher mortar mode" -2 //"faster reload rate" -0.4 "fire rate bonus" 0.525 "damage bonus" 2 "reload time increased" 3 "mod max primary clip override" 1 } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.5 "airblast vulnerability multiplier" 0.5 "override footstep sound set" 4 } } } WaveSpawn { Name "W3_3_2" WaitForAllSpawned "W2_3_1" Where spawnbot TotalCount 32 SpawnCount 1 MaxActive 15 WaitBetweenSpawns 1.33 WaitBeforeStarting 5 TotalCurrency 100 RandomChoice { TFBot { Template T_TFBot_Soldier_Shotgun Skill Expert } TFBot { Template T_TFBot_Heavyweapons_Shotgun Skill Expert Name "Shotgun Heavy" } TFBot { Class Pyro ClassIcon heavy_shotgun Name "Shotgun Pyro" Skill Expert WeaponRestrictions SecondaryOnly ItemAttributes { ItemName "TF_WEAPON_SHOTGUN_PYRO" "faster reload rate" 0.1 "fire rate bonus" 2.5 "bullets per shot bonus" 3 "damage bonus" 0.33 } } } } } //W3 //1-1 : 240 //1-2 : 320 //2-1 : 300 //2-2 : 300 //2-3 : 300 //3-1 : 0 Wave { StartWaveOutput { Target wave_start_3bomb_relay Action Trigger } DoneOutput { Target wave_finished_relay Action trigger } Checkpoint Yes //icon fix WaveSpawn { TotalCount 1 Support 1 TFBot { Class Sniper ClassIcon sniper_penetrator Attributes AlwaysCrit } } //Supports : drop 0$ WaveSpawn { Where spawnbot_invasion RandomSpawn 1 TotalCount 2 MaxActive 2 SpawnCount 1 WaitBeforeStarting 60 WaitBetweenSpawns 15 //TotalCurrency 0 Support 1 TFBot { Template T_TFBot_Pyro_Gascan Name "Molotov Cocktail Thrower" ClassIcon pyro_gascann_explode ItemAttributes { ItemName "The Gas Passer" "item_meter_charge_rate" 0.5 "weapon burn time increased" 0.001 "weapon burn dmg increased" 30 //120 damage "fire rate penalty" 4.7 } ItemAttributes { ItemName "The Breather Bag" "set item tint RGB" 15185211 //aussie gold aka yellow aka not safe "head scale" 1.2 } } } WaveSpawn { Where spawnbot_invasion RandomSpawn 1 TotalCount 6 MaxActive 3 SpawnCount 2 WaitBeforeStarting 70 WaitBetweenSpawns 6 //TotalCurrency 0 Support 1 TFBot { Template T_TFBot_Scout_Fodder } } WaveSpawn { Where spawnbot_right TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 180 WaitBetweenSpawns 0 //TotalCurrency 0 Support 1 FirstSpawnWarningSound "mvmthemes/ArtilleryTitan_Summon.wav" TFBot { Template T_TFBot_ArtilleryStrike Attributes AlwaysCrit } } //1_1 : forlorn hope, just throw yourself at enemy WaveSpawn { Name "W3_1_1" Where spawnbot_invasion TotalCount 45 MaxActive 20 SpawnCount 4 WaitBeforeStarting 0 WaitBetweenSpawns 2 TotalCurrency 120 TFBot { Class Scout Skill Hard Name "Young Man" } } WaveSpawn { Name "W3_1_1" Where spawnbot_invasion TotalCount 9 SpawnCount 1 MaxActive 2 WaitBeforeStarting 0 WaitBetweenSpawns 0 TotalCurrency 120 TFBot { Template T_TFBot_Giant_Scout Name "Brave Man" Attributes AlwaysCrit } } //1_2 //shottys and more shotties, small ones sparingly but with mixture of crits WaveSpawn { Name "W3_1_2" WaitForAllSpawned "W3_1_1" Where spawnbot TotalCount 8 SpawnCount 1 MaxActive 3 WaitBeforeStarting 5 WaitBetweenSpawns 8 //2min TotalCurrency 200 TFBot { Template T_TFBot_Giant_Heavyweapons_Shotgun Attributes AlwaysCrit ClassIcon heavy_shotgun_giant } } WaveSpawn { Name "W3_1_2" WaitForAllSpawned "W3_1_1" Where spawnbot_invasion RandomSpawn 1 TotalCount 32 SpawnCount 2 MaxActive 16 WaitBeforeStarting 5 WaitBetweenSpawns 4 TotalCurrency 160 RandomChoice { TFBot { Template T_TFBot_Soldier_Shotgun Skill Expert } TFBot { Template T_TFBot_Heavyweapons_Shotgun Skill Expert Name "Shotgun Heavy" } TFBot { Template T_TFBot_Pyro_Shotgun } } } //2_1 break, followed by Brass Breasts and SMGs WaveSpawn { Name "W3_2_1" WaitForAllDead "W3_1_2" WaitBeforeStarting 25 SpawnCount 1 MaxActive 1 TotalCount 1 TotalCurrency 50 Tank { Health 10000 Name Tank Speed 150 OnKilledOutput { Target boss_dead_relay Action Trigger } OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn { Name "W3_2_1" StartWaveWarningSound Announcer.MVM_Get_To_Upgrade FirstSpawnWarningSound Announcer.MVM_Wave_Start WaitForAllDead "W3_1_2" Where spawnbot WaitBeforeStarting 20 TotalCount 30 MaxActive 4 SpawnCount 1 WaitBetweenSpawns 1.33 TotalCurrency 130 TFBot { Template T_TFBot_Heavyweapons_Brass } } WaveSpawn { Name "W3_2_1" WaitForAllDead "W3_1_2" Where spawnbot_invasion RandomSpawn 1 TotalCount 40 MaxActive 8 SpawnCount 1 WaitBeforeStarting 20 WaitBetweenSpawns 1.33 TotalCurrency 120 TFBot { Template T_TFBot_Sniper_NoScope } } //2_2 //One Mad Jack (mini boss, 15k) //Some mortars //Some suicide bombers WaveSpawn { Name "W3_2_2" WaitForAllSpawned "W3_2_1" Where spawnbot_chief TotalCount 1 SpawnCount 1 MaxActive 1 WaitBeforeStarting 5 TotalCurrency 150 TFBot { Template T_TFBot_Giant_DemoMan_PrinceTavish Health 20000 Name "The Mad Jack" Item "The Claidheamohmor" ItemAttributes { ItemName "The Claidheamohmor" "heal on kill" 1000 } ItemAttributes { ItemName "The Chargin' Targe" "charge time increased" 2 //around 2x length "no charge impact range" 1 "attack not cancel charge" 1 "charge impact damage increased" 1.5 "charge recharge rate increased" 4 } CharacterAttributes { "move speed bonus" 0.5 "health regen" 50 "damage force reduction" 0.3 "airblast vulnerability multiplier" 0.3 "override footstep sound set" 2 "airblast vertical vulnerability multiplier" 0.1 "rage giving scale" 0.1 } Item "Melody Of Misery" Item "Demoman Hallmark" Attributes UseBossHealthBar } } WaveSpawn { Name "W3_2_2" WaitForAllSpawned "W3_2_1" Where spawnbot TotalCount 6 SpawnCount 1 MaxActive 2 WaitBeforeStarting 5 WaitBetweenSpawns 12 TotalCurrency 60 TFBot { Class Demoman Name "Giant Cannon Demoman" ClassIcon demo_loosecannon_giant Skill Expert Health 3300 WeaponRestrictions PrimaryOnly Attributes HoldFireUntilFullReload Attributes MiniBoss Attributes AlwaysCrit Item "The Loose Cannon" ItemAttributes { ItemName "The loose cannon" "grenade launcher mortar mode" -2 //"faster reload rate" -0.4 "fire rate bonus" 0.525 "damage bonus" 2 "reload time increased" 3 "mod max primary clip override" 1 } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.5 "airblast vulnerability multiplier" 0.5 "override footstep sound set" 4 } } } WaveSpawn { Name "W3_2_2" WaitForAllSpawned "W3_2_1" Where spawnbot_invasion RandomSpawn 1 TotalCount 48 SpawnCount 2 MaxActive 10 WaitBeforeStarting 5 WaitBetweenSpawns 3 TotalCurrency 90 TFBot { Template T_TFBot_Demoman_Knight Item "The Ullapool Caber" Item "the cyborg stunt helmet" Name "Suicide Bomber" Attributes AlwaysCrit ClassIcon demo_caber ItemAttributes { ItemName "The Ullapool Caber" "damage penalty" 0.75 } CharacterAttributes { "blast dmg to self increased" 11.0 } } } //2_3 //Human wave offense, massive squads, suicide bombers on separate timer WaveSpawn { Name "W3_2_3" WaitForAllSpawned "W3_2_2" Where spawnbot TotalCount 30 SpawnCount 3 MaxActive 12 WaitBeforeStarting 5 WaitBetweenSpawns 4 TotalCurrency 144 RandomChoice { //TFBot //{ // Template T_TFBot_Demo_Mortar // Skill Expert // ClassIcon demo_loosecannon //} //they stick out like a sore thumb on a wave bar TFBot { Class Scout Skill Expert Name "Young Man" } TFBot { Template T_TFBot_Soldier_Shotgun Skill Expert } TFBot { Template T_TFBot_Heavyweapons_Shotgun Skill Expert Name "Shotgun Heavy" } TFBot { Template T_TFBot_Pyro_Shotgun } TFBot { Template T_TFBot_Sniper_NoScope } } } WaveSpawn { Name "W3_2_3" WaitForAllSpawned "W3_2_2" Where spawnbot_invasion RandomSpawn 1 TotalCount 30 SpawnCount 1 MaxActive 9 WaitBeforeStarting 5 WaitBetweenSpawns 1.33 TotalCurrency 60 TFBot { Template T_TFBot_Demoman_Knight Item "The Ullapool Caber" Name "Suicide Bomber" Item "the cyborg stunt helmet" Attributes AlwaysCrit ClassIcon demo_caber ItemAttributes { ItemName "The Ullapool Caber" "damage penalty" 0.75 } CharacterAttributes { "blast dmg to self increased" 11.0 } } } WaveSpawn { Name "W3_2_3" WaitForAllSpawned "W3_2_2" WaitBeforeStarting 5 SpawnCount 1 MaxActive 1 TotalCount 1 TotalCurrency 96 Tank { Health 15000 Skin 1 Name Tank Speed 150 OnKilledOutput { Target boss_dead_relay Action Trigger } OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } } Wave { //3_1 //Medic boss //Small medic supports slapped in infinite StartWaveOutput { Target wave_start_3bomb_relay Action Trigger } DoneOutput { Target wave_finished_relay Action trigger } Checkpoint Yes //icon fix WaveSpawn { TotalCount 1 Support 1 TFBot { Class Sniper ClassIcon sniper_penetrator Attributes AlwaysCrit } } //Supports : drop 0$ WaveSpawn { Where spawnbot_invasion RandomSpawn 1 TotalCount 2 MaxActive 2 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 15 //TotalCurrency 0 Support 1 TFBot { Template T_TFBot_Pyro_Gascan Name "Molotov Cocktail Thrower" ClassIcon pyro_gascann_explode ItemAttributes { ItemName "The Gas Passer" "item_meter_charge_rate" 0.5 "weapon burn time increased" 0.001 "weapon burn dmg increased" 30 //120 damage "fire rate penalty" 4.7 } ItemAttributes { ItemName "The Breather Bag" "set item tint RGB" 15185211 //aussie gold aka yellow aka not safe "head scale" 1.2 } } } WaveSpawn { Where spawnbot_invasion RandomSpawn 1 TotalCount 6 MaxActive 3 SpawnCount 2 WaitBeforeStarting 0 WaitBetweenSpawns 6 //TotalCurrency 0 Support 1 TFBot { Template T_TFBot_Scout_Fodder } } WaveSpawn { StartWaveWarningSound "mvmthemes/WeirdMachine_Summon.wav" FirstSpawnWarningSound "mvmthemes/WeirdMachine_Fight.mp3" Name "W3_3" //WaitForAllDead "W3_2_3" Where spawnbot_chief TotalCount 1 SpawnCount 1 MaxActive 1 WaitBeforeStarting 10 TFBot { ClassIcon boss_demo_prototype WeaponRestrictions MeleeOnly Scale 1.77 Health 31574 Skill Expert Name "Weird Machine" Class Demoman Attributes "MiniBoss" Attributes "UseBossHealthBar" ItemAttributes { ItemName "the pain train" "fire rate bonus" 0.4 "damage bonus" 3.31 "attack not cancel charge" 1 } CharacterAttributes { "dmg taken from bullets reduced" 0.9 //counteracts pain train dmg weakness "damage force reduction" 0.5 "airblast vulnerability multiplier" 0.5 "override footstep sound set" 7 "health regen" 101 "cancel falling damage" 1 "head scale" 1.5 "move speed penalty" 0.7 } Item "the pain train" Item "the chargin' targe" Item "the sole saviors" Item "the dark age defender" Item "the rusty reaper" Item "the scrap sack" Item "the u-clank-a" } } WaveSpawn { Name "W3_3" WaitForAllDead "W3_2_3" Where spawnbot_invasion RandomSpawn 1 TotalCount 8 SpawnCount 1 MaxActive 8 WaitBeforeStarting 0 WaitBetweenSpawns 2 Support 1 TFBot { Template T_TFBot_Scout_Luger //Attributes AlwaysCrit } } } }