//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 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" 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" LuaScriptFile "scripts/unstable_enemies.lua" //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 "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 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" "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} : 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 cause they could burn up anytime now.,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 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" } //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" } } 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" } } blucarrier { Nofixup 1 prop_dynamic { "targetname" "blu_carrier" // "disableshadows" "1" "StartDisabled" "1" "modelscale" "1" "model" "models/bots/boss_bot/carrier.mdl" "angles" "0 -90 0" "rendercolor" "255 255 255" "renderamt" "255" "solid" "0" "origin" "-400 7719 -300" "OnSpawn" "!self,TurnOff,,0,-1" } logic_relay { "targetname" "calltheblues" "ontrigger" "blu_carrier,TurnOn,,0,-1" "ontrigger" "arrivalsound,PlaySound,,0,-1" "ontrigger" "player,$DisplayTextChat,{DA79EF}Miss Pauling{FFFFFF} : It seems that the other carrier has arrived.,2,-1" "ontrigger" "player,$DisplayTextChat,{DA79EF}Miss Pauling{FFFFFF} : But knowing you guys. I believe that you'll fend them off!,4,-1" } ambient_generic { "targetname" "arrivalsound" "message" "mvm\mvm_warning.wav" "health" "10" "pitch" "90" "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 } KeepAlive 1 trigger_ignite { "targetname" "blastzone" "origin" "0 0 0" "angles" "0 0 0" "mins" "-270 -270 -600" "maxs" "270 270 600" "spawnflags" "1" "burn_duration" "5" "damage_percent_per_second" "35" "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" "bigblast,start,,0,-1" "OnTrigger" "bigblast,Kill,,4,-1" "OnTrigger" "shake,StartShake,,0,-1" "OnTrigger" "shake,StartShake,,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 8} // KeepAlive 1 obj_sentrygun { "targetname" "SBsentry" "teamnum" "3" "defaultupgrade" "0" "origin" "0 0 1" } } } //Templates of thy robots Templates { 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 } FireInput { IfHealthBelow 5 Delay 3 Target !self Action $suicide } 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 3 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 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 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-er Pyro" Health 12000 MaxVisionRange 800 Scale 2.1 Attributes UseBossHealthBar Action FetchFlag Skill Easy Item "Torcher's Trench Coat" Item "The Hive Minder" Item "Masked Loyalty" 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 Explanation { Line "{DA79EF}Miss Pauling{FFFFFF} : Mercs, Pauling here." Line "{DA79EF}Miss Pauling{FFFFFF} : There seems to be some robots that are looking very {D500FF}unusual...{FFFFFF} Something fishy is going on here." Line "{DA79EF}Miss Pauling{FFFFFF} : I'd advise to purchase some {FFA500}Fire Resistance{FFFFFF} upgrades against them cause they could burn up anytime now." Line "{DA79EF}Miss Pauling{FFFFFF} : Pauling out-" } 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} : I knew it. Those robots explode and leave a burning pile! Keep on guard mercs, a rush of Unstables are coming." 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 } TFBot { Template T_TFBot_Heavyweapons_EvictionNotice } } } WaveSpawn { Name a2 TotalCount 4 MaxActive 4 SpawnCount 1 WaitForAllDead a1 Where spawnbot WaitBeforeStarting 9 WaitBetweenSpawns 4 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 } } 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 18 MaxActive 12 SpawnCount 2 WaitForAllDead a2 Where spawnbot WaitBetweenSpawns 3.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 Explanation { Line "{DA79EF}Miss Pauling{FFFFFF} : Mercs, Pauling here." Line "{DA79EF}Miss Pauling{FFFFFF} : and WOAH thats alot of robots and it seems they're{blue} throwing a parade against us.{blue}" Line "{DA79EF}Miss Pauling{FFFFFF} : I'm also detecting some unstable robots in the mix so keep your eyes on robots with weird particles on them." Line "{DA79EF}Miss Pauling{FFFFFF} : Ms. P outta here-" Line "note: add parade music in this wave" } StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } WaveSpawn { Name a1 TotalCount 3 WaitBeforeStarting 8 WaitBetweenSpawns 4.2 Where spawnbot_right RandomChoice { TFBot{AddTemplate paradetime Template T_TFBot_Giant_Soldier_Extended_Buff_Banner ClassIcon soldier_banner_trio_giant Skill Easy Item "Bombard Brigadier"} TFBot{AddTemplate paradetime Template T_TFBot_Giant_Soldier_Extended_Battalion ClassIcon soldier_banner_trio_giant Skill Easy Item "Bombard Brigadier"} TFBot{AddTemplate paradetime Template T_TFBot_Giant_Soldier_Extended_Concheror ClassIcon soldier_banner_trio_giant Skill Easy Item "Bombard Brigadier"} } } WaveSpawn { Name non_support TotalCount 32 MaxActive 12 SpawnCount 3 WaitBetweenSpawns 2.2 Where spawnbot //The Whole TF2 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_Medic_QuickUber}TFBot{Template T_TFBot_Sniper_Huntsman ClassIcon random_lite}TFBot{Class Spy Action Mobber Skill Expert Attributes DisableDodge ClassIcon random_lite} } } WaveSpawn { Name a2 WaitForAllSpawned a1 TotalCount 1 WaitBeforeStarting 35 Tank { StartingPathTrackNode boss_path_right Health 10000 Model "models/bots/boss_bot/boss_blimp.mdl" Skin 1 DisableChildModels 1 ReplaceModelCollisions 1 Speed 60 } } WaveSpawn { Name a2_b WaitForAllDead a1 TotalCount 2 WaitBeforeStarting 2 Where spawnbot_right Squad { TFBot { Template T_TFBot_Giant_Heavyweapons AddTemplate paradetime Item "The Gift Bringer" Item "The B.M.O.C." Skill Easy } TFBot { Template T_TFBot_Giant_Medic_Uber Item "The Gift Bringer" Item "The B.M.O.C." } } } WaveSpawn { Name a3 WaitForAllDead a2 TotalCount 24 MaxActive 12 SpawnCount 12 WaitBeforeStarting 6 WaitBetweenSpawns 3 Where spawnbot_right TFBot { Class HeavyWeapons Item "The Gift Bringer" Item "The B.M.O.C." Skill Hard AimTrackingInterval 0.6 } } WaveSpawn { Name a4 WaitForAllDead a3 TotalCount 1 Where spawnbot_tank_door WaitBeforeStarting 2 TFBot { Template T_TFBot_Giant_Heavyweapons ClassIcon soldier_homing_spammer_nys UseCustomModel "models/bots/soldier_boss/bot_soldier_boss.mdl" UseHumanAnimations 1 Name "Giant Unstable Fireworks Maniac" AddTemplate paradetime AddTemplate unstablecharge AddCond{Index 36} Attributes AlwaysCrit Item "Hovering Hotshot" Item "Pop-Eyes" ItemAttributes { ItemName "TF_WEAPON_MINIGUN" "mod projectile heat seek power" 35 "projectile trail particle" "halloween_rockettrail" "fire rate penalty" 3.5 "override projectile type" 2 "projectile spread angle penalty" 5 "custom weapon fire sound" "=90|weapons\flare_detonator_launch.wav" } } } WaveSpawn { Name a4_b WaitForAllDead a3 TotalCount 6 WaitBeforeStarting 23 Where spawnbot_right Squad { TFBot { Template T_TFBot_Giant_Pyro Name "Giant Unstable Pyro" AddTemplate paradetime AddTemplate unstablecharge } TFBot{Class Pyro Skill Easy} TFBot{Class Pyro Skill Easy} TFBot{Class Pyro Skill Easy} TFBot{Class Pyro Skill Easy} TFBot{Class Pyro Skill Easy} } } WaveSpawn { Name a5 WaitForAllSpawned a4_b TotalCount 1 WaitBeforeStarting 5 Tank { StartingPathTrackNode boss_path_right Health 12000 Model "models/bots/boss_bot/boss_blimp.mdl" Skin 1 DisableChildModels 1 ReplaceModelCollisions 1 Speed 60 } } WaveSpawn { Name a5_b WaitForAllSpawned a4_b TotalCount 12 WaitBeforeStarting 2 Where spawnbot TFBot { Class Soldier Name "Extended Conch Homing Soldier" ClassIcon soldier_homing_nys_conch //let the homings fly Item "The Concheror" Attributes HoldFireUntilFullReload Attributes SpawnWithFullCharge Skill Expert RocketCustomParticle "eyeboss_projectile" HomingRockets { Enable 1 IgnoreDisguisedSpies 1 IgnoreStealthedSpies 1 TurnPower 35 MaxAimError 360 RocketSpeed 0.7 } AddCond{Index 36} ItemAttributes { ItemName "TF_WEAPON_ROCKETLAUNCHER" "custom weapon fire sound" "=90|weapons\flare_detonator_launch.wav" } CharacterAttributes { "increase buff duration" 9.0 } } } WaveSpawn { Name a6 TotalCurrency 800 WaitForAllDead a5_b TotalCount 4 Where spawnbot WaitBetweenSpawns 5 TFBot { Template T_TFBot_Giant_Soldier_RocketShotgun Name "Giant Unstable Black-Box Soldier" Skill Normal Action FetchFlag AddTemplate paradetime AddTemplate unstablecharge } } WaveSpawn { WaitForAllDead a1 TotalCount 3 Support 1 MaxActive 3 SpawnCount 3 WaitBeforeStarting 6 WaitBetweenSpawns 12 Where spawnbot_right TFBot { Template T_TFBot_Scout_Cola_Bat ClassIcon scout_cola_nys Item "Pestering Jester" Item "Stunt Suit" AddTemplate paradetime } } WaveSpawn { WaitForAllDead a1 TotalCount 2 Support 1 MaxActive 2 SpawnCount 2 WaitBeforeStarting 5 WaitBetweenSpawns 3 Where spawnbot_right TFBot { Class Soldier Skill Easy AddTemplate paradetime Item "Bombard Brigadier" } } WaveSpawn { WaitForAllDead a4 TotalCount 2 Support 1 MaxActive 2 SpawnCount 1 WaitBeforeStarting 6 WaitBetweenSpawns 3.4 Where spawnbot_right TFBot { Class HeavyWeapons Item "The Gift Bringer" Item "The B.M.O.C." Skill Normal AimTrackingInterval 0.6 } } WaveSpawn { WaitForAllDead non_support Support 1 TotalCount 4 MaxActive 4 SpawnCount 2 WaitBetweenSpawns 5.8 Where spawnbot //The Whole TF2 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 non_support Support 1 TotalCount 2 MaxActive 2 SpawnCount 1 WaitBetweenSpawns 8.8 Where spawnbot TFBot{Template T_TFBot_Medic_QuickUber} } WaveSpawn { WaitForAllDead a2_b TotalCount 2 Support 1 MaxActive 2 WaitBeforeStarting 8 WaitBetweenSpawns 14.9 Where spawnbot_right RandomChoice { TFBot{AddTemplate paradetime Template T_TFBot_Soldier_Extended_Buff_Banner ClassIcon soldier_banner_trio Skill Easy Item "Bombard Brigadier"} TFBot{AddTemplate paradetime Template T_TFBot_Soldier_Extended_Battalion ClassIcon soldier_banner_trio Skill Easy Item "Bombard Brigadier"} TFBot{AddTemplate paradetime Template T_TFBot_Soldier_Extended_Concheror ClassIcon soldier_banner_trio Skill Easy Item "Bombard Brigadier"} } } } //WAVE 4 // Wave { WaitWhenDone 65 Checkpoint Yes SpawnTemplate blucarrier 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 13 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 40 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 150 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_Reload Attributes AlwaysCrit } TFBot { Template T_TFBot_Giant_Medic } } } WaveSpawn { WaitForAllDead a1 TotalCount 30 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 3 MaxActive 3 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 Skill Normal } TFBot { Template giant_medic_scout } } } WaveSpawn { Name a2_c WaitForAllDead a2_b TotalCount 2 MaxActive 2 SpawnCount 2 Where spawnbot Squad { TFBot { Template T_TFBot_Giant_Pyro_DF } TFBot { Template giant_medic_scout } } } WaveSpawn { Name a2_c WaitForAllDead a2_b TotalCount 1 WaitBeforeStarting 10 Tank { StartingPathTrackNode boss_path_left Health 15000 Speed 80 } } 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_Medic_QuickUber}TFBot{Template T_TFBot_Sniper_Huntsman ClassIcon random_lite}TFBot{Class Spy Action Mobber Skill Expert Attributes DisableDodge ClassIcon random_lite} } } WaveSpawn { //Dummy to activate nessecaryasidhasda logic relays and stuff WaitForAllDead a2_c TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 4 where spawnbot // Support Limited RandomChoice { Squad { TFBot { Class Scout FireInput { Delay 0.2 Target calltheblues Action Trigger } FireInput { Delay 0.2 Target !activator Action $suicide } } } } } // //THE CRAZZZZZZY SIDE WaveSpawn { Name b1 WaitForAllDead a2_c TotalCount 18 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 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 9 WaitBetweenSpawns 8 Where spawnbot TFBot { Template T_TFBot_Giant_Soldier Skill Normal ClassIcon soldier_blackbox_homing_nys Item "The Black Box" Name "The Crack-Box" Health 14000 Item "Bombard Brigadier" AddTemplate unstablecharge SpawnTemplate callMcanteen Skill Expert Attributes AlwaysCrit Attributes HoldFireUntilFullReload Attributes UseBossHealthBar RocketCustomParticle "eyeboss_projectile" HomingRockets { Enable 1 IgnoreDisguisedSpies 1 IgnoreStealthedSpies 1 TurnPower 35 MaxAimError 360 RocketSpeed 0.5 } ItemAttributes { ItemName "The Black Box" "heal on hit for rapidfire" 120 "fire rate bonus" 0.001 "clip size upgrade atomic" 6 "Projectile speed decreased" 0.20 "faster reload rate" 2.1 "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 } } } } } WaveSpawn { Name b1 WaitForAllDead a2_c TotalCount 4 MaxActive 4 SpawnCount 4 WaitBeforeStarting 20 Where spawnbot Squad { TFBot { Template T_TFBot_Giant_Heavyweapons_Shotgun Skill Easy } TFBot{Template T_TFBot_Medic_Kritzkrieg} TFBot{Template T_TFBot_Medic_Kritzkrieg} TFBot{Template T_TFBot_Medic_Kritzkrieg} } } WaveSpawn { WaitForAllDead b1 TotalCount 24 MaxActive 8 SpawnCount 4 WaitBetweenSpawns 4 Where spawnbot Squad { TFBot { Class Demoman Skill Easy } 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 Name "Giant Unstable Degreaser Pyro" Item "The Degreaser" ClassIcon pyro_degreaser AddTemplate unstablecharge Skill Normal } } WaveSpawn { WaitForAllDead b2 TotalCount 1 WaitBeforeStarting 13 TotalCurrency 700 Tank { StartingPathTrackNode boss_path_right Health 18000 Speed 80 } } WaveSpawn { WaitForAllDead b2 TotalCount 2 MaxActive 2 SpawnCount 1 WaitBetweenSpawns 4.5 Where spawnbot_right Squad { TFBot { Template T_TFBot_Giant_Pyro Skill Normal 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_c TotalCount 2 MaxActive 2 SpawnCount 1 Support 1 WaitBeforeStarting 6 WaitBetweenSpawns 5.2 Where spawnbot TFBot{Template T_TFBot_Medic_QuickUber} } WaveSpawn { WaitForAllDead b2 TotalCount 2 MaxActive 2 SpawnCount 1 Support 1 WaitBeforeStarting 6 WaitBetweenSpawns 40 Where spawnbot TFBot { Template T_TFBot_Giant_Scout_Fast Name "Giant Unstable Fast Scout" AddTemplate unstablecharge } } // } }