//kelly //advanced //MASSIVE thanks to royal who went out of his way to make the spell logic for Subject: M.W.A.G // // Starting Currency: 400 // // +----------+----------+----------+ // | Wave | Currency | A+ | // +----------+----------+----------+ // | Wave 1 | 700 | 800 | // | Wave 2 | 800 | 900 | // | Wave 3 | 800 | 900 | // | Wave 4 | 800 | 900 | // | Wave 5 | 800 | 900 | // | Wave 6 | 800 | 900 | // | Wave 7 | 1000 | 1100 | // +----------+----------+----------+ // | Total | 5700 | 6400 | // +----------+----------+----------+ // #base robot_standard.pop #base robot_giant.pop WaveSchedule { StartingCurrency 400 RespawnWaveTime 4 CanBotsAttackWhileInSpawnRoom no ForceHoliday 2 EventPopfile Halloween ZombiesNoWave666 1 Advanced 1 PrecacheModel "models\bots\merasmus\merasmus.mdl" PrecacheModel "models/weapons/w_models/w_drg_ball.mdl" LuaScriptFile "scripts/boss_spells.lua" ExtraSpawnPoint { Name "spawnbot_giant_left" TeamNum 3 X "-1705" Y "2440" Z "289" } ExtraSpawnPoint { Name "spawnbot_giant_right" TeamNum 3 X "1121" Y "2119" Z "449" } ExtraSpawnPoint { Name "spawnbot_merasmus" TeamNum 3 X "62" Y "2949" Z "257" } PointTemplates { MerasmusPT { NoFixup 1 info_particle_system { "effect_name" "eyeboss_tp_vortex" "targetname" "merasmus_intro" "origin" "62 2949 257" "flag_as_weather" "0" "start_active" "0" } logic_relay { "targetname" "merasmus_portal" "OnTrigger" "merasmus_intro,Start,,0,-1" "OnTrigger" "merasmus_intro,Stop,,8,-1" } ambient_generic { "targetname" "merasmus_boss" "message" "music\misfortune_teller.wav" "health" "10" "spawnflags" "17" "origin" "0 0 0" } logic_relay { "targetname" "merasmus_boss_play" "OnTrigger" "merasmus_boss,PlaySound,,0,-1" } ambient_generic { "targetname" "merasmus_taunt" "message" "vo\halloween_merasmus\sf12_appears07.mp3" "health" "10" "spawnflags" "17" "origin" "0 0 0" } logic_relay { "targetname" "merasmus_taunt_play" "OnTrigger" "merasmus_taunt,PlaySound,,0,-1" } ambient_generic { "targetname" "merasmus_spell" "message" "vo\halloween_merasmus\sf12_found01.mp3" "health" "10" "spawnflags" "17" "origin" "0 0 0" } logic_relay { "targetname" "merasmus_spell_play" "OnTrigger" "merasmus_spell,PlaySound,,0,-1" } } } Templates { T_TFBot_Pyro_Elite { Class Pyro Health 900 Skill Hard WeaponRestrictions PrimaryOnly Item "The Flare Gun" Name "Elite Pyro" ClassIcon pyro_upgraded Scale 1.4 ItemAttributes { ItemName "tf_weapon_flamethrower" "damage bonus" 1.3 "airblast_destroy_projectile" 1 } CharacterAttributes { "move speed bonus" 0.85 "health regen" 10 "damage force reduction" 0.7 "airblast vertical vulnerability multiplier" 0.6 "airblast vulnerability multiplier" 0.6 "cancel falling damage" 1 } } T_TFBot_Giant_Soldier_Atomic { Class Soldier Name "Giant Atomic Soldier" ClassIcon soldier_atomic_dex Skill Expert Health 3800 Item "The Original" Attributes AlwaysCrit WeaponRestrictions PrimaryOnly Attributes HoldFireUntilFullReload Attributes MiniBoss ItemAttributes { ItemName "The Original" "faster reload rate" 0.2 "fire rate bonus" 4 "Projectile speed increased" 0.3 "blast radius increased" 2 "use large smoke explosion" 1 "damage bonus" 2 "damage causes airblast" 1 } 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_Demo_Atomic { Class Demoman Name "Giant Atomic Demoman" ClassIcon demo_atomic_mort Item "Glengarry Bonnet" Health 3000 Skill Expert Item "The Loose Cannon" WeaponRestrictions PrimaryOnly Attributes HoldFireUntilFullReload Attributes MiniBoss Attributes AlwaysCrit ItemAttributes { ItemName "The Loose Cannon" "grenade launcher mortar mode" 0 "faster reload rate" 4 "fire rate bonus" 3.5 "clip size bonus" 0.25 "Projectile speed increased" 1.2 "projectile spread angle penalty" 5 "damage bonus" 2 "fuse bonus" 1.5 "damage causes airblast" 1 "blast radius increased" 2 "use large smoke explosion" 1 } 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_Rapid_SlowBarrage { Class Soldier Name "Giant Rapid Barrage Soldier" ClassIcon soldier_barrage Health 4000 Tag bot_giant Skill Expert WeaponRestrictions PrimaryOnly Attributes MiniBoss Attributes HoldFireUntilFullReload ItemAttributes { ItemName "TF_WEAPON_ROCKETLAUNCHER" "clip size upgrade atomic" 6 "faster reload rate" 0.2 "fire rate bonus" 0.17 "projectile spread angle penalty" 5 } CharacterAttributes { "health regen" 40 "move speed bonus" 0.5 "damage bonus" 1.2 "damage force reduction" 0.4 "airblast vulnerability multiplier" 0.4 "override footstep sound set" 3 "airblast vertical vulnerability multiplier" 0.1 "Projectile speed increased" 0.35 "cancel falling damage" 1 } } T_TFBot_Soldier_Boss1 { Class Soldier Health 17000 Name "Infinity Overload" ClassIcon soldier_spammer Tag bot_giant Skill Expert WeaponRestrictions PrimaryOnly Attributes MiniBoss Attributes UseBossHealthBar Item "The Team Captain" Item "Fancy Dress Uniform" ItemAttributes { ItemName "TF_WEAPON_ROCKETLAUNCHER" "faster reload rate" -0.4 "fire rate bonus" 0.8 "fire rate bonus with reduced health" 0.45 "projectile speed increased" 0.65 } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0 "airblast vulnerability multiplier" 0 "override footstep sound set" 3 "airblast vertical vulnerability multiplier" 0 "cancel falling damage" 1 } } T_TFBot_Giant_Soldier_SlowCritBarrage { Class Soldier Name "Major Crits" ClassIcon soldier_barrage Health 4000 Tag bot_giant Skill Expert WeaponRestrictions PrimaryOnly Attributes MiniBoss Attributes HoldFireUntilFullReload Attributes AlwaysCrit ItemAttributes { ItemName "TF_WEAPON_ROCKETLAUNCHER" "clip size upgrade atomic" 26.0 "faster reload rate" 0.4 "fire rate bonus" 0.2 "projectile spread angle penalty" 5 } CharacterAttributes { "health regen" 40 "move speed bonus" 0.5 "damage bonus" 1.5 "damage force reduction" 0.4 "airblast vulnerability multiplier" 0.4 "override footstep sound set" 3 "airblast vertical vulnerability multiplier" 0.1 "Projectile speed increased" 0.35 "cancel falling damage" 1 } } T_TFBot_Giant_Pyro_FireballDude { Health 3200 Name "Giant Dragon Fury Pyro" Class Pyro Skill Hard item "the dragon's fury" Item "The Triclops" classicon pyro_dragon_fury_giant_swordstone MaxVisionRange 600 Attributes AlwaysFireWeapon Attributes MiniBoss Tag bot_giant CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.5 "airblast vulnerability multiplier" 0.5 "override footstep sound set" 3 "cancel falling damage" 1 } } T_TFBot_Heavy_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_Pyro_Boss2 { Class Pyro Health 30000 ClassIcon pyro_flare_rain_nys Name "Flare Maelstrom" Skill Expert WeaponRestrictions SecondaryOnly Item "The Flare Gun" Attributes MiniBoss Attributes UseBossHealthBar Attributes HoldFireUntilFullReload Item "Brigade Helm" Item "The Last Breath" Item "The Steel Sixpack" ItemAttributes { ItemName "The Flare Gun" "fire rate bonus" 0.2 "projectile spread angle penalty" 5 "faster reload rate" 0.2 "projectile speed increased" 1.4 "projectile range increased" 1.4 } CharacterAttributes { "move speed bonus" 0.35 "health regen" 50 "damage force reduction" 0 "airblast vulnerability multiplier" 0 "override footstep sound set" 3 "airblast vertical vulnerability multiplier" 0 "cancel falling damage" 1 } } T_TFBot_Sniper_Huntsman_Bleed_Minor { Class Sniper Name "Minor Bleed Bowman" Skill Hard ClassIcon sniper_bow_bleed WeaponRestrictions PrimaryOnly Item "The Huntsman" ItemAttributes { ItemName "The Huntsman" "damage bonus" 0.5 "bleeding duration" 2 } } T_TFBot_Sniper_Huntsman_Bleed_Major { Class Sniper Name "Major Bleed Bowman" Skill Hard ClassIcon sniper_bow_bleed2 WeaponRestrictions PrimaryOnly Item "The Huntsman" ItemAttributes { ItemName "The Huntsman" "damage bonus" 0.5 "bleeding duration" 6 } } T_TFBot_Scout_Cola_Popper { Class Scout Name "Soda Poppin Scout" Skill Normal Item "Crit-a-Cola" Item "The Soda Popper" ClassIcon scout_cola ItemAttributes { ItemName "Crit-a-Cola" "effect bar recharge rate increased" 0.5 "mod_mark_attacker_for_death" 0 } } T_TFBot_Demo_Cannon_Burst { Name "Burst Cannon Demo" Class Demoman ClassIcon demo_loosecannon Skill Hard Item "The Loose Cannon" ItemAttributes { ItemName "The Loose Cannon" "grenade launcher mortar mode" -1 "auto fires full clip" 1 "auto fires when full" 1 "fire rate bonus" 0.1 "faster reload rate" 0.8 "clip size penalty" 0.75 } } T_TFBot_Merasmus_Gun_Boss { Class Sniper Health 40000 Skill Expert ClassIcon boss_merasmus_strapped Name "Merasmus With A Gun" UseCustomModel "models\bots\merasmus\merasmus.mdl" UseHumanModel 1 UseHumanAnimations 1 Skin 0 Item "TF_WEAPON_SPELLBOOK" Attributes MiniBoss Attributes UseBossHealthBar Attributes AlwaysFireWeapon ChangeAttributes { Delay 0 Cooldown 18 Name "SMG" } ChangeAttributes { Delay 6 Cooldown 18 Name "SniperRifle" } ChangeAttributes { Delay 12 Cooldown 18 Name "Magic" } FireInput { Delay 12 Cooldown 18 Repeats 0 Target "merasmus_spell" Action "PlaySound" } ItemAttributes { ItemName "TF_WEAPON_CLUB" "is invisible" 1 } CharacterAttributes { "move speed bonus" 0.3 "hand scale" 2 "damage force reduction" 0 "airblast vulnerability multiplier" 0 "override footstep sound set" 3 "airblast vertical vulnerability multiplier" 0 "cancel falling damage" 1 } EventChangeAttributes { SMG { WeaponRestrictions SecondaryOnly ItemAttributes { ItemName "tf_weapon_smg" "clip size bonus" 10 "fire rate bonus" 0.6 "fire rate bonus with reduced health" 0.25 "faster reload rate" 1.5 "damage bonus" 2 "spread penalty" 1.7 } } SniperRifle { WeaponRestrictions PrimaryOnly Item "The Machina" ItemAttributes { ItemName "The Machina" "sniper only fire zoomed" 0 "faster reload rate" 0.5 } } Magic { WeaponRestrictions MeleeOnly FireInput { Delay 1 Cooldown 1 Target "popscript" Action "$AddRandomSpell" Param 20 // rare spell chance } FireInput { Delay 1 Cooldown 1 Target "popscript" Action "$AddRandomSpell" Param 20 // rare spell chance } FireWeapon { Delay 1.1 Cooldown 1 Type "Action" } FireInput { Delay 1.11 Cooldown 1 Target "!activator" Action "$AddPlayerAttribute" Param "disable weapon switch|1" } FireInput { Delay 1.5 Cooldown 1 Target "!activator" Action "$RemovePlayerAttribute" Param "disable weapon switch" } } } } } Mission { Objective Spy Where spawnbot_mission_sniper BeginAtWave 1 RunForThisManyWaves 1 InitialCooldown 50 CooldownTime 50 DesiredCount 2 TFBot { Template T_TFBot_Spy } } Mission { Objective DestroySentries Where spawnbot BeginAtWave 1 RunForThisManyWaves 7 InitialCooldown 30 CooldownTime 35 DesiredCount 1 TFBot { Template T_TFBot_SentryBuster } } Mission { Objective Sniper Where spawnbot_mission_sniper BeginAtWave 2 RunForThisManyWaves 3 InitialCooldown 30 CooldownTime 45 DesiredCount 3 TFBot { Template T_TFBot_Sniper } } Mission { Objective Spy Where spawnbot_mission_spy BeginAtWave 5 RunForThisManyWaves 3 InitialCooldown 45 CooldownTime 50 DesiredCount 2 TFBot { Template T_TFBot_Spy } } Mission { Objective Spy Where spawnbot_mission_sniper BeginAtWave 7 RunForThisManyWaves 1 InitialCooldown 45 CooldownTime 50 DesiredCount 2 TFBot { Template T_TFBot_Sniper_Razorback } } //600 Wave { Explanation { Line "{29FF5D}Merasmus has sent his undead armies to take over your base!" Line "{29FF5D}Kick his wizard ass back to New Mexico." } StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action trigger } WaveSpawn { Name wave1a TotalCurrency 50 SpawnCount 2 MaxActive 4 TotalCount 10 WaitBeforeStarting 0 WaitBetweenSpawns 3 Where spawnbot FirstSpawnWarningSound "vo\halloween_merasmus\sf12_appears16.mp3" TFBot { Class Soldier Skill Normal } } WaveSpawn { Name wave1a TotalCurrency 50 SpawnCount 2 MaxActive 2 TotalCount 6 WaitBeforeStarting 0 WaitBetweenSpawns 3 Where spawnbot TFBot { Template T_TFBot_Medic_Quickfix } } WaveSpawn { Name wave1a TotalCurrency 50 SpawnCount 4 MaxActive 4 TotalCount 12 WaitBeforeStarting 6 WaitBetweenSpawns 6 Where spawnbot TFBot { Class Scout Skill Normal } } WaveSpawn { Name wave1b WaitForAllSpawned wave1a TotalCurrency 100 SpawnCount 2 MaxActive 6 TotalCount 24 WaitBeforeStarting 2 WaitBetweenSpawns 3 Where spawnbot_scattered TFBot { Class Pyro Skill Easy } } WaveSpawn { Name wave1b WaitForAllSpawned wave1a TotalCurrency 100 SpawnCount 2 MaxActive 6 TotalCount 24 WaitBeforeStarting 2 WaitBetweenSpawns 2 Where spawnbot_scattered TFBot { Template T_TFBot_Scout_SunStick Name "Sun on a Stick Scout" ClassIcon scout_sunstick } } WaveSpawn { Name wave1b WaitForAllDead wave1a TotalCurrency 100 SpawnCount 1 MaxActive 2 TotalCount 2 WaitBeforeStarting 0 WaitBetweenSpawns 12 Where spawnbot TFBot { Template T_TFBot_Giant_Pyro } } WaveSpawn { Name wave1c WaitForAllDead wave1b TotalCurrency 100 SpawnCount 2 MaxActive 2 TotalCount 2 WaitBeforeStarting 0 WaitBetweenSpawns 3 Where spawnbot Squad { TFBot { Template T_TFBot_Giant_Soldier_Extended_Concheror } TFBot { Template T_TFBot_Medic_SlowRecharge } } } WaveSpawn { Name wave1c WaitForAllSpawned wave1b TotalCurrency 50 SpawnCount 6 MaxActive 6 TotalCount 6 WaitBeforeStarting 10 WaitBetweenSpawns 15 Where spawnbot TFBot { Class Soldier Skill Easy } } WaveSpawn { Name wave1c WaitForAllSpawned wave1b TotalCurrency 50 SpawnCount 1 MaxActive 6 TotalCount 6 WaitBeforeStarting 4 WaitBetweenSpawns 2 Where spawnbot TFBot { Class Pyro Skill Easy } } WaveSpawn { Name wave1c WaitForAllSpawned wave1b TotalCurrency 50 SpawnCount 3 MaxActive 6 TotalCount 15 WaitBeforeStarting 3 WaitBetweenSpawns 2 Where spawnbot TFBot { Template T_TFBot_Scout_SunStick Name "Sun on a Stick Scout" ClassIcon scout_sunstick } } } //800 Wave { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action trigger } WaveSpawn { Name wave2tanky SpawnCount 1 MaxActive 1 TotalCount 1 WaitBeforeStarting 4 WaitBetweenSpawns 8 TotalCurrency 200 Tank { Health 20423 Speed 65 StartingPathTrackNode boss_path_1 Name "tankboss" OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn { Name wave2asniper TotalCurrency 50 SpawnCount 2 MaxActive 4 TotalCount 8 WaitBeforeStarting 0 WaitBetweenSpawns 7 Where spawnbot Squad { TFBot { Template T_TFBot_Sniper_Huntsman } TFBot { Template T_TFBot_Medic_BigHeal } } } WaveSpawn { Name wave2a TotalCurrency 50 SpawnCount 1 MaxActive 6 TotalCount 16 WaitBeforeStarting 0 WaitBetweenSpawns 1.5 Where spawnbot_scattered TFBot { Class Demoman Skill Normal } } WaveSpawn { Name wave2a TotalCurrency 50 SpawnCount 4 MaxActive 6 TotalCount 16 WaitBeforeStarting 0 WaitBetweenSpawns 3 Where spawnbot TFBot { Template T_TFBot_Sniper_Huntsman } } WaveSpawn { Name wave2b1 WaitForAllSpawned wave2a TotalCurrency 100 SpawnCount 4 MaxActive 4 TotalCount 4 WaitBeforeStarting 0 WaitBetweenSpawns 4 Where spawnbot Squad { TFBot { Template T_TFBot_Giant_Soldier_Spammer_Reload } TFBot { Template T_TFBot_Medic_SlowRecharge } TFBot { Template T_TFBot_Medic_SlowRecharge } TFBot { Template T_TFBot_Medic_SlowRecharge } } } WaveSpawn { Name wave2b WaitForAllSpawned wave2a TotalCurrency 50 SpawnCount 3 MaxActive 6 TotalCount 20 WaitBeforeStarting 8 WaitBetweenSpawns 5 Where spawnbot TFBot { Class Demoman CharacterAttributes { "cancel falling damage" 1 } } } WaveSpawn { Name wave2b WaitForAllDead wave2b1 TotalCurrency 50 SpawnCount 8 MaxActive 8 TotalCount 8 WaitBeforeStarting 0 WaitBetweenSpawns 4 Where spawnbot TFBot { Class Pyro Skill Easy } } WaveSpawn { Name wave2c WaitForAllSpawned wave2b TotalCurrency 50 SpawnCount 2 MaxActive 4 TotalCount 10 WaitBeforeStarting 0 WaitBetweenSpawns 4 Where spawnbot_scattered TFBot { Template T_TFBot_Demoman_Knight } } WaveSpawn { Name wave2c WaitForAllSpawned wave2b TotalCurrency 50 SpawnCount 3 MaxActive 6 TotalCount 15 WaitBeforeStarting 0 WaitBetweenSpawns 5 Where spawnbot_scattered TFBot { Template T_TFBot_Soldier_Extended_Concheror } } WaveSpawn { Name wave2c WaitForAllSpawned wave2b TotalCurrency 100 SpawnCount 1 MaxActive 1 TotalCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 5 Where spawnbot TFBot { Template T_TFBot_Giant_Boxing_Heavy } } WaveSpawn { Name wave2c WaitForAllSpawned wave2b TotalCurrency 50 SpawnCount 3 MaxActive 6 TotalCount 16 WaitBeforeStarting 0 WaitBetweenSpawns 5 Where spawnbot TFBot { Template T_TFBot_Sniper_Huntsman } } } //800 Wave { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action trigger } WaveSpawn { Name wave3a TotalCurrency 100 SpawnCount 1 MaxActive 1 TotalCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 5 Where spawnbot Squad { TFBot { Template T_TFBot_Giant_Heavyweapons_BrassBeast ClassIcon heavy_brass_nys CharacterAttributes { "cancel falling damage" 1 } } } } WaveSpawn { Name wave3a TotalCurrency 50 SpawnCount 1 MaxActive 6 TotalCount 10 WaitBeforeStarting 0 WaitBetweenSpawns 1.5 Where spawnbot_scattered TFBot { Template T_TFBot_Demoman_Knight CharacterAttributes { "cancel falling damage" 1 } } } WaveSpawn { Name wave3a TotalCurrency 25 SpawnCount 4 MaxActive 8 TotalCount 20 WaitBeforeStarting 0 WaitBetweenSpawns 5 Where spawnbot_scattered RandomChoice { TFBot { Template T_TFBot_Heavyweapons_Shotgun CharacterAttributes { "cancel falling damage" 1 } } TFBot { Class Soldier CharacterAttributes { "cancel falling damage" 1 } } } } WaveSpawn { Name wave3b WaitForAllSpawned wave3a TotalCurrency 25 SpawnCount 2 MaxActive 4 TotalCount 4 WaitBeforeStarting 0 WaitBetweenSpawns 15 Where spawnbot_giant Squad { TFBot { Template T_TFBot_Giant_Pyro_FireballDude } TFBot { Template T_TFBot_Medic } } } WaveSpawn { Name wave3b WaitForAllSpawned wave3a TotalCurrency 50 SpawnCount 4 MaxActive 8 TotalCount 24 WaitBeforeStarting 0 WaitBetweenSpawns 5 Where spawnbot TFBot { Template T_TFBot_Demoman_Knight } } WaveSpawn { Name wave3b WaitForAllSpawned wave3a TotalCurrency 50 SpawnCount 1 MaxActive 4 TotalCount 12 WaitBeforeStarting 0 WaitBetweenSpawns 1 Where spawnbot_giant TFBot { Template T_TFBot_Heavyweapons_Shotgun } } WaveSpawn { Name wave3c1 WaitForAllDead wave3b TotalCurrency 50 SpawnCount 1 MaxActive 1 TotalCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 0 Where spawnbot_giant_left TFBot { Template T_TFBot_Giant_Soldier_Atomic } } WaveSpawn { Name wave3c1 WaitForAllDead wave3b TotalCurrency 50 SpawnCount 1 MaxActive 1 TotalCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 0 Where spawnbot_giant_right TFBot { Template T_TFBot_Giant_Demo_Atomic } } WaveSpawn { Name wave3c WaitForAllSpawned wave3c1 TotalCurrency 50 SpawnCount 1 MaxActive 1 TotalCount 1 WaitBeforeStarting 16 WaitBetweenSpawns 0 Where spawnbot_giant_left TFBot { Template T_TFBot_Giant_Demo_Atomic } } WaveSpawn { Name wave3c WaitForAllSpawned wave3c1 TotalCurrency 50 SpawnCount 1 MaxActive 1 TotalCount 1 WaitBeforeStarting 16 WaitBetweenSpawns 0 Where spawnbot_giant_right TFBot { Template T_TFBot_Giant_Soldier_Atomic } } WaveSpawn { Name wave3c2 WaitForAllDead wave3b TotalCurrency 50 SpawnCount 1 MaxActive 12 TotalCount 36 WaitBeforeStarting 0 WaitBetweenSpawns 1 Where spawnbot RandomChoice { TFBot { Class Soldier } TFBot { Template T_TFBot_Heavyweapons_Shotgun } } } WaveSpawn { Name wave3c WaitForAllSpawned wave3b TotalCurrency 50 SpawnCount 2 MaxActive 4 TotalCount 20 WaitBeforeStarting 2 WaitBetweenSpawns 5 Where spawnbot_scattered TFBot { Template T_TFBot_Scout_Sandman } } WaveSpawn { Name wave3c WaitForAllSpawned wave3c2 TotalCurrency 50 SpawnCount 10 MaxActive 10 TotalCount 10 WaitBeforeStarting 8 WaitBetweenSpawns 5 Where spawnbot TFBot { Template T_TFBot_Scout_Sandman } } WaveSpawn { Name wave3d WaitForAllSpawned wave3c TotalCurrency 100 SpawnCount 2 MaxActive 2 TotalCount 2 WaitBeforeStarting 0 WaitBetweenSpawns 0 Where spawnbot Squad { TFBot { Template T_TFBot_Giant_Heavyweapons_BrassBeast ClassIcon heavy_brass_nys CharacterAttributes { "cancel falling damage" 1 } } TFBot { Template T_TFBot_Giant_Medic_Regen Name "Giant Regen Medic" CharacterAttributes { "cancel falling damage" 1 } } } } WaveSpawn { Name wave3d WaitForAllSpawned wave3c TotalCurrency 50 SpawnCount 2 MaxActive 10 TotalCount 10 WaitBeforeStarting 8 WaitBetweenSpawns 3 Where spawnbot_giant Squad { TFBot { Template T_TFBot_Heavyweapons_Shotgun CharacterAttributes { "cancel falling damage" 1 } } TFBot { Template T_TFBot_Heavyweapons_Shotgun CharacterAttributes { "cancel falling damage" 1 } } } } } Wave { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action trigger } WaveSpawn { Name wave4tank SpawnCount 1 MaxActive 1 TotalCount 1 WaitBeforeStarting 10 WaitBetweenSpawns 8 TotalCurrency 100 Tank { Health 25000 Speed 65 StartingPathTrackNode boss_path_1 Name "tankboss" OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn { Name wave4sniper TotalCurrency 100 SpawnCount 2 MaxActive 10 TotalCount 28 WaitBeforeStarting 0 WaitBetweenSpawns 2 Where spawnbot_scattered Squad { TFBot { Template T_TFBot_Sniper_Huntsman } TFBot { Class Pyro Skill Easy Attributes AlwaysFireWeapon } } } WaveSpawn { Name wave4a TotalCurrency 100 SpawnCount 1 MaxActive 7 TotalCount 15 WaitBeforeStarting 0 WaitBetweenSpawns 1 Where spawnbot TFBot { Class Soldier Skill Normal } } WaveSpawn { Name wave4support WaitForAllDead wave4sniper SpawnCount 3 MaxActive 3 WaitBeforeStarting 0 WaitBetweenSpawns 0 Where spawnbot Support 1 TFBot { Class Scout Skill Normal } } WaveSpawn { Name wave4b WaitForAllSpawned wave4a TotalCurrency 100 SpawnCount 1 MaxActive 1 TotalCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 1 Where spawnbot TFBot { Template T_TFBot_Giant_Soldier_RocketShotgun CharacterAttributes { "cancel falling damage" 1 } } } WaveSpawn { Name wave4b WaitForAllSpawned wave4a TotalCurrency 100 SpawnCount 2 MaxActive 10 TotalCount 20 WaitBeforeStarting 0 WaitBetweenSpawns 4 Where spawnbot Squad { TFBot { Template T_TFBot_Pyro_Elite CharacterAttributes { "cancel falling damage" 1 } } TFBot { Template T_TFBot_Medic_QuickFix } } } WaveSpawn { Name wave4c WaitForAllDead wave4b TotalCurrency 100 SpawnCount 4 MaxActive 4 TotalCount 8 WaitBeforeStarting 0 WaitBetweenSpawns 15 Where spawnbot Squad { TFBot { Template T_TFBot_Giant_Soldier_SlowCritBarrage } TFBot { Template T_TFBot_Medic_Bigheal } TFBot { Template T_TFBot_Medic_Bigheal } TFBot { Template T_TFBot_Medic_Bigheal } } } WaveSpawn { Name wave4c WaitForAllDead wave4b TotalCurrency 50 SpawnCount 1 MaxActive 2 TotalCount 4 WaitBeforeStarting 0 WaitBetweenSpawns 4 Where spawnbot TFBot { Template T_TFBot_Pyro_Elite } } WaveSpawn { Name wave4c WaitForAllSpawned wave4b TotalCurrency 50 SpawnCount 3 MaxActive 9 TotalCount 30 WaitBeforeStarting 0 WaitBetweenSpawns 4 Where spawnbot_scattered TFBot { Class Soldier } } } Wave { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action trigger } WaveSpawn { Name wave5a TotalCurrency 100 SpawnCount 1 MaxActive 2 TotalCount 3 WaitBeforeStarting 0 WaitBetweenSpawns 12 Where spawnbot_giant TFBot { Template T_TFBot_Giant_Heavyweapons_Shotgun } } WaveSpawn { Name wave5a TotalCurrency 50 SpawnCount 1 MaxActive 6 TotalCount 26 WaitBeforeStarting 0.5 WaitBetweenSpawns 0.5 Where spawnbot TFBot { Class Demoman } } WaveSpawn { Name wave5a TotalCurrency 50 SpawnCount 1 MaxActive 5 TotalCount 26 WaitBeforeStarting 0.5 WaitBetweenSpawns 0.5 Where spawnbot TFBot { Template T_TFBot_Soldier_Extended_Buff_Banner } } WaveSpawn { Name wave5support SpawnCount 1 MaxActive 1 WaitBeforeStarting 0 WaitBetweenSpawns 15 Where spawnbot Support 1 TFBot { Class Scout Name "Milkman" Item "Mad Milk" WeaponRestrictions SecondaryOnly ClassIcon scout_milk Attributes AlwaysCrit ItemAttributes { ItemName "Mad Milk" "effect bar recharge rate increased" 0.001 } } } WaveSpawn { Name wave5b WaitForAllSpawned wave5a TotalCurrency 50 SpawnCount 2 MaxActive 2 TotalCount 2 WaitBeforeStarting 0 WaitBetweenSpawns 15 Where spawnbot Squad { TFBot { Template T_TFBot_Giant_Soldier_Spammer_Reload } TFBot { Template T_TFBot_Giant_Medic_Regen Name "Giant Regen Medic" CharacterAttributes { "cancel falling damage" 1 } } } } WaveSpawn { Name wave5b WaitForAllSpawned wave5a TotalCurrency 50 SpawnCount 1 MaxActive 6 TotalCount 16 WaitBeforeStarting 0 WaitBetweenSpawns 2.5 Where spawnbot RandomChoice { TFBot { Class Heavyweapons Skill Normal } TFBot { Template T_TFBot_Soldier_Extended_Concheror } TFBot { Class Demoman } } } WaveSpawn { Name wave5scout WaitForAllSpawned wave5a TotalCurrency 50 SpawnCount 1 MaxActive 4 TotalCount 40 WaitBeforeStarting 0 WaitBetweenSpawns 1 Where spawnbot_scattered TFBot { Template T_TFBot_Scout_Sandman_FastCharge Attributes AlwaysCrit } } WaveSpawn { Name wave5c WaitForAllDead wave5b TotalCurrency 50 SpawnCount 1 MaxActive 1 TotalCount 2 WaitBeforeStarting 0 WaitBetweenSpawns 0 Where spawnbot_giant TFBot { Template T_TFBot_Giant_Pyro_FireballDude Attributes AlwaysCrit } } WaveSpawn { Name wave5c WaitForAllSpawned wave5b TotalCurrency 50 SpawnCount 3 MaxActive 8 TotalCount 27 WaitBeforeStarting 0 WaitBetweenSpawns 3 Where spawnbot TFBot { Class Heavyweapons Skill Normal } } WaveSpawn { Name wave5c WaitForAllSpawned wave5b TotalCurrency 50 SpawnCount 1 MaxActive 1 TotalCount 2 WaitBeforeStarting 10 WaitBetweenSpawns 16 Where spawnbot TFBot { Template T_TFBot_Giant_Scout_Fast Attributes AlwaysCrit } } WaveSpawn { Name wave5support WaitForAllDead wave5b SpawnCount 1 MaxActive 1 WaitBeforeStarting 0 WaitBetweenSpawns 15 Where spawnbot_scattered Support 1 TFBot { Class Sniper Name "Pissman" Item "Jarate" WeaponRestrictions SecondaryOnly Attributes AlwaysCrit ClassIcon sniper_jarate ItemAttributes { ItemName "Jarate" "effect bar recharge rate increased" 0.001 } } } WaveSpawn { Name wave5d WaitForAllSpawned wave5c TotalCurrency 100 SpawnCount 2 MaxActive 2 TotalCount 2 WaitBeforeStarting 0 WaitBetweenSpawns 15 Where spawnbot Squad { TFBot { Template T_TFBot_Giant_Heavyweapons_Deflector } TFBot { Template T_TFBot_Giant_Medic_Regen Name "Giant Regen Medic" CharacterAttributes { "cancel falling damage" 1 } } } } WaveSpawn { Name wave5d WaitForAllSpawned wave5c TotalCurrency 100 SpawnCount 2 MaxActive 6 TotalCount 14 WaitBeforeStarting 0 WaitBetweenSpawns 3 Where spawnbot Squad { TFBot { Template T_TFBot_Soldier_Extended_Concheror } TFBot { Class Demoman } } } WaveSpawn { Name wave5d WaitForAllSpawned wave5c TotalCurrency 100 SpawnCount 5 MaxActive 5 TotalCount 5 WaitBeforeStarting 0 WaitBetweenSpawns 3 Where spawnbot TFBot { Class Heavyweapons Skill Normal } } } Wave { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action trigger } WaveSpawn { Name wave6a TotalCurrency 50 SpawnCount 2 MaxActive 2 TotalCount 2 WaitBeforeStarting 0 WaitBetweenSpawns 0 Where spawnbot_giant_left Squad { TFBot { Template T_TFBot_Giant_Heavyweapons } TFBot { Template T_TFBot_Medic } } } WaveSpawn { Name wave6a TotalCurrency 100 SpawnCount 3 MaxActive 3 TotalCount 3 WaitBeforeStarting 7 WaitBetweenSpawns 0 Where spawnbot_giant_right Squad { TFBot { Template T_TFBot_Giant_Demo_Burst Attributes AlwaysCrit } TFBot { Template T_TFBot_Medic } TFBot { Template T_TFBot_Medic } } } WaveSpawn { Name wave6a TotalCurrency 50 SpawnCount 1 MaxActive 5 TotalCount 15 WaitBeforeStarting 0 WaitBetweenSpawns 1 Where spawnbot TFBot { Class Soldier Item "The Direct Hit" Name "Direct Hit Soldier" ClassIcon soldier_dh_nys } } WaveSpawn { Name wave6a TotalCurrency 50 SpawnCount 1 MaxActive 5 TotalCount 15 WaitBeforeStarting 0 WaitBetweenSpawns 1 Where spawnbot TFBot { Template T_TFBot_Demo_Cannon_Burst } } WaveSpawn { Name wave6ab WaitForAllSpawned wave6a SpawnCount 1 MaxActive 1 TotalCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 8 TotalCurrency 150 Tank { Health 30000 Speed 65 Skin 1 StartingPathTrackNode boss_path_1 Name "tankboss" OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn { Name wave6ab-1 WaitForAllSpawned wave6a TotalCurrency 100 SpawnCount 1 MaxActive 2 TotalCount 2 WaitBeforeStarting 10 WaitBetweenSpawns 15 Where spawnbot TFBot { Template T_TFBot_Giant_Scout_FaN Attributes AlwaysCrit } } WaveSpawn { Name wave6ab WaitForAllDead wave6ab-1 TotalCurrency 50 SpawnCount 2 MaxActive 2 TotalCount 2 WaitBeforeStarting 10 WaitBetweenSpawns 15 Where spawnbot TFBot { Template T_TFBot_Giant_Scout_FaN Attributes AlwaysCrit } } WaveSpawn { Name wave6ab WaitForAllSpawned wave6a TotalCurrency 20 SpawnCount 1 MaxActive 3 TotalCount 10 WaitBeforeStarting 0 WaitBetweenSpawns 2 Where spawnbot_scattered TFBot { Class Soldier Item "The Direct Hit" Name "Direct Hit Soldier" ClassIcon soldier_dh_nys } } WaveSpawn { Name wave6ab WaitForAllSpawned wave6a TotalCurrency 10 SpawnCount 1 MaxActive 3 TotalCount 10 WaitBeforeStarting 0 WaitBetweenSpawns 2 Where spawnbot_scattered TFBot { Template T_TFBot_Demo_Cannon_Burst } } WaveSpawn { Name wave6ab WaitForAllSpawned wave6a TotalCurrency 50 SpawnCount 1 MaxActive 3 TotalCount 10 WaitBeforeStarting 0 WaitBetweenSpawns 2 Where spawnbot TFBot { Template T_TFBot_Scout_Cola_Popper } } WaveSpawn { Name wave6b WaitForAllDead wave6ab TotalCurrency 50 SpawnCount 2 MaxActive 2 TotalCount 6 WaitBeforeStarting 0 WaitBetweenSpawns 0 Where spawnbot_giant_right Squad { TFBot { Template T_TFBot_Giant_Heavyweapons } TFBot { Template T_TFBot_Medic } } } WaveSpawn { Name wave6b WaitForAllDead wave6ab TotalCurrency 50 SpawnCount 3 MaxActive 3 TotalCount 9 WaitBeforeStarting 0 WaitBetweenSpawns 0 Where spawnbot_giant_left Squad { TFBot { Template T_TFBot_Giant_Demo_Burst Attributes AlwaysCrit } TFBot { Template T_TFBot_Medic } TFBot { Template T_TFBot_Medic } } } WaveSpawn { Name wave6b WaitForAllSpawned wave6ab TotalCurrency 50 SpawnCount 3 MaxActive 6 TotalCount 27 WaitBeforeStarting 0 WaitBetweenSpawns 3 Where spawnbot TFBot { Template T_TFBot_Demo_Cannon_Burst } } WaveSpawn { Name wave6b WaitForAllSpawned wave6ab TotalCurrency 50 SpawnCount 1 MaxActive 6 TotalCount 27 WaitBeforeStarting 0 WaitBetweenSpawns 1 Where spawnbot TFBot { Template T_TFBot_Scout_Cola_Popper } } } Wave { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action trigger } SpawnTemplate "MerasmusPT" WaveSpawn { Name wave7b TotalCurrency 50 SpawnCount 1 MaxActive 1 TotalCount 1 WaitBeforeStarting 10 WaitBetweenSpawns 1 Where spawnbot_giant TFBot { Template T_TFBot_Giant_Scout_FaN } } WaveSpawn { Name wave7b TotalCurrency 50 SpawnCount 3 MaxActive 3 TotalCount 3 WaitBeforeStarting 0 WaitBetweenSpawns 0 Where spawnbot_giant_left Squad { TFBot { Template T_TFBot_Giant_Heavyweapons_Deflector } TFBot { Template T_TFBot_Medic } TFBot { Template T_TFBot_Medic } } } WaveSpawn { Name wave7b TotalCurrency 50 SpawnCount 3 MaxActive 3 TotalCount 3 WaitBeforeStarting 0 WaitBetweenSpawns 0 Where spawnbot_giant_right Squad { TFBot { Template T_TFBot_Giant_Soldier_Atomic } TFBot { Template T_TFBot_Medic } TFBot { Template T_TFBot_Medic } } } WaveSpawn { Name wave7b TotalCurrency 50 SpawnCount 1 MaxActive 10 TotalCount 20 WaitBeforeStarting 0 WaitBetweenSpawns 1.5 Where spawnbot_scattered TFBot { Template T_TFBot_Soldier_Extended_Buff_Banner } } WaveSpawn { Name wave7c WaitForAllSpawned wave7b TotalCurrency 50 SpawnCount 1 MaxActive 2 TotalCount 2 WaitBeforeStarting 10 WaitBetweenSpawns 20 Where spawnbot_giant TFBot { Template T_TFBot_Giant_Scout_FaN } } WaveSpawn { Name wave7c WaitForAllSpawned wave7b TotalCurrency 50 SpawnCount 2 MaxActive 2 TotalCount 2 WaitBeforeStarting 0 WaitBetweenSpawns 0 Where spawnbot Squad { TFBot { Template T_TFBot_Giant_Heavyweapons_Deflector } TFBot { Template T_TFBot_Giant_Medic_Regen Name "Giant Regen Medic" } } } WaveSpawn { Name wave7c WaitForAllSpawned wave7b TotalCurrency 100 SpawnCount 1 MaxActive 12 TotalCount 30 WaitBeforeStarting 0 WaitBetweenSpawns 1 Where spawnbot RandomChoice { TFBot { Template T_TFBot_Soldier_Extended_Buff_Banner } TFBot { Template T_TFBot_Demo_Cannon_Burst } TFBot { Class Heavyweapons Skill Normal } } } WaveSpawn { Name wave7d WaitForAllSpawned wave7c TotalCurrency 100 SpawnCount 2 MaxActive 2 TotalCount 2 WaitBeforeStarting 10 WaitBetweenSpawns 0 Where spawnbot_giant TFBot { Template T_TFBot_Giant_Scout_FaN } } WaveSpawn { Name wave7d WaitForAllDead wave7c TotalCurrency 100 SpawnCount 3 MaxActive 3 TotalCount 6 WaitBeforeStarting 0 WaitBetweenSpawns 25 Where spawnbot_giant_left Squad { TFBot { Template T_TFBot_Giant_Heavyweapons_Shotgun } TFBot { Template T_TFBot_Medic } TFBot { Template T_TFBot_Medic } } } WaveSpawn { Name wave7d WaitForAllDead wave7c TotalCurrency 100 SpawnCount 2 MaxActive 4 TotalCount 6 WaitBeforeStarting 0 WaitBetweenSpawns 10 Where spawnbot_giant_right Squad { TFBot { Template T_TFBot_Giant_Soldier_Spammer Attributes AlwaysCrit } TFBot { Template T_TFBot_Medic } } } WaveSpawn { Name wave7deez WaitForAllDead wave7c TotalCurrency 100 SpawnCount 1 MaxActive 10 TotalCount 30 WaitBeforeStarting 0 WaitBetweenSpawns 0.9 Where spawnbot_scattered RandomChoice { TFBot { Template T_TFBot_Demo_Cannon_Burst } TFBot { Class Heavyweapons Skill Normal } TFBot { Template T_TFBot_Soldier_Extended_Battalion } } } WaveSpawn { Name s WaitForAllDead wave7d WaitBeforeStarting 3 WaitBetweenSpawns 0 FirstSpawnWarningSound "vo\halloween_merasmus\sf12_hide_idles30.mp3" FirstSpawnOutput { Target merasmus_portal Action Trigger } } WaveSpawn { Name s WaitForAllDead wave7d WaitBeforeStarting 10 WaitBetweenSpawns 0 FirstSpawnOutput { Target merasmus_taunt_play Action Trigger } } WaveSpawn { Name wave7boss WaitForAllDead wave7d TotalCurrency 200 SpawnCount 1 MaxActive 1 TotalCount 1 WaitBeforeStarting 10 WaitBetweenSpawns 15 Where spawnbot_merasmus FirstSpawnOutput { Target merasmus_boss_play Action Trigger } TFBot { Template T_TFBot_Merasmus_Gun_Boss } } WaveSpawn { Name wave7boss WaitForAllDead wave7deez SpawnCount 4 MaxActive 8 TotalCount 8 WaitBeforeStarting 6 WaitBetweenSpawns 3 Where spawnbot_scattered Support 1 RandomChoice { TFBot { Template T_TFBot_Soldier_Extended_Buff_Banner } TFBot { Template T_TFBot_Soldier_RocketPush Attributes AlwaysCrit } TFBot { Template T_TFBot_Soldier_Extended_Buff_Banner } TFBot { Template T_TFBot_Soldier_RocketPush Attributes AlwaysCrit } TFBot { Template T_TFBot_Soldier_RocketPush Attributes AlwaysCrit } } } } }