//Note to self: make sure each wave has a SIMPLE gimmick //NOTES: origin -410 1070 62 angles -2 105 0 -- for the wave 4 red carrier //Cookie Nuts #base robot_standard.pop #base robot_giant.pop #base robot_moonlight.pop #base rotating_shield.pop WaveSchedule { StartingCurrency 1200 RespawnWaveTime 8 Advanced 1 NoRomevisionCosmetics 1 FlagEscortCountOffset -2 AllowBotExtraSlots 1 RobotLimit 45 WaveStartCountdown 5 TextPrintTime 0 ForceHoliday 2 NoMvMDeathTune 1 SendBotsToSpectatorImmediately 1 SentryBusterFriendlyFire 0 //Precaches to the brims PrecacheSound "music\rd_finale.wav" PrecacheGeneric "hud\leaderboard_class_spy_enforcer_conch.vtf" PrecacheGeneric "hud\leaderboard_class_spy_enforcer_conch.vmt" PrecacheModel "models\weapons\c_models\c_toolbox\c_toolbox.mdl" PrecacheModel "models\bots\pyro_boss\bot_pyro_boss_gibby.mdl" PrecacheModel "models/bots/boss_bot/carrier_red.mdl" PrecacheModel "models/props_mvm/robot_spawnpoint.mdl" PrecacheModel "models/buildables/teleporter.mdl" PrecacheSound "sound\mvm\mvm_tele_activate.wav" PrecacheSound "sound/crackasswave4intro.mp3" PrecacheSound "sound/crackasswave4loop.mp3" PrecacheSound "sound\ui\quest_decode.wav" PrecacheSound "sound\ui\hint.wav" PrecacheSound "sound\ui\cyoa_map_close.wav" PrecacheSound "sound\mvm_cpoint_klaxon_beat" PrecacheSound "sound\mvm\mvm_tele_activate.wav" LuaScriptFile "scripts\crackass.lua" PrecacheParticle "teleported_mvm_bot_persistent" //Extra spawn points // ExtraSpawnPoint // { // Name "red_spawn_teleporter" // TeamNum 2 // X -1781 // Y 1738 // Z 522 // } // ExtraSpawnPoint // { // Name "red_spawn" // TeamNum 2 // X -1357 // Y 766 // Z 520 // } // ExtraSpawnPoint // { // Name "spawnbot_stack" // TeamNum 3 // X -1785 // Y 8115 // Z 746 // } // ExtraSpawnPoint // { // Name "red_spawn" // TeamNum 2 // X -2131 // Y 907 // Z 520 // } //Point templates for ALL! PointTemplates { dialogueandtext { logic_relay // Wave 1 Dialogue { "targetname" "wave1text" "ontrigger" "notify,PlaySound,,2,-1" "ontrigger" "hint,PlaySound,,8,-1" "ontrigger" "hint,StopSound,,10,-1" "ontrigger" "hint,PlaySound,,16,-1" "ontrigger" "hint,StopSound,,17,-1" "ontrigger" "hint,PlaySound,,21,-1" "ontrigger" "hint,StopSound,,23,-1" "ontrigger" "close,PlaySound,,25.5,-1" "ontrigger" "close,StopSound,,27,-1" "ontrigger" "player,$DisplayTextChat,{DA79EF}Miss Pauling{FFFFFF} : Mercs. Pauling here.,2,-1" "ontrigger" "player,$DisplayTextChat,{DA79EF}Miss Pauling{FFFFFF} : Gray Mann's robots are back at it again.,5,-1" "ontrigger" "player,$DisplayTextChat,{DA79EF}Miss Pauling{FFFFFF} : Unfortunately. This time your payroll will only be {yellow}GIVEN{FFFFFF} to you {red}AFTER{FFFFFF} each wave. So there won't be any cash lying around.,8,-1" "ontrigger" "player,$DisplayTextChat,{DA79EF}Miss Pauling{FFFFFF} : I've also noticed the weird modification of their sentry busters. Let me check my data...,12,-1" "ontrigger" "player,$DisplayTextChat,{DA79EF}Miss Pauling{FFFFFF} : Oh Wow! The {blue}Sentry Busters have a {red}sentry inside them? {FFFFFF}Jeez. You'll have to be careful around these guys.,16,-1" "ontrigger" "player,$DisplayTextChat,{DA79EF}Miss Pauling{FFFFFF} : But enough of that! Like always. Let's get this show on the road!,25,-1" } logic_relay // Wave 2 Dialogue { "targetname" "wave2text" "ontrigger" "notify,PlaySound,,2,-1" "ontrigger" "hint,PlaySound,,5,-1" "ontrigger" "hint,StopSound,,7,-1" "ontrigger" "hint,PlaySound,,8,-1" "ontrigger" "hint,StopSound,,10,-1" "ontrigger" "close,PlaySound,,12,-1" "ontrigger" "close,StopSound,,15,-1" "ontrigger" "player,$DisplayTextChat,{DA79EF}Miss Pauling{FFFFFF} : Mercs. Pauling here.,2,-1" "ontrigger" "player,$DisplayTextChat,{DA79EF}Miss Pauling{FFFFFF} : There seems to be some robots that are looking very {D500FF}unusual...{FFFFFF} Something fishy is going on here.,5,-1" "ontrigger" "player,$DisplayTextChat,{DA79EF}Miss Pauling{FFFFFF} : I'd advise to purchase some {FFA500}Fire Resistance{FFFFFF} upgrades against them because... {yellow}they're actually on fire.,8,-1" "ontrigger" "player,$DisplayTextChat,{DA79EF}Miss Pauling{FFFFFF} : Pauling out-,12,-1" } logic_relay // Wave 3 Dialogue { "targetname" "wave3text" "ontrigger" "notify,PlaySound,,2,-1" "ontrigger" "hint,PlaySound,,5,-1" "ontrigger" "hint,StopSound,,7,-1" "ontrigger" "hint,PlaySound,,8,-1" "ontrigger" "hint,StopSound,,10,-1" "ontrigger" "close,PlaySound,,12,-1" "ontrigger" "close,StopSound,,15,-1" "ontrigger" "player,$DisplayTextChat,{DA79EF}Miss Pauling{FFFFFF} : Mercs. Pauling here.,2,-1" "ontrigger" "player,$DisplayTextChat,{DA79EF}Miss Pauling{FFFFFF} : and WOAH thats alot of robots but it seems that this is gonna be your regular wave.,5,-1" "ontrigger" "player,$DisplayTextChat,{DA79EF}Miss Pauling{FFFFFF} : I'm also detecting {D500FF}unusual{FFFFFF} robots like from last wave in the mix! So keep your eyes on robots with weird particles on them.,8,-1" "ontrigger" "player,$DisplayTextChat,{DA79EF}Miss Pauling{FFFFFF} : Ms. P outta here-,12,-1" } //START SOUND OF THE DIALOGUE ambient_generic { "targetname" "notify" "message" "ui\quest_decode.wav" "health" "8" "pitch" "90" "spawnflags" "17" } //IMPORTANT MESSAGES ambient_generic { "targetname" "hint" "message" "ui\hint.wav" "health" "10" "pitch" "100" "spawnflags" "17" } //Just to add more flavor ambient_generic { "targetname" "close" "message" "ui\cyoa_map_close.wav" "health" "10" "pitch" "60" "spawnflags" "17" } } musicandaudiodepartment { ambient_generic { "targetname" "boss1" "message" "#music\rd_finale.wav" "health" "10" "pitch" "85" "spawnflags" "17" } //Wave 4 Music cuz because logic_relay { "targetname" "musictime" "spawnflags" "2" "OnTrigger" "intro,PlaySound,,0,-1" "OnTrigger" "intro,StopSound,,199,-1" "OnTrigger" "musicloop,Trigger,,200,-1" } //Loop logic_relay { "targetname" "musicloop" "spawnflags" "2" "OnTrigger" "wave4,PlaySound,,0,-1" "OnTrigger" "musiclooper,Trigger,,197,-1" } //Loop handler logic_relay { "targetname" "musiclooper" "spawnflags" "2" "OnTrigger" "wave4,StopSound,,0.2,-1" "OnTrigger" "musicloop,Trigger,,0.22,-1" } //Music Stop logic_relay { "targetname" "wave_finished_relay" "OnTrigger" "musicloop,Disable,,0,-1" "OnTrigger" "musiclooper,Disable,,0,-1" "OnTrigger" "wave4,StopSound,,0,-1" "OnTrigger" "intro,StopSound,,0,-1" } // //Music time AAAAAAAAAAAAAAA ambient_generic { "targetname" "intro" "message" "#crackasswave4intro.mp3" "health" "10" "pitch" "100" "spawnflags" "17" } ambient_generic { "targetname" "wave4" "message" "#crackasswave4loop.mp3" "health" "10" "pitch" "100" "spawnflags" "17" } // //Suddenly the Unstables ambient_generic { "targetname" "unstableintroduction" "message" "#mvm_cpoint_klaxon_beat.mp3" "health" "10" "pitch" "100" "spawnflags" "17" } // //Unstable Works! logic_relay { "targetname" "unstableStart" "spawnflags" "2" "OnTrigger" "unstableintroduction,PlaySound,,0,-1" "OnTrigger" "unstableintroduction,FadeIn,5,0,-1" "OnTrigger" "unstableintroduction,StopSound,,34.7,-1" "OnTrigger" "loopy,Trigger,,34.7,-1" } //Loop logic_relay { "targetname" "loopy" "spawnflags" "2" "OnTrigger" "unstableintroduction,PlaySound,,0,-1" "OnTrigger" "looper,Trigger,,34.72,-1" } //Loop handler logic_relay { "targetname" "looper" "spawnflags" "2" "OnTrigger" "unstableintroduction,StopSound,,0,-1" "OnTrigger" "loopy,Trigger,,0,-1" } //Stop logic_relay { "targetname" "unstableStop" "OnTrigger" "loopy,Kill,,0,-1" "OnTrigger" "looper,Kill,,0,-1" "OnTrigger" "unstableintroduction,FadeOut,5,0,-1" "OnTrigger" "unstableintroduction,StopSound,,6,-1" } } redcarrier { Nofixup 1 prop_dynamic { "targetname" "red_carrier" // "disableshadows" "1" "StartDisabled" "1" "modelscale" "1.15" "model" "models/bots/boss_bot/carrier_red.mdl" "angles" "0 90 0" "rendercolor" "255 255 255" "renderamt" "255" "solid" "0" "origin" "350 2000 -210" "OnSpawn" "!self,TurnOff,,0,-1" } Nofixup 1 prop_dynamic { "targetname" "teleporterholo" "StartDisabled" "1" "model" "models/props_mvm/robot_spawnpoint.mdl" "DefaultAnim" "idle" "rendercolor" "255 255 255" "origin" "-1781 1738 512" "angles" "0 0 0" "renderamt" "255" "solid" "0" "disableshadows" "1" "OnSpawn" "!self,TurnOff,,0,-1" } Nofixup 1 prop_dynamic { "targetname" "teleporter" "StartDisabled" "1" "model" "models/buildables/teleporter_light.mdl" "DefaultAnim" "running" "rendercolor" "255 255 255" "renderamt" "255" "origin" "-1781 1738 512" "angles" "0 0 0" "solid" "0" "disableshadows" "1" "OnSpawn" "!self,TurnOff,,0,-1" } logic_relay { "targetname" "callthereds" "ontrigger" "red_carrier,TurnOn,,0,-1" "ontrigger" "teleporterholo,TurnOn,,0,-1" "ontrigger" "teleporter,TurnOn,,0,-1" "ontrigger" "arrivalsound,PlaySound,,0,-1" "ontrigger" "player,$DisplayTextChat,{DA79EF}Miss Pauling{FFFFFF} : Mercs. Pauling here.,2,-1" "ontrigger" "player,$DisplayTextChat,{DA79EF}Miss Pauling{FFFFFF} : It seems that our red carrier from Kelly has finally arrived!,5,-1" "ontrigger" "player,$DisplayTextChat,{DA79EF}Miss Pauling{FFFFFF} : The more the merrier. We'll surely win this!,7,1" "ontrigger" "player,$DisplayTextChat,{blue}BTZZZZZZZ BTZTZT ELECTRIC SOUNDS SHENANIGANS!,9,-1" "ontrigger" "player,$DisplayTextChat,{99CCFF}Carrier-Commander{FFFFFF} : Requesting more carriers! These reds brought their own carrier. Must not play FAIR! -Blargo,12,-1" "ontrigger" "player,$DisplayTextChat,{DA79EF}Miss Pauling{FFFFFF} : uh oh. I'm currently detecting another enemy carrier incoming! this is about to get messy mercs.,16,-1" } ambient_generic { "targetname" "arrivalsound" "message" "mvm\mvm_tele_activate.wav" "health" "10" "pitch" "70" "spawnflags" "17" } } antipowerup { KeepAlive 1 logic_relay { "targetname" "nomorepowers" "spawnflags" "2" "onspawn" "repeater,trigger,,0.14,1" "ontrigger" "item_powerup_rune*,Kill,,0.04,-1" "ontrigger" "repeater,trigger,,0.08,-1" } KeepAlive 1 logic_relay { "targetname" "repeater" "spawnflags" "2" "ontrigger" "nomorepowers,trigger,,0.04,-1" } } callMcanteen //Was meant to spawn medics but nah it dont work { logic_relay { "targetname" "medic_call" "spawnflags" "2" "ontrigger" "player,$PlaySoundToSelf,mvm\mvm_used_powerup.wav,0,1" "ontrigger" "player,$DisplayTextChat,{99CCFF}Giant-er Pyro {FFFFFF}has used their {9ACD32}HASTY SUPRISE {FFFFFF}Emergency Canteen,0,1" "ontrigger" "spawnthecall,$Spawn,,0.1,-1" "ontrigger" "spawnthecall,$Spawn,,0.2,-1" "ontrigger" "spawnthecall,$Spawn,,0.3,-1" } logic_relay { "targetname" "medic_call_soldier" "spawnflags" "2" "ontrigger" "player,$PlaySoundToSelf,mvm\mvm_used_powerup.wav,0,1" "ontrigger" "player,$DisplayTextChat,{99CCFF}The Crack-Box {FFFFFF}has used their {9ACD32}HASTY SUPRISE {FFFFFF}Emergency Canteen,0,1" "ontrigger" "spawnthecall,$Spawn,,0.1,-1" "ontrigger" "spawnthecall,$Spawn,,0.2,-1" "ontrigger" "spawnthecall,$Spawn,,0.3,-1" } } //OverchargedMoment -- these giants are unstable and are to explode after a long ass time unstablecharge { OnSpawnOutput { Target popscript Action "$unstablesetup" } OnParentKilledOutput { Target boomtime Action Trigger } trigger_ignite { "targetname" "blastzone" "origin" "0 0 0" "angles" "0 0 0" "mins" "-270 -270 -120" "maxs" "270 270 600" "spawnflags" "1" "burn_duration" "7" "damage_percent_per_second" "40" "filtername" "redteam" "StartDisabled" "1" } KeepAlive 1 filter_activator_tfteam { "targetname" "redteam" "teamnum" "2" } KeepAlive 1 logic_relay { "targetname" "boomtime" "ontrigger" "blastzone,Enable,,0,-1" "ontrigger" "blastzone,Kill,,4,-1" "ontrigger" "buffzone,Enable,,0,-1" "ontrigger" "buffzone,Kill,,0.5,-1" "OnTrigger" "bigblast,start,,0,-1" "OnTrigger" "bigblast,Kill,,4,-1" "OnTrigger" "shake,StartShake,,0,-1" "OnTrigger" "shake,Kill,,2,-1" "OnTrigger" "!self,Kill,,5,-1" } KeepAlive 1 info_particle_system { "targetname" "bigblast" "origin" "0 0 90" "angles" "0 0 0" "effect_name" "cinefx_goldrush" } KeepAlive 1 env_shake { "targetname" "shake" "amplitude" "7" "duration" "1.5" "frequency" "255" "radius" "300" "spawnflags" "4" } } warningwave2 { logic_relay { "targetname" "unstablewarning" "spawnflags" "2" "ontrigger" "player,$DisplayTextChat,{yellow}//WARNING! HIGH LEVELS OF ELECTRICITY DETECTED!,0,-1" "ontrigger" "player,$DisplayTextChat,{yellow}//WARNING! HIGH LEVELS OF ELECTRICITY DETECTED!,0.8,-1" "ontrigger" "player,$DisplayTextChat,{yellow}//WARNING! HIGH LEVELS OF ELECTRICITY DETECTED!,1.4,-1" "ontrigger" "player,$DisplayTextChat,{yellow}//UNSTABLE! DANGER PROBABILITY: {red}GUARANTEED,2.2,-1" } } earlysentrybuster { OnSpawnOutput { Target SBsentry Action Disable } OnSpawnOutput { Target SBsentry Action SetHealth Param 9999 } OnSpawnOutput { Target SBsentry Action Hide } OnParentKilledOutput{Target SBsentry Action Enable} OnParentKilledOutput{Target SBsentry Action Show} OnParentKilledOutput{Target SBsentry Action SetHealth Param 200} OnParentKilledOutput{Target SBsentry Action RemoveHealth Param 999 Delay 5} // KeepAlive 1 obj_sentrygun { "targetname" "SBsentry" "teamnum" "3" "defaultupgrade" "0" "SolidToPlayer" "0" "origin" "0 0 1" "Solid" "0" } } } //Templates of thy robots Templates { pyro_switcheroo { Name "Switcheroo Pyro" Class Pyro Skill Easy ClassIcon pyro_degreaser_shotgun Item "The Degreaser" Item "Connoisseur's Cap" Attributes AlwaysCrit WeaponSwitch { Delay 5 Cooldown 5 Type Secondary } WeaponSwitch { Delay 10 Cooldown 10 Type Primary } } giant_medic_scout { UseCustomModel "models\bots\scout_boss\bot_scout_boss.mdl" Tag giant UseHumanAnimations 1 Class Medic Name "Giant Powerup: HASTE Medic" ClassIcon medic_haste_lite_giant Item "Medic Mask" Skill Expert Health 3000 Attributes SpawnWithFullCharge Item "The Quick-Fix" Item "Coldfront Carapace" WeaponRestrictions SecondaryOnly Attributes MiniBoss ItemAttributes { ItemName "The Quick-Fix" "effect cond override" 2106459 "uber duration bonus" 3 "ubercharge rate bonus" 2 "bot medic uber health threshold" 1750 } CharacterAttributes { "move speed bonus" 1.30 "damage force reduction" 0.6 "airblast vulnerability multiplier" 0.6 } FireWeapon { IfHealthBelow 4001 Delay 1 Cooldown 3 Repeats 0 IfSeeTarget 1 Duration 0.5 Type "Secondary" } } medic_scout { UseCustomModel "models\bots\scout_boss\bot_scout_boss.mdl" UseHumanAnimations 1 Class Medic Name "Powerup: HASTE Medic" ClassIcon medic_haste_lite Attributes IgnoreEnemies Item "Medic Mask" Skill Expert Health 125 Attributes SpawnWithFullCharge Item "The Quick-Fix" Item "Coldfront Carapace" ItemAttributes { ItemName "The Quick-Fix" "effect cond override" 2106459 "uber duration bonus" 3 "ubercharge rate bonus" 2 } CharacterAttributes { "move speed bonus" 1.30 "damage force reduction" 0.6 "airblast vulnerability multiplier" 0.6 } FireWeapon { Delay 1 Cooldown 3 Repeats 0 IfSeeTarget 1 Duration 0.5 Type "Secondary" } } unstablecharge { SpawnTemplate unstablecharge Item "Wavefinder" FireInput { Target "!self" Action "IgnitePlayer" Repeats 9999 Delay 1 Cooldown 1 } AddCond { Index 70 } FireInput { IfHealthBelow 2 Delay 2 Target !self Action $suicide } FireInput { IfHealthBelow 2 Delay 1.3 Target !self Action $PlaySound Param "items\cart_explode_trigger.wav" } CharacterAttributes { "attach particle effect" 236 "voice pitch scale" 1.45 } VoiceCommand { Delay 3 Cooldown 3 Type "Help" } } paradetime { Item "Noise Maker - TF Birthday" } redsupport { ClassIcon red2_lite Action Mobber AddCond{Index 43} VoiceCommand { Delay 3 Cooldown 10 IfSeeTarget 1 Type "Battle Cry" } VoiceCommand { Delay 1 Repeats 1 IfHealthBelow 75 Type "Jeers" } } } //Missions goe here Mission { Objective DestroySentries InitialCooldown 20 CooldownTime 30 Where spawnbot BeginAtWave 1 RunForThisManyWaves 4 TFBot { Template T_TFBot_SentryBuster SpawnTemplate earlysentrybuster Name "Sentry And Buster" Item "Aim Assistant" CharacterAttributes { "torso scale" 0.5 "head scale" 4.5 } } } //Yippee // SpawnTemplate redcarrier SpawnTemplate musicandaudiodepartment SpawnTemplate antipowerup SpawnTemplate dialogueandtext //Wave1 Wave { WaitWhenDone 65 Checkpoint Yes StartWaveOutput { Target wave_start_relay Action Trigger } InitWaveOutput { Target wave1text Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } //Suddenly a big ass Scout Medic comes into play WaveSpawn { Name a1 TotalCount 2 WaitBeforeStarting 3 Where spawnbot StartWaveOutput { Target "bomb" Action SetReturnTime Param 90 } FirstSpawnWarningSound "scout_mvm_jeers07.mp3" Squad { TFBot { Template T_TFBot_Giant_Soldier Skill Easy } TFBot { Template giant_medic_scout } } } WaveSpawn { Name a2 WaitForAllDead a1 TotalCount 24 MaxActive 12 SpawnCount 3 WaitBetweenSpawns 1.3 Where spawnbot Where spawnbot_left Where spawnbot_right RandomChoice { TFBot { Class Pyro Name "Shotgun Pyro" ClassIcon shotgun2_lite WeaponRestrictions SecondaryOnly } TFBot { Class HeavyWeapons ClassIcon shotgun2_lite WeaponRestrictions SecondaryOnly } TFBot { Class Soldier ClassIcon shotgun2_lite WeaponRestrictions SecondaryOnly } } } WaveSpawn //silly bill { Name a2B WaitForAllDead a1 TotalCount 1 WaitBeforeStarting 20 Where spawnbot_right Squad { TFBot { Template T_TFBot_Giant_Heavyweapons_Shotgun Skill Normal } } } WaveSpawn { WaitForAllDead a2B TotalCount 18 MaxActive 6 SpawnCount 3 WaitBetweenSpawns 6.9 Where spawnbot_right RandomChoice { TFBot { Template T_TFBot_Pyro_Detonator } TFBot { Template T_TFBot_Sniper_Huntsman } } } WaveSpawn { Name a3 WaitForAllDead a2B TotalCount 2 MaxActive 2 SpawnCount 1 WaitBeforeStarting 7 WaitBetweenSpawns 2.3 Where spawnbot_right TFBot { Template T_TFBot_Giant_Soldier AimTrackingInterval 0.95 Skill Easy } } WaveSpawn { Name a4 WaitForAllDead a3 TotalCount 24 MaxActive 12 SpawnCount 6 WaitBetweenSpawns 5.6 Where spawnbot Squad { TFBot { Class Demoman Attributes HoldFireUntilFullReload Skill Normal } TFBot { Template medic_scout } } } WaveSpawn { Name a4 WaitForAllDead a3 TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 10 Where spawnbot Squad { TFBot { Template T_TFBot_Giant_Demoman Skill Easy } } } WaveSpawn { WaitForAllDead a4 TotalCurrency 700 TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 5 Where spawnbot StartWaveOutput { Target boss1 Action PlaySound } TFBot { // SpawnTemplate medic_canteen SpawnTemplate callMcanteen Template T_TFBot_Giant_Pyro UseCustomModel "models\bots\pyro_boss\bot_pyro_boss_gibby.mdl" Name "Giant Pyro" Health 12000 MaxVisionRange 800 Scale 2.1 Attributes UseBossHealthBar Action FetchFlag Skill Easy Item "Torcher's Trench Coat" VoiceCommand { Delay 1 Cooldown 3 Type "Jeers" } FireInput { Delay 0 Repeats 1 Target medic_call Action Trigger IfHealthBelow 5000 } ChangeAttributes { Delay 0 Repeats 1 Name emergency_canteen IfHealthBelow 5000 } EventChangeAttributes { emergency_canteen { Skill Normal MaxVisionRange 1250 Addcond{Index 36} AddCond{Index 32} AddCond{Index 91} AddCond { Index 5 Duration 1 } Item "Dead Heat" Item "The Nostromo Napalmer" ItemAttributes { ItemName "The Nostromo Napalmer" "flame_drag" 4.25 } } } } } WaveSpawn { WaitForAllDead a2 Support 1 TotalCount 10 MaxActive 4 SpawnCount 1 WaitBetweenSpawns 4.5 Where spawnbot RandomChoice { TFBot { Class Pyro Action Mobber Attributes DisableDodge Skill Easy } TFBot { Class Soldier Action Mobber Attributes DisableDodge Skill Easy } } } WaveSpawn { WaitForAllDead a4 Support 1 TotalCount 4 MaxActive 4 SpawnCount 1 WaitBetweenSpawns 4.7 Where spawnbot TFBot { Class Soldier Action Mobber Attributes DisableDodge Skill Easy } } WaveSpawn { WaitForAllDead a4 TotalCount 99 MaxActive 6 SpawnCount 1 Support 1 WaitBetweenSpawns 3.3 WaitBeforeStarting 4 Where spawnbot_right TFBot { Template medic_scout //The "Haste Booster" medic :3 ClassIcon medic_haste_lite } } } //Wave 2 Wave { WaitWhenDone 65 Checkpoint Yes SpawnTemplate warningwave2 InitWaveOutput { Target "wave2text" Action Trigger } StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } WaveSpawn { Name a1 TotalCount 3 WaitBetweenSpawns 7.2 Where spawnbot_right FirstSpawnOutput { Target unstablewarning Action Trigger Delay 0.2 } DoneMessage "{DA79EF}Miss Pauling{FFFFFF} : Oh dear. Those robots explode and leave a burning pile- MERCS?! A RUSH OF THESE GUYS ARE COMING!" DoneOutput { Target "unstableStart" Action Trigger } Squad { TFBot { Template T_TFBot_Giant_Heavyweapons_Deflector Name "Unstable Giant Deflector" Skill Easy AddTemplate unstablecharge } TFBot { Template T_TFBot_Medic } TFBot { Template T_TFBot_Medic } } } WaveSpawn { TotalCount 30 MaxActive 15 SpawnCount 5 WaitForAllDead a1 WaitBeforeStarting 2 Where spawnbot WaitBetweenSpawns 3 RandomChoice { TFBot { Template T_TFBot_Heavyweapons_Fist_Common } TFBot { Template T_TFBot_Heavyweapons_Gnome } } } WaveSpawn { Name a2 TotalCount 4 MaxActive 4 SpawnCount 1 WaitForAllDead a1 Where spawnbot_right WaitBeforeStarting 9 WaitBetweenSpawns 4 DoneOutput { Target "unstableStop" Action Trigger } FirstSpawnOutput { Target unstablewarning Action Trigger Delay 0.2 } TFBot { Template T_TFBot_Giant_Scout_FAN Name "Giant Unstable FaN Scout" Action FetchFlag AddTemplate unstablecharge } } WaveSpawn { Name a3 TotalCount 2 MaxActive 2 SpawnCount 2 WaitForAllDead a2 WaitBeforeStarting 8 Where spawnbot_left Where spawnbot Squad { TFBot { Template T_TFBot_Giant_Soldier_Spammer_Reload } TFBot { Template giant_medic_scout } } } WaveSpawn { Name a4 WaitForAllDead a3 TotalCount 1 TotalCurrency 800 Where spawnbot_tank_door WaitBeforeStarting 10 StartWaveMessage "{red} WARNING! UNBELIVABLE AMOUNTS OF ELECTRICITY DETECTED!" Tank { StartingPathTrackNode boss_path_left Health 13000 Speed 70 OnKilledOutput { Target boss_dead_relay Action Trigger } OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn { Name a4 WaitForAllDead a3 TotalCount 2 WaitBetweenSpawns 7 Where spawnbot_tank_door TFBot { Template T_TFBot_Giant_Pyro Name "Giant Unstable Pyro" Skill Easy AddTemplate unstablecharge Attributes AlwaysCrit } } WaveSpawn { TotalCount 20 MaxActive 12 SpawnCount 2 WaitForAllDead a2 Where spawnbot WaitBetweenSpawns 2.5 TFBot { Class Soldier Skill Normal } } WaveSpawn { Name a4 WaitForAllDead a3 TotalCount 8 Support 1 MaxActive 8 SpawnCount 4 WaitBetweenSpawns 6 Where spawnbot TFBot { Template T_TFBot_Scout_Cola_Bat Skill Easy } } WaveSpawn { Name a4 WaitForAllDead a3 TotalCount 1 Support 1 MaxActive 1 SpawnCount 1 WaitBetweenSpawns 7 Where spawnbot TFBot { Template T_TFBot_Giant_Soldier_Spammer Name "Giant Unstable Rapid Fire Soldier" Skill Easy AddTemplate unstablecharge } } WaveSpawn { Name a4 WaitForAllDead a3 TotalCount 2 Support 1 MaxActive 2 SpawnCount 2 WaitBetweenSpawns 12 Where spawnbot TFBot { Template T_TFBot_Scout_Shortstop Name "Unstable Shortstop Scout" Skill Easy AddTemplate unstablecharge } } } //Wave 3 Wave { WaitWhenDone 65 Checkpoint Yes SpawnTemplate warningwave2 InitWaveOutput { Target wave3text Action Trigger } StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } WaveSpawn { Name a1 TotalCount 4 Where spawnbot WaitBetweenSpawns 4 RandomChoice { TFBot { Template T_TFBot_Giant_Pyro AddTemplate pyro_switcheroo Name "Giant Switcheroo Pyro" ClassIcon pyro_degreaser_shotgun_giant Skill Expert } TFBot { Template T_TFBot_Giant_Pyro AddTemplate pyro_switcheroo Name "Giant Unstable Switcheroo Pyro" ClassIcon pyro_degreaser_shotgun_giant Skill Expert AddTemplate unstablecharge } } } WaveSpawn { Name a2 WaitForAllDead a1 TotalCount 24 MaxActive 12 Where spawnbot_left Where spawnbot_right TFBot { Template T_TFBot_Heavyweapons_Deflector } } WaveSpawn { Name a2 WaitForAllDead a1 TotalCount 1 MaxActive 1 WaitBeforeStarting 8 Where spawnbot_right TFBot { Template T_TFBot_Giant_Heavyweapons_BrassBeast_Fix } } WaveSpawn { Name a3 WaitForAllDead a2 TotalCount 3 MaxActive 3 SpawnCount 1 WaitBeforeStarting 8 WaitBetweenSpawns 6 Where spawnbot_right TFBot { Template T_TFBot_Giant_Soldier Name "Giant Blast Soldier" Item "Stainless Pot" Skill Expert ClassIcon soldier_blast ItemAttributes { ItemName "TF_WEAPON_ROCKETLAUNCHER" "damage causes airblast" 1 "fire rate bonus" 0.25 "Projectile speed increased" 0.5 } } } WaveSpawn { Name a3 WaitForAllDead a2 TotalCount 7 MaxActive 7 SpawnCount 1 WaitBeforeStarting 10 WaitBetweenSpawns 12 Where spawnbot_right RandomChoice { TFBot { Template T_TFBot_Giant_Scout_Fast Name "Giant Unstable Super Scout" Skill Easy AddTemplate unstablecharge } TFBot { Template T_TFBot_Giant_Scout_Fast Skill Easy } } } WaveSpawn { WaitForAllDead a1 TotalCount 50 MaxActive 8 SpawnCount 8 WaitBeforeStarting 2 Where spawnbot_right Where spawnbot_left TFBot { Class Soldier Skill Hard } } WaveSpawn { WaitForAllDead a1 TotalCount 30 MaxActive 5 SpawnCount 5 WaitBeforeStarting 2 WaitBetweenSpawns 6 Where spawnbot_right Where spawnbot_left TFBot { Template pyro_switcheroo Skill Easy } } WaveSpawn { Name a4 WaitForAllDead a3 TotalCurrency 700 TotalCount 5 Where spawnbot WaitBetweenSpawns 4 RandomChoice { TFBot { Template T_TFBot_Giant_Soldier_RocketShotgun Skill Expert } TFBot { Template T_TFBot_Giant_Soldier_RocketShotgun Skill Expert AddTemplate unstablecharge } } } WaveSpawn { Support 1 MaxActive 2 SpawnCount 2 WaitBeforeStarting 2 WaitBetweenSpawns 18 Where spawnbot_right Where spawnbot_left TFBot { Template T_TFBot_Scout_Sandman_FastCharge Skill Expert Attributes AlwaysCrit } } WaveSpawn { WaitForAllDead a2 Support 1 MaxActive 6 SpawnCount 3 WaitBeforeStarting 2 WaitBetweenSpawns 18 Where spawnbot_right Where spawnbot_left TFBot { Class HeavyWeapons ClassIcon heavy_buff_litho Attributes SpawnWithFullCharge Item "Bombard Brigadier" Item "The Buff Banner" Skill Easy CharacterAttributes { "increase buff duration" 10 } } } } //WAVE 4 // Wave { WaitWhenDone 65 Checkpoint Yes StartWaveOutput { Target wave_start_relay Action Trigger } InitWaveOutput { Target "callthereds" Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } //ALLIES OF WAVE 4 HERE // WaveSpawn // { // TotalCount 2 // MaxActive 2 // Support 1 // SpawnCount 2 // WaitBetweenSpawns 29 // Where red_spawn // WaitBeforeStarting 0.12 // FirstSpawnWarningSound rescue.wav // TFBot // { // Class Scout // Skill Expert // Attributes DisableDodge // WeaponRestrictions MeleeOnly // Item "The Fan O'War" // AddTemplate redsupport // } // } // WaveSpawn // { // TotalCount 1 // MaxActive 1 // Support 1 // WaitBetweenSpawns 60 // Where red_spawn // WaitBeforeStarting 0.1 // FirstSpawnWarningSound rescue.wav // TFBot // { // Class HeavyWeapons // Skill Easy // AddTemplate redsupport // } // } // WaveSpawn // { // TotalCount 3 // MaxActive 3 // Support 1 // WaitBetweenSpawns 30 // Where red_spawn // FirstSpawnWarningSound rescue.wav // RandomChoice // { // TFBot // { // Template T_TFBot_Medic // Name "Kritzkrieg Medic" // Item "The Kritzkrieg" // Item "The Virus Doctor" // ItemAttributes // { // ItemName "The Kritzkrieg" // "ubercharge rate bonus" 2 // } // ClassIcon red2_lite // AddCond{Index 43} // VoiceCommand // { // Delay 3 // Cooldown 1 //He will always nag // Type "Jeers" // } // } // TFBot // { // Template medic_scout // ClassIcon red2_lite // AddCond{Index 43} // VoiceCommand // { // Delay 3 // Cooldown 1 //He will always nag // Type "Jeers" // } // } // TFBot // { // Template T_TFBot_Medic_Bullet // ClassIcon red2_lite // AddCond{Index 43} // VoiceCommand // { // Delay 3 // Cooldown 1 //He will always nag // Type "Jeers" // } // } // TFBot // { // Template T_TFBot_Medic_Blast // ClassIcon red2_lite // AddCond{Index 43} // VoiceCommand // { // Delay 3 // Cooldown 1 //He will always nag // Type "Jeers" // } // } // TFBot // { // Template T_TFBot_Medic_Fire // ClassIcon red2_lite // AddCond{Index 43} // VoiceCommand // { // Delay 3 // Cooldown 1 //He will always nag // Type "Jeers" // } // } // } // } // WaveSpawn // { // TotalCount 2 // MaxActive 2 // Support 1 // WaitBetweenSpawns 210 // WaitBeforeStarting 1 // Where red_spawn_teleporter // FirstSpawnWarningSound rescue.wav // RandomChoice // { // TFBot // { // Template T_TFBot_Giant_Soldier // Skill Normal // AddTemplate redsupport // } // TFBot // { // Template T_TFBot_Giant_Scout_FAN // Skill Easy // AddTemplate redsupport // } // TFBot // { // Template T_TFBot_Giant_Pyro // Skill Easy // AddTemplate redsupport // } // } // } // WaveSpawn // { // TotalCount 1 // MaxActive 1 // Support 1 // WaitBetweenSpawns 25 // WaitBeforeStarting 0.14 // Where red_spawn // FirstSpawnWarningSound rescue.wav // TFBot // { // Class Pyro // Skill Expert // AddTemplate redsupport // } // } // WaveSpawn // { // TotalCount 1 // MaxActive 1 // Support 1 // WaitBetweenSpawns 18.5 // WaitBeforeStarting 0.18 // Where red_spawn // FirstSpawnWarningSound rescue.wav // TFBot // { // Class Demoman // Health 650 // Name "Half-Zatoichi Demoknight" // Skill Expert // WeaponRestrictions MeleeOnly // Item "The Half-Zatoichi" // Item "Ali Baba's Wee Booties" // ItemAttributes // { // ItemName "The Half-Zatoichi" // "critboost on kill" 3 // } // CharacterAttributes // { // "gesture speed increase" 999.0 // } // AddTemplate redsupport // } // } //ENEMIES OF WAVE 4 HERE! WaveSpawn { Name a1 TotalCount 2 MaxActive 2 WaitBeforeStarting 3 Where spawnbot_right Squad { TFBot { Template T_TFBot_Giant_Soldier_Spammer_Crit } TFBot { Template T_TFBot_Giant_Medic } } } WaveSpawn { WaitForAllDead a1 TotalCount 32 MaxActive 8 SpawnCount 4 WaitBeforeStarting 2 WaitBetweenSpawns 2.5 Where spawnbot StartWaveOutput { Target musictime Action Trigger } StartWaveMessage "{yellow} Now Playing: ALT + CTRL + DELETE by Snurper_Bob" RandomChoice { TFBot { Template T_TFBot_Soldier_Bison Skill Expert Attributes AlwaysCrit Item "Detective" Name "Joe Bison" } TFBot { Class HeavyWeapons Skill Hard } } } WaveSpawn { WaitForAllDead a1 TotalCount 4 MaxActive 4 SpawnCount 1 WaitBeforeStarting 5 WaitBetweenSpawns 8 Where spawnbot TFBot { Template T_TFBot_Giant_Scout_Fast Name "Giant Unstable Fast Scout" AddTemplate unstablecharge } } WaveSpawn { Name a2_b WaitForAllDead a1 TotalCount 2 MaxActive 2 SpawnCount 2 Where spawnbot Squad { TFBot { Template T_TFBot_Giant_Heavyweapons Attributes AlwaysCrit Skill Normal } TFBot { Template giant_medic_scout } } } WaveSpawn { Name a2_c WaitForAllDead a2_b TotalCount 2 MaxActive 2 SpawnCount 2 Where spawnbot_right Squad { TFBot { Template T_TFBot_Giant_Pyro_DF } TFBot { Template giant_medic_scout } } } WaveSpawn { Name a2_c WaitForAllDead a2_b TotalCount 1 WaitBeforeStarting 14 Tank { StartingPathTrackNode boss_path_left Health 20000 Speed 90 OnKilledOutput { Target boss_dead_relay Action Trigger } OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn { Name a2 WaitForAllDead a1 TotalCount 26 MaxActive 8 SpawnCount 8 WaitBetweenSpawns 14 Where spawnbot RandomChoice { TFBot{Class Scout ClassIcon random_lite}TFBot{Class Soldier ClassIcon random_lite}TFBot{Class Pyro Skill Easy ClassIcon random_lite} TFBot{Class Demoman ClassIcon random_lite}TFBot{Class HeavyWeapons ClassIcon random_lite}TFBot{Class Engineer Skill Hard Action Mobber WeaponRestrictions PrimaryOnly ClassIcon random_lite} TFBot{Template T_TFBot_Sniper_Huntsman ClassIcon random_lite}TFBot{Class Spy Action Mobber Skill Expert Attributes DisableDodge ClassIcon random_lite} } } // //THE CRAZZZZZZY SIDE WaveSpawn { Name b1 WaitForAllDead a2_c TotalCount 24 MaxActive 12 SpawnCount 4 WaitBeforeStarting 9 WaitBetweenSpawns 4 Where spawnbot TFBot { Template T_TFBot_Soldier_Extended_Buff_Banner } } WaveSpawn { Name b1 WaitForAllDead a2_c TotalCount 2 MaxActive 2 SpawnCount 2 WaitBeforeStarting 9 WaitBetweenSpawns 8 Where spawnbot Squad { TFBot { Template T_TFBot_Giant_Soldier Skill Normal ClassIcon soldier_blackbox_homing_nys Item "The Black Box" Name "The Crack-Box" Health 15000 Item "Bombard Brigadier" AddTemplate unstablecharge SpawnTemplate callMcanteen Skill Expert Attributes AlwaysCrit Attributes HoldFireUntilFullReload Attributes UseBossHealthBar ItemAttributes { ItemName "The Black Box" "heal on hit for rapidfire" 250 "fire rate bonus" 0.001 "clip size upgrade atomic" 6 "Projectile speed decreased" 0.20 "faster reload rate" 0.67 "projectile spread angle penalty" 50 } FireInput { Delay 0 Repeats 1 Target medic_call_soldier Action Trigger IfHealthBelow 3000 } ChangeAttributes { Delay 0 Repeats 1 Name emergency_canteen IfHealthBelow 3000 } EventChangeAttributes { emergency_canteen { Skill Normal MaxVisionRange 1250 Addcond{Index 36} AddCond{Index 32} AddCond{Index 91} AddCond { Index 5 Duration 1 } } } } TFBot { Template T_TFBot_Giant_Heavyweapons_Shotgun Skill Normal } } } WaveSpawn { WaitForAllDead b1 TotalCount 24 MaxActive 12 SpawnCount 4 WaitBeforeStarting 9 WaitBetweenSpawns 4 Where spawnbot TFBot { Class Spy Action FetchFlag ClassIcon spy_enforcer_conch Attributes SpawnWithFullCharge Skill Expert WeaponRestrictions PrimaryOnly Item "The Enforcer" Item "The Concheror" Item "Night Vision Gawkers" Item "Shutterbug" CharacterAttributes { "increase buff duration" 10 } } } WaveSpawn { WaitForAllDead b1 TotalCount 24 MaxActive 8 SpawnCount 4 WaitBetweenSpawns 4 Where spawnbot Squad { TFBot { Class Demoman Skill Expert } TFBot { Template T_TFBot_Medic_Kritzkrieg } } } WaveSpawn { Name b2 WaitForAllDead b1 TotalCount 4 MaxActive 4 SpawnCount 1 WaitBetweenSpawns 7.5 Where spawnbot TFBot { Template T_TFBot_Giant_Pyro AddTemplate pyro_switcheroo AddTemplate unstablecharge Name "Giant Unstable Switcheroo Pyro" ClassIcon pyro_degreaser_shotgun_giant Skill Expert } } WaveSpawn { WaitForAllDead b2 TotalCount 2 MaxActive 2 SpawnCount 1 WaitBetweenSpawns 4.5 Where spawnbot_right Squad { TFBot { Template T_TFBot_Giant_Pyro Skill Expert Attributes AlwaysCrit } } } WaveSpawn { WaitForAllDead b2 TotalCount 2 MaxActive 2 SpawnCount 2 WaitBeforeStarting 5 WaitBetweenSpawns 14 Where spawnbot_right Squad { TFBot { Template T_TFBot_Giant_Soldier_Spammer } TFBot { Template giant_medic_scout } } } WaveSpawn { WaitForAllDead a2_c TotalCount 6 MaxActive 6 SpawnCount 3 Support 1 WaitBeforeStarting 6 WaitBetweenSpawns 4.2 Where spawnbot RandomChoice { TFBot{Class Scout ClassIcon random_lite}TFBot{Class Soldier ClassIcon random_lite}TFBot{Class Pyro Skill Easy ClassIcon random_lite} TFBot{Class Demoman ClassIcon random_lite}TFBot{Class HeavyWeapons ClassIcon random_lite}TFBot{Class Engineer Skill Hard Action Mobber WeaponRestrictions PrimaryOnly ClassIcon random_lite} TFBot{Template T_TFBot_Sniper_Huntsman ClassIcon random_lite}TFBot{Class Spy Action Mobber Skill Expert Attributes DisableDodge ClassIcon random_lite} } } WaveSpawn { WaitForAllDead a2_b TotalCount 2 MaxActive 2 SpawnCount 1 Support 1 WaitBeforeStarting 6 WaitBetweenSpawns 45 Where spawnbot TFBot { Template T_TFBot_Giant_Scout_FAN Name "Giant Unstable FaN Scout" AddTemplate unstablecharge } } // } }