#base robot_standard.pop #base robot_giant.pop WaveSchedule { StartingCurrency 1500 CanBotsAttackWhileInSpawnRoom no RespawnWaveTime 4 FixedRespawnWaveTime Yes AddSentryBusterWhenDamageDealtExceeds 3000 AddSentryBusterWhenKillCountExceeds 20 Advanced 1 NoThrillerTaunt 1 EventPopfile Halloween ForceHoliday 2 WaveStartCountdown 3 PrecacheSound "militaryprecision.mp3" PointTemplates { textualtimer_v3 { OnSpawnOutput { Target bignet Action RunScriptCode Param " IncludeScript(`textualtimer_v3`, getroottable()) TextualTimer.SetParams({ minutes = 1 seconds = 1 x = -1 y = 0.77 color = `0 255 555` relayname = `boss_deploy_relay` }) TextualTimer.AddCallbacks({ `60` : function() { EntFire(`tf_gamerules`, `PlayVO`, `Announcer.RoundEnds60seconds`) } `30` : function() { EntFire(`tf_gamerules`, `PlayVO`, `Announcer.RoundEnds30seconds`) } `10` : function() { EntFire(`tf_gamerules`, `PlayVO`, `Announcer.RoundEnds10seconds`) } `5` : function() { EntFire(`tf_gamerules`, `PlayVO`, `Announcer.RoundEnds5seconds`) } `4` : function() { EntFire(`tf_gamerules`, `PlayVO`, `Announcer.RoundEnds4seconds`) } `3` : function() { EntFire(`tf_gamerules`, `PlayVO`, `Announcer.RoundEnds3seconds`) } `2` : function() { EntFire(`tf_gamerules`, `PlayVO`, `Announcer.RoundEnds2seconds`) } `1` : function() { EntFire(`tf_gamerules`, `PlayVO`, `Announcer.RoundEnds1seconds`) } }) " } } wavesetup { logic_relay { "targetname" "lightningandguff" "OnTrigger" "thewavestarts,startshake,,10,-1" "OnTrigger" "fallenadmiralcdave*,playsound,,4,-1" "OnTrigger" "fallenadmiralcdave*,stopsound,,8,-1" "OnTrigger" "tf_gamerules,PlayVO,ambient\halloween\thunder_07.wav,0,-1" "OnTrigger" "tf_gamerules,PlayVO,ambient\halloween\thunder_09.wav,0,-1" "OnTrigger" "tf_gamerules,PlayVO,mvm\mvm_warning.wav,10,-1" "OnTrigger" "tf_gamerules,PlayVO,ambient\bumper_car_floor_break_reverse.wav,7,-1" "OnTrigger" "tf_gamerules,PlayVO,mvm\mvm_warning.wav,10,-1" "OnTrigger" "tf_gamerules,PlayVO,ambient\bumper_car_floor_break_reverse.wav,7,-1" "OnTrigger" "tf_gamerules,PlayVO,mvm\mvm_warning.wav,10,-1" } logic_relay { "targetname" "startingvoicelines" "OnTrigger" "voiceline2_1*,playsound,,0,-1" "OnTrigger" "voiceline2_1*,stopsound,,5,-1" "OnTrigger" "voiceline1_1*,playsound,,5,-1" "OnTrigger" "voiceline1_1*,stopsound,,10,-1" "OnTrigger" "tf_gamerules,PlayVO,#militaryprecision.mp3,3,-1" } env_shake { "spawnflags" "5" "amplitude" "16" "duration" "3" "frequency" "9" "targetname" "thewavestarts" } ambient_generic { "targetname" "fallenadmiralcdave" "message" "vo\mvm\mght\heavy_mvm_m_laughterbig02.mp3" "health" "10" "pitch" "65" "spawnflags" "17" } ambient_generic { "targetname" "fallenadmiralcdave" "message" "vo\mvm\mght\heavy_mvm_m_laughterbig02.mp3" "health" "10" "pitch" "65" "spawnflags" "17" } ambient_generic { "targetname" "voiceline1_1" "message" "vo\mvm\mght\soldier_mvm_m_laughevil01.mp3" "health" "10" "pitch" "65" "spawnflags" "17" } ambient_generic { "targetname" "voiceline2_1" "message" "vo\mvm\norm\sniper_mvm_battlecry03.mp3" "health" "10" "pitch" "40" "spawnflags" "17" } ambient_generic { "targetname" "voiceline1_1" "message" "vo\mvm\mght\soldier_mvm_m_laughevil01.mp3" "health" "10" "pitch" "65" "spawnflags" "17" } ambient_generic { "targetname" "voiceline2_1" "message" "vo\mvm\norm\sniper_mvm_battlecry03.mp3" "health" "10" "pitch" "40" "spawnflags" "17" } } } SpawnTemplate wavesetup Wave // Wave 1 { SpawnTemplate textualtimer_v3 StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } WaveSpawn // Dummy { FirstSpawnOutput { Target lightningandguff Action Trigger } } WaveSpawn { Name "part1" Where spawnbot_invasion Where spawnbot_tunnel TotalCount 8 MaxActive 8 SpawnCount 4 WaitBeforeStarting 15.5 WaitBetweenSpawns 0 TotalCurrency 100 Squad { TFBot { Template T_TFBot_Giant_Soldier Name "Mutated Private" Attributes AlwaysCrit Item "The Diplomat" Item "Breach and Bomb" CharacterAttributes { "voice pitch scale" 0.2 } } TFBot { Template T_TFBot_Medic_QuickFix Name "Fallen Doctor" Item "The Second Opinion" Item "Bunnyhopper's Ballistics Vest" CharacterAttributes { "voice pitch scale" 0.2 } } TFBot { Template T_TFBot_Medic_QuickFix Name "Fallen Doctor" Item "The Second Opinion" Item "Bunnyhopper's Ballistics Vest" CharacterAttributes { "voice pitch scale" 0.2 } } TFBot { Template T_TFBot_Medic_QuickFix Name "Fallen Doctor" Item "The Second Opinion" Item "Bunnyhopper's Ballistics Vest" CharacterAttributes { "voice pitch scale" 0.2 } } } FirstSpawnOutput { Target bignet Action RunScriptCode Param "TextualTimer.Start()" } } WaveSpawn { Name "part1_1" Where spawnbot TotalCount 20 MaxActive 15 SpawnCount 5 WaitBeforeStarting 11.5 WaitBetweenSpawns 12 TotalCurrency 50 TFBot { Class Sniper Name "Fallen Gunner" WeaponRestrictions SecondaryOnly ClassIcon sniper_smg_tind Skill Normal MaxVisionRange 600 Item "shortness of breath" Item "preventative measure" Item "stealth bomber" Item "eotl_coldfront curbstompers" CharacterAttributes { "cannot pick up intelligence" 1 "voice pitch scale" 0.2 } } FirstSpawnOutput { Target startingvoicelines Action Trigger } } WaveSpawn { Name "part1_2" WaitForAllSpawned "part1_1" Where spawnbot TotalCount 10 MaxActive 10 SpawnCount 10 WaitBeforeStarting 9 WaitBetweenSpawns 0 TotalCurrency 50 TFBot { Class Demoman Skill Expert Name "Landmine Layer" ClassIcon demo_sticky_daan WeaponRestrictions SecondaryOnly Attributes HoldFireUntilFullReload Item "The Juggernaut Jacket" Item "Blast Blocker" Item "Hazard Headgear" ItemAttributes { ItemName "TF_WEAPON_PIPEBOMBLAUNCHER" "stickybomb charge rate" 0.001 "max pipebombs decreased" -7 "projectile range increased" 0.45 "voice pitch scale" 0.2 } } } WaveSpawn { Name "part1_3" WaitForAllDead "part1" Where spawnbot_scattered TotalCount 8 MaxActive 6 SpawnCount 2 WaitBeforeStarting 0 WaitBetweenSpawns 9 TotalCurrency 50 TFBot { ClassIcon pyro_degreaser_flare Scale 1.4 Health 650 Name "Expert Trenchburner" Class Pyro Skill Hard Item "the flare gun" Item "the degreaser" Item "the axtinguisher" Item "Pyro Helm" Item "Torcher's Trench Coat" CharacterAttributes { "move speed bonus" 0.75 "switch from wep deploy time decreased" 0.01 "voice pitch scale" 0.2 } WeaponSwitch { Type "Primary" MaxTargetRange 400 MinTargetRange 120 Delay 0.1 Repeats 0 Cooldown 0 IfSeeTarget 1 } WeaponSwitch { Type "Secondary" MaxTargetRange 9999 MinTargetRange 401 Delay 0.1 Repeats 0 Cooldown 0 IfSeeTarget 1 } WeaponSwitch { Type "Melee" MaxTargetRange 120 MinTargetRange 1 Delay 0.1 Repeats 0 Cooldown 0 IfSeeTarget 1 } } } WaveSpawn { Name "part1_4" WaitForAllSpawned "part1_2" Where spawnbot Where spawnbot_tunnel Where spawnbot_invasion TotalCount 3 MaxActive 3 SpawnCount 1 WaitBeforeStarting 12 WaitBetweenSpawns 0 TotalCurrency 100 TFBot { Health 3000 Name "Giant Rapid Widowmaker" ClassIcon engineer_widowmaker_inf_nys_giant Scale 1.7 Class Engineer Skill Expert Action Mobber Action FetchFlag MaxVisionRange 1500 WeaponRestrictions PrimaryOnly Attributes "HoldFireUntilFullReload" Attributes "MiniBoss" Item "the widowmaker" Item "Hazard Handler" Item "Cargo Constructor" CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.5 "airblast vulnerability multiplier" 0.5 "override footstep sound set" 4 "voice pitch scale" 0.2 } ItemAttributes { ItemName "the widowmaker" "fire rate bonus" 0.6 "penetrate teammates" 1 } } } WaveSpawn { Name "part1_21" WaitForAllSpawned "part1_4" Where spawnbot TotalCount 10 MaxActive 10 SpawnCount 10 WaitBeforeStarting 9 WaitBetweenSpawns 0 TotalCurrency 50 TFBot { Class Demoman Skill Expert Name "Landmine Layer" ClassIcon demo_sticky_daan WeaponRestrictions SecondaryOnly Attributes HoldFireUntilFullReload Item "The Juggernaut Jacket" Item "Blast Blocker" Item "Hazard Headgear" ItemAttributes { ItemName "TF_WEAPON_PIPEBOMBLAUNCHER" "stickybomb charge rate" 0.001 "max pipebombs decreased" -7 "projectile range increased" 0.45 "voice pitch scale" 0.2 } } } } }