// Made by Snurper_Bob (GoodBob) //Heya this is my first in quotations... "p r o p e r" Rev Mission //kept hearing of the conspired Rev2 so decided to make a rev mission for that... in INT difficulty that is cuz //I suck at ADV and EXP making... sorry //UPDATE: THIS IS A HARDER VERSION OF GCC //If it dont make it (high as fuck possibility) its okay. sometimes we gotta try! //Lore: Local Giant Engineer keeps getting assaulted by the blu robots and is just in constant agony. #base robot_moonlight.pop #base robot_standard.pop #base robot_giant.pop // shield for Guard Point enemies #base rotating_shield.pop goodbobsapologycuzicantmakeharderdifficulties:c //WaveSchedule { //Essential stuff yknow Advanced 1 StartingCurrency 1100 RespawnWaveTime 6 CanBotsAttackWhileInSpawnRoom no WaveStartCountdown 5 RespawnWaveTimeBlue 7 TextPrintTime 0 //Blue team time ReverseWinConditions 1 FlagCarrierMovementPenalty 1 AllowJoinTeamBlue 1 HumansMustJoinTeam Blue SetCreditTeam 3 SniperAllowHeadshots 1 SendBotsToSpectatorImmediately 1 NoRomevisionCosmetics 1 BluHumanFlagCapture 1 BluHumanFlagPickup 1 BluPlayersAreRobots 1 AllowBluPlayerReanimators 1 AllowJoinTeamBlueMax 6 PlayerRobotsUsePlayerAnimation 1 BluHumanInfiniteAmmo 0 BluHumanInfiniteCloak 0 BluHumanTeleportOnSpawn 1 //Misc stuff ForceHoliday 2 FixHuntsmanDamageBonus 1 BotHumansHaveEyeGlow 0 NoRedBotsRandomCrit 1 NoRedSniperBotHeadshots 1 NoRomevisionCosmetics 1 //NO SOUNDS DisableSound "vo\mvm_tank_alerts02.mp3" DisableSound "vo\mvm_tank_alerts01.mp3" DisableSound "vo\mvm_tank_alerts08.mp3" //IMPORTANT PRECACHES PrecacheModel "models/props_skybox/skybox_carrier.mdl" PrecacheModel "models/props_mvm/robot_spawnpoint.mdl" PrecacheModel "models/weapons/c_models/c_tfc_sniperrifle/c_tfc_sniperrifle.mdl" PrecacheModel "models/props_moonbase/radar_outpost01.mdl" PrecacheModel "models/props_gameplay/cap_circle_320.mdl" PrecacheModel "models/bots/boss_bot/boss_tankred_pure.mdl" PrecacheModel "models\weapons\c_models\c_tfc_sniperrifle\c_tfc_sniperrifle.mdl" PrecacheSound "hhwave1intro.mp3" PrecacheSound "hhwave1.mp3" PrecacheSound "hhwave2intro.mp3" PrecacheSound "hhwave2loop.mp3" PrecacheSound "vo\mvm\norm\engineer_mvm_dominationscout06.mp3" PrecacheSound "items\cart_rolling.wav" PrecacheSound "mvm\mvm_robo_stun.wav" PrecacheSound "ui\cyoa_ping_available.wav" PrecacheSound "vo\compmode\cm_admin_round_start_11.mp3" PrecacheSound "mvm\mvm_tele_activate.wav" PrecacheSound "vo\mvm\mght\soldier_mvm_m_cheers04.mp3" PrecacheSound "vo\mvm\mght\pyro_mvm_m_laughhappy01.mp3" PrecacheSound "vo\mvm\norm\engineer_mvm_battlecry07.mp3" PrecacheSound "mvm\mvm_bought_in.wav" Templates { security { AddCond {Index 43} Action Mobber Item "L4D Hat" VoiceCommand { Delay 1 Cooldown 5 Repeats 999 Type "Battle cry" } } playertargetFIX { InterruptAction { Target "ClosestPlayer" KillAimTarget 1 } } lvl3droneuser { Class Engineer AlwaysGlow 1 ClassIcon engineer_wrangler_lite_giant Skill Normal Health 5500 Tag bot_giant Name "Maintenance Engineer" Attributes MiniBoss Attributes UseBossHealthBar SpawnTemplate droneEngitemplateLVL3 Action Mobber WeaponRestrictions SecondaryOnly DesiredAttackRange 700 Item "The Wrangler" Item "MvM GateBot Light Engineer" FireWeapon { Delay 1 IfSeeTarget 1 Cooldown 0.2 Type "Primary" } FireWeapon { Delay 8 Cooldown 4 Repeats 999 Duration 0.5 Type "Secondary" } AddCond {Index 43} CharacterAttributes { "airblast vulnerability multiplier" 0.30 "override footstep sound set" 2.0 "damage force reduction" 0.30 "move speed bonus" 0.50 } } droneEngi { Class Engineer ClassIcon engineer_wrangler_lite Skill Expert Name "Drone Engineer" Action Mobber WeaponRestrictions SecondaryOnly SpawnTemplate droneEngitemplate DesiredAttackRange 700 Item "Hazard Handler" Item "Cargo Constructor" Item "The Wrangler" FireWeapon { Delay 1 IfSeeTarget 1 Cooldown 0.1 Type "Primary" } AddCond {Index 43} } tankkillertemplate { ExtAttr IgnoreBuildings ExtAttr IgnorePlayers AddCond{Index 43} } T_TFBot_Giant_Sniper { Class Sniper ClassIcon sniper_all Health 3000 Tag bot_giant Action Mobber Item "The AWPer Hand" Attributes MiniBoss Attributes AlwaysFireWeapon MaxVisionRange 2500 FireWeapon { Delay 10 Cooldown 10 Repeats 999 Duration 0.5 Type "Secondary" } CharacterAttributes { "airblast vulnerability multiplier" 0.50 "override footstep sound set" 7.0 "damage force reduction" 0.50 "move speed bonus" 2.13 } } } //TANK PLACES ExtraTankPath { Name "faketank" Node "1340 -578 -318" Node "0 0 0" } ExtraTankPath { Name "faketankfinale" Node "3466 -642 8" Node "0 0 0" } // RED TANK??? ExtraTankPath { Name "wave3tank" Node "3490 -479 8" Node "2784 410 -71" Node "2179 361 -179" Node "1397 -264 -320" Node "1346 -430 -321" } //Mission bots here Mission // sentry buster { Objective DestroySentries InitialCooldown 20 Where otherspawn1 BeginAtWave 1 RunForThisManyWaves 9 CooldownTime 40 TargetBluSentries 1 TFBot { Template T_TFBot_SentryBuster UseCustomModel "models/bots/demo/red_sentry_buster.mdl" AddCond {Index 43} } } // //RedSpawns here //All the spawnies lolz ExtraSpawnPoint { Name "guardpoint" TeamNum 2 X 25 Y -602 Z 192 StartDisabled 1 } ExtraSpawnPoint { Name "giantzone1" TeamNum 2 X 1803 Y -1014 Z 170 } ExtraSpawnPoint { Name "giantzone2" TeamNum 2 X 1860 Y 628 Z -300 } ExtraSpawnPoint { Name "backdoor" TeamNum 2 X 402 Y 1947 Z -55 } ExtraSpawnPoint { Name "infispawn" TeamNum 2 X 4842.44 Y -263.86 Z 137.03 } ExtraSpawnPoint { Name "spawnpoint1A" TeamNum 2 X -1380.63 Y -16.96 Z 60.40 } ExtraSpawnPoint { Name "spawnpoint1B" TeamNum 2 X 616.06 Y -78.53 Z -100.97 } //Buggy atm ExtraSpawnPoint { Name "spawnpoint2A" TeamNum 2 X 2549.83 Y -1389.57 Z 145.02 } ExtraSpawnPoint { Name "spawnpoint2B" TeamNum 2 X 3191.12 Y -848.95 Z 145.03 } // ExtraSpawnPoint { Name "otherspawn1" TeamNum 2 X 3786.76 Y -1236.70 Z 165.03 } ExtraSpawnPoint { Name "otherspawn1b" TeamNum 2 X 3786.76 Y -1200.70 Z 165.03 } ExtraSpawnPoint { Name "otherspawn2" TeamNum 2 X 1942.37 Y -503.47 Z 110.03 } ExtraSpawnPoint { Name "otherspawn3" TeamNum 2 X 1892 Y 128 Z -290 } PointTemplates { LoseRelay { NoFixup 1 game_round_win //ignore this { "TeamNum" "2" "targetname" "bots_win_red" "switch_teams" "0" "force_map_reset" "1" "classname" "game_round_win" } logic_relay //trigger this { "targetname" "redwin_relay" "OnTrigger" "bots_win_red,RoundWin,,0,-1" } } mapchange { OnSpawnOutput { Target "telezone" Action Enable } OnSpawnOutput { Target "telezone2" Action Disable } logic_auto { "origin" "0 0 0" "targetname" "mainrelay" "OnMapSpawn" "wave_start_relay*,AddOutput,OnTrigger spawnbarrier:Disable:0:-1,0,-1" "OnMapSpawn" "wave_finished_relay*,AddOutput,OnTrigger spawnbarrier:Enable:0:-1,0,-1" } //TP from the spawnbot to the flank cuz fuck NoFixUp 1 trigger_teleport { "spawnflags" "1" "targetname" "telezone" "origin" "980.00 4075.00 308.03" "target" "playerhere" "mins" "-600 -600 -300" "maxs" "600 600 300" } trigger_teleport { "spawnflags" "1" "StartDisabled" "1" "targetname" "telezone2" "origin" "-1574 4047 244" "target" "secondspawn" "mins" "-500 -500 -200" "maxs" "500 500 200" } info_teleport_destination { "targetname" "playerhere" "origin" "-1477.41 4022.68 289.03" } } wave2spawnchanger { info_teleport_destination { "targetname" "secondspawn" "origin" "-634.86 -196.44 171.03" "angles" "0.83 -51.91 0.00" } logic_relay { "onspawn" "tank_path_a30,AddOutput,OnPass telezone2:Enable::0.02:-1,1" "onspawn" "tank_path_a30,AddOutput,OnPass player:$DisplayTextChat:{99CCFF}New Spawn-Point Activated!:0:1,-1" "onspawn" "tank_path_a30,AddOutput,OnPass player:$PlaySoundToSelf:mvm\mvm_bought_in.wav:0:1,-1" "onspawn" "tank_path_a24,AddOutput,OnPass guardpoint:Enable::0:1,-1" "onspawn" "tank_path_a24,AddOutput,OnPass player:$PlaySoundToSelf:mvm\mvm_tele_activate.wav:0.4:1,-1" "onspawn" "tank_path_a24,AddOutput,OnPass shake:StartShake::0:1,-1" "onspawn" "tank_path_a39,AddOutput,OnPass otherspawn1:Enable::0:1,-1" "onspawn" "tank_path_a39,AddOutput,OnPass player:$PlaySoundToSelf:mvm\mvm_tele_activate.wav:0.4:1,-1" "onspawn" "tank_path_a39,AddOutput,OnPass shake:StartShake::0:1,-1" } env_shake { "spawnflags" "1" "amplitude" "16" "duration" "3" "frequency" "9" "targetname" "shake" } } spawnbarriers { //THE LOGIC RELAAAAAAAAYS logic_relay { "targetname" "objective1_complete" "OnTrigger" "objective1,Disable,,0,-1" } logic_relay { "targetname" "objective2_complete" "OnTrigger" "objective2,Disable,,0,-1" } func_forcefield { "targetname" "spawnbarrier" "origin" "-889.35 3725.93 289.99" "angles" "0 90 0" "rendermode" "10" //10 = don't render "TeamNum" "2" //2 for red, 3 for blu "mins" "-500 -50 -300" "maxs" "500 50 900" //300x300 hu cube } prop_dynamic { "targetname" "spawnbarrier" "disableshadows" "1" "model" "models/props_mvm/reversemvm_redwall_640x418.mdl" "angles" "0 0 0" "rendercolor" "255 255 255" "renderamt" "255" "solid" "0" "origin" "-889.35 3725.93 289.99" } } barrierwave1 { //Objective barriers //First Barrier // NoFixUp 1 func_forcefield { "targetname" "objective1" "origin" "-771.06 1098.65 188.77" //rottenburg spawn "angles" "0 0 0" "rendermode" "10" //10 = don't render "TeamNum" "2" //2 for red, 3 for blu "mins" "-3000 -50 -300" "maxs" "3000 -50 500" //300x300 hu cube } prop_dynamic { "targetname" "objective1" "model" "models/props_mvm/reversemvm_redwall_640x418.mdl" "angles" "0 0 0" "rendercolor" "255 255 255" "renderamt" "255" "solid" "0" "origin" "123.50 1033.28 129.03" } prop_dynamic { "targetname" "objective1" "model" "models/props_mvm/reversemvm_redwall_640x418.mdl" "angles" "0 0 0" "rendercolor" "255 255 255" "renderamt" "255" "solid" "0" "origin" "-771.06 1098.65 188.77" } //SecondBarrier func_forcefield { "targetname" "objective2" "origin" "3804.32 -712.65 28.03" //rottenburg spawn "angles" "0 0 0" "rendermode" "10" //10 = don't render "TeamNum" "2" //2 for red, 3 for blu "mins" "-135 -135 -135" "maxs" "135 135 135" //300x300 hu cube } prop_dynamic { "targetname" "objective2" "model" "models/props_mvm/hatch_shield.mdl" "angles" "0 0 0" // "modelscale" "2.1" "rendercolor" "255 255 255" "renderamt" "255" "solid" "2" "origin" "3804.32 -712.65 28.03" } } upgradestation { //The upgradestation is a carrier tank? prop_dynamic { "targetname" "tankstationlol" "model" "models/props_skybox/skybox_carrier.mdl" "origin" "-782.35 3986.84 221.94" "modelscale" "1.3" "angles" "0 79 0" } prop_dynamic //blu upgrade station model, can be found on potato servers { "targetname" "upgradestation" "model" "models\props_mvm\mvm_upgrade_blu.mdl" "origin" "-782.35 3986.84 231.94" "angles" "0 166 0" "modelscale" "0.6" } NoFixup 1 func_upgradestation //upgrade station entity { "mins" "-105 -100 0" "maxs" "105 100 242" "origin" "-782.35 3986.84 221.94" "angles" "0 79 0" "solid" "0" } } disablethespawns { logic_relay { "targetname" "disablesecurity" "OnTrigger" "spawnpoint1A,Disable,,0.2,-1" "OnTrigger" "spawnpoint1B,Disable,,0.2,-1" "OnTrigger" "spawnpoint2A,Disable,,0.2,-1" } } textualtimer { OnSpawnOutput { Param 6 // change the value for minutes Target minutehand Action SetValue } OnSpawnOutput { Param 59 // change the value for seconds Target secondhand Action SetValue } logic_relay { "targetname" "loserelay" "startdisabled" "1" "ontrigger" "bots_win_red,RoundWin,,2,-1" "ontrigger" "realtimer,cancelpending,,2,-1" "onspawn" "wave_start*,addoutput,ontrigger realtimer:trigger::0:-1,0,-1" "onspawn" "wave_finish*,addoutput,ontrigger realtimer:cancelpending::0:-1,0,-1" "onspawn" "wave_finish*,addoutput,ontrigger loserelay:cancelpending::0:-1,0,-1" } NoFixup 1 math_counter { "targetname" "minutehand" "max" "9999" "outvalue" "timerformat,$setkey$case01,,0,-1" "onhitmin" "loserelay,enable,,1,-1" } math_counter { "targetname" "secondhand" "max" "60" "outvalue" "timerformat,$setkey$case02,,0,-1" "outvalue" "zerocompare,setvaluecompare,,0,-1" "onhitmin" "loserelay,trigger,,0,-1" "onhitmin" "!self,setvalue,60,1,-1" "onhitmin" "minutehand,subtract,1,1,-1" } logic_compare { "targetname" "zerocompare" "comparevalue" "9" "onequalto" "timerformat,$setkey$case16,%:0%,0,-1" "ongreaterthan" "timerformat,$setkey$case16,%:%,0,-1" } logic_case { "targetname" "timerformat" "case16" "%:%" "ondefault" "timertext,$setkey$message,,0,-1" "ondefault" "timertext,display,0,0,-1" } game_text { "targetname" "timertext" "color" "65 155 255" "holdtime" "2" "spawnflags" "1" "x" "0.7" "y" "0.9" } logic_relay { "targetname" "realtimer" "spawnflags" "2" "ontrigger" "timerformat,$format,,0.01,-1" "ontrigger" "secondhand,subtract,1,1,-1" //it doubles for some reason lol, also second should be 0.5 not 0 "ontrigger" "!self,trigger,,1,-1" } game_round_win { "teamnum" "2" "targetname" "bots_win_red" "force_map_reset" "1" } } textualtimerWAVE3 { KeepAlive 1 OnSpawnOutput { Param 1 // change the value for minutes Target minutehand Action SetValue } OnSpawnOutput { Param 30 // change the value for seconds Target secondhand Action SetValue } logic_relay { "targetname" "loserelay" "startdisabled" "1" "ontrigger" "hatchdepleted,trigger,,0.2,-1" "ontrigger" "realtimer,cancelpending,,2,-1" "onspawn" "wave_start*,addoutput,ontrigger realtimer:trigger::0:-1,0,-1" "onspawn" "wave_finish*,addoutput,ontrigger realtimer:cancelpending::0:-1,0,-1" "onspawn" "wave_finish*,addoutput,ontrigger loserelay:cancelpending::0:-1,0,-1" } NoFixup 1 math_counter { "targetname" "minutehand" "max" "9999" "outvalue" "timerformat,$setkey$case01,,0,-1" "onhitmin" "loserelay,enable,,1,-1" } math_counter { "targetname" "secondhand" "max" "60" "outvalue" "timerformat,$setkey$case02,,0,-1" "outvalue" "zerocompare,setvaluecompare,,0,-1" "onhitmin" "loserelay,trigger,,0,-1" "onhitmin" "!self,setvalue,60,1,-1" "onhitmin" "minutehand,subtract,1,1,-1" } logic_compare { "targetname" "zerocompare" "comparevalue" "9" "onequalto" "timerformat,$setkey$case16,%:0%,0,-1" "ongreaterthan" "timerformat,$setkey$case16,%:%,0,-1" } logic_case { "targetname" "timerformat" "case16" "%:%" "ondefault" "timertext,$setkey$message,,0,-1" "ondefault" "timertext,display,0,0,-1" } game_text { "targetname" "timertext" "color" "65 155 255" "holdtime" "2" "spawnflags" "1" "x" "0.7" "y" "0.8" } logic_relay { "targetname" "realtimer2" "spawnflags" "2" "ontrigger" "timerformat,$format,,0.01,-1" "ontrigger" "secondhand,subtract,1,1,-1" //it doubles for some reason lol, also second should be 0.5 not 0 "ontrigger" "!self,trigger,,1,-1" } } hologramactivator { //Reactivating the holograms to lead players where to go logic_relay { "targetname" "hologramactivate" "OnTrigger" "bombpath_a_arrow,Enable,,0.22,-1" "OnTrigger" "bombpath_b_arrow,Enable,,0.22,-1" } } //MUSIC DEALERS! Wave1musicdealer { //Wave1musicdealer logic_relay { "targetname" "music1" "spawnflags" "2" "OnTrigger" "intro,PlaySound,,0,-1" "OnTrigger" "intro,StopSound,,135,-1" "OnTrigger" "music1loop,Trigger,,137,-1" } //Loop logic_relay { "targetname" "music1loop" "spawnflags" "2" "OnTrigger" "wave1,PlaySound,,0,-1" "OnTrigger" "musiclooper,Trigger,,126,-1" } //Loop handler logic_relay { "targetname" "musiclooper" "spawnflags" "2" "OnTrigger" "wave1,StopSound,,0.2,-1" "OnTrigger" "music1loop,Trigger,,0.22,-1" } //Music Stop logic_relay { "targetname" "wave_finished_relay" "OnTrigger" "music1loop,Disable,,0,-1" "OnTrigger" "musiclooper,Disable,,0,-1" "OnTrigger" "wave1,StopSound,,0,-1" } // //Music time AAAAAAAAAAAAAAA ambient_generic { "targetname" "intro" "message" "#hhwave1intro.mp3" "health" "10" "pitch" "100" "spawnflags" "17" } ambient_generic { "targetname" "wave1" "message" "#hhwave1.mp3" "health" "10" "pitch" "100" "spawnflags" "17" } } Wave2musicdealer { //Wave2musicdealer logic_relay { "targetname" "music" "spawnflags" "2" "OnTrigger" "intro2,PlaySound,,0,-1" "OnTrigger" "intro2,StopSound,,135,-1" "OnTrigger" "musicloop,Trigger,,137,-1" } //Loop logic_relay { "targetname" "musicloop" "spawnflags" "2" "OnTrigger" "wave1,PlaySound,,0.1,-1" "OnTrigger" "musiclooper,Trigger,,123,-1" } //Loop handler logic_relay { "targetname" "musiclooper" "spawnflags" "2" "OnTrigger" "wave1,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" "wave1,StopSound,,0,-1" } // //Music time AAAAAAAAAAAAAAA ambient_generic { "targetname" "intro2" "message" "#hhwave2intro.mp3" "health" "10" "pitch" "100" "spawnflags" "17" } ambient_generic { "targetname" "wave1" "message" "#hhwave2loop.mp3" "health" "10" "pitch" "100" "spawnflags" "17" } } Wave3musicdealer { //Wave2musicdealer logic_relay { "targetname" "music" "spawnflags" "2" "OnTrigger" "intro3,PlaySound,,0,-1" "OnTrigger" "intro3,StopSound,,117,-1" "OnTrigger" "musicloop2,Trigger,,117,-1" } //Loop logic_relay { "targetname" "musicloop2" "spawnflags" "2" "OnTrigger" "wave3,PlaySound,,0.1,-1" "OnTrigger" "musiclooper2,Trigger,,113,-1" } //Loop handler logic_relay { "targetname" "musiclooper2" "spawnflags" "2" "OnTrigger" "wave3,StopSound,,0.2,-1" "OnTrigger" "musicloop,Trigger,,0.22,-1" } //Music Stop logic_relay { "targetname" "timerdone" "OnTrigger" "musicloop2,Disable,,0.02,-1" "OnTrigger" "musiclooper2,Disable,,0.04,-1" "OnTrigger" "wave3,StopSound,,0.06,-1" "OnTrigger" "intro3,StopSound,,0.08.-1" } // //SUBWAVE 2 logic_relay { "targetname" "submusic" "spawnflags" "2" "OnTrigger" "subwaveintro,PlaySound,,0,-1" "OnTrigger" "subwaveintro,StopSound,,145,-1" "OnTrigger" "subloop2,Trigger,,145,-1" } logic_relay { "targetname" "subloop2" "spawnflags" "2" "OnTrigger" "subwaveloop,PlaySound,,0.1,-1" "OnTrigger" "sublooper,Trigger,,105,-1" } logic_relay { "targetname" "sublooper" "spawnflags" "2" "OnTrigger" "subwaveloop,StopSound,,0.2,-1" "OnTrigger" "subloop,Trigger,,0.22,-1" } // //Music time AAAAAAAAAAAAAAA ambient_generic { "targetname" "intro3" "message" "#hhwave3intro.mp3" "health" "10" "pitch" "100" "spawnflags" "17" } ambient_generic { "targetname" "wave3" "message" "#hhwave3loop.mp3" "health" "10" "pitch" "100" "spawnflags" "17" } // // ambient_generic { "targetname" "subwaveintro" "message" "#hhwave3sw2intro.mp3" "health" "10" "pitch" "100" "spawnflags" "17" } ambient_generic { "targetname" "subwaveloop" "message" "#hhwave3sw2loop.mp3" "health" "10" "pitch" "100" "spawnflags" "17" } } // nodeappears { OnSpawnOutput { Target nodehere Action show Delay 0.2 } training_annotation { "targetname" "nodehere" "display_text" "A Force-Field Node has appeared!" "lifetime" "4" } } healthappears { // OnSpawnOutput // { // Target nodehere // Action show // Delay 0.2 // } OnParentKilledOutput { Target healup Action Trigger Delay 0.02 } KeepAlive 1 // training_annotation // { // "targetname" "nodehere" // "display_text" "A Health Node has appeared! Destroy it to regain Payload Health!" // "lifetime" "4" // } logic_relay { "targetname" "healup" "ontrigger" "payloadtank*,AddHealth,1000,0.02,-1" } } //so payload of these templates... can you believe it guys? Payload! just a week away! payloadtank { //Nodes here OnSpawnOutput { Target nodehere Action show Delay 0.2 } training_annotation { "targetname" "nodehere" "display_text" "Payload has appeared! Start pushing!" "lifetime" "4" } // OnSpawnOutput { Target kaboomtime Action Trigger } OnSpawnOutput { Target tankhere Action SetParent Param !activator Delay 0.02 } OnParentKilledOutput { Target "tankrequirements" Action Kill } OnParentKilledOutput { Target "tankrequirementslegs" Action Kill } OnParentKilledOutput { Action "$DisplayTextChat" Param "{99CCFF}GUARD POINT DEFEATED" } OnParentKilledOutput { Target healzone Action Kill } info_target { "targetname" "tankhere" "origin" "0 0 0" } //THE DESIGNS AND MODELS prop_dynamic { "targetname" "tankrequirements" "model" "models/props_trainyard/bomb_cart.mdl" "angles" "0 180 0" "solid" "0" "origin" "0 0 44" } prop_dynamic { "targetname" "tankrequirementslegs" "model" "models/bots/boss_bot/tank_track_l.mdl" // "angles" "0 180 0" "solid" "0" "modelscale" "0.6" "origin" "0 29 8" } prop_dynamic { "targetname" "tankrequirementslegs" "model" "models/bots/boss_bot/tank_track_l.mdl" // "angles" "0 180 0" "solid" "0" "modelscale" "0.6" "origin" "0 -29 8" } //Moving the tank trigger_multiple { "targetname" "movezone" "spawnflags" "1" "origin" "0 0 0" "mins" "-300 -300 -300" "maxs" "300 300 300" "filtername" "bluteamonly" "OnEndTouchAll" "payloadtank*,SetSpeed,0,0,-1" "OnEndTouchAll" "tankrequirementslegs,SetAnimation,ref,0.20,-1" "OnStartTouchAll" "payloadtank*,SetSpeed,55,0,-1" "OnStartTouchAll" "tankrequirementslegs,SetAnimation,forward,0.20,-1" } //The healing rad dispenser_touch_trigger { "targetname" "healzonerange" "origin" "0 0 0" "mins" "-350 -350 -500" "maxs" "350 350 500" } mapobj_cart_dispenser { "targetname" "healzone" "origin" "-30 0 50" "defaultupgrade" "2" "spawnflags" "14" "SolidToPlayer" "0" "touch_trigger" "healzonerange" "TeamNum" "3" "renderamt" "255" "rendercolor" "255 255 255" } //suddenly the door blows up logic_relay { "targetname" "kaboomtime" "OnTrigger" "tankdoor_fx,Kill,,1,-1" "OnTrigger" "tankdoor_fx,Start,,0,-1" "OnTrigger" "tankdoor,Disable,,0,-1" "OnTrigger" "tank_explosion_wav,PlaySound,,0,-1" "OnTrigger" "tank_explosion_wav,Kill,,2,-1" "OnTrigger" "tankdoor_actual,Kill,,0.2,-1" "OnTrigger" "tankdoor_actual,Open,,0,-1" } } payloadjammer { OnParentKilledOutput { Target "offjam" Action Trigger } OnParentKilledOutput { Target "healerup" Action Trigger } OnSpawnOutput { Target "nodetime" Action Show } OnSpawnOutput { Target "flair" Delay 0.2 Action Trigger } logic_relay { "targetname" "payjam" "OnSpawn" "movezone,Disable,,0.02,-1" "OnSpawn" "healzone,Disable,,0.02,-1" "OnSpawn" "healzonerange,Disable,,0.02,-1" "OnSpawn" "tankrequirementsrad,Enable,,0.02,-1" "OnSpawn" "player,$DisplayTextChat,{yellow}///WARNING! A GUARD POINT HAS APPEARED AND IS JAMMING THE PAYLOAD!,,0,-1" } info_particle_system { "targetname" "spawneffect" "effect_name" "teleporter_mvm_bot" } logic_relay { "targetname" "flair" "ontrigger" "spawneffect,Start,,0.2,-1" } KeepAlive 1 logic_relay { "targetname" "offjam" "OnTrigger" "movezone,Enable,,0.02,-1" "OnTrigger" "healzone,Enable,,0.02,-1" "OnTrigger" "healzonerange,Enable,,0.02,-1" "OnTrigger" "tankrequirementsrad,Disable,,0.02,-1" } logic_relay { "targetname" "healerup" "OnTrigger" "payloadtank*,AddHealth,10000,0.02,-1" } } payloadstuck { prop_dynamic { "targetname" "tankrequirementsrad" "model" "models/props_mvm/hatch_shield.mdl" "modelscale" "0.9" "origin" "0 0 -14" "solid" "0" "StartDisabled" "1" } prop_dynamic { "targetname" "tankrequirementsrad" "model" "models\props_gameplay\cap_square_512.mdl" "skin" "1" "modelscale" "0.9" "solid" "0" "origin" "0 0 32" "StartDisabled" "1" } } //KOTH MOMENTS //Thanks to Lite for the TimerV2 droneEngitemplateLVL3 { OnSpawnOutput { Target drone2 Action SetHealth Param 9999 Delay 0.02 } OnSpawnOutput { Target drone2 Action SetBuilder Param !activator Delay 0.04 } obj_sentrygun { "targetname" "drone2" "spawnflags" "2" "teamnum" "2" "defaultupgrade" "2" "origin" "50 40 110" "$ammomult" "999" "SolidToPlayer" "0" "$setcollisionfilter" "filter_nothing2" } filter_activator_class { "targetname" "filter_nothing2" "filterclass" "bigboobs" } } droneEngitemplate { OnSpawnOutput { Target drone Action SetHealth Param 1000 Delay 0.02 } OnSpawnOutput { Target drone Action SetBuilder Param !activator Delay 0.04 } obj_sentrygun { "targetname" "drone" "spawnflags" "74" "teamnum" "2" "origin" "30 30 90" "$ammomult" "999" "SolidToPlayer" "0" "$setcollisionfilter" "filter_nothing" } filter_activator_class { "targetname" "filter_nothing" "filterclass" "bigboobs" } } //KOTH MECHANICS HERE objectiveblocker { //the fuck zone of the house func_forcefield { "targetname" "obj1" "origin" "2179 370 -179" "teamnum" "2" "mins" "-30 -15 -999" "maxs" "30 15 999" } func_forcefield { "targetname" "obj1" "origin" "1961 -175 -259" "teamnum" "2" "mins" "-30 -15 -999" "maxs" "30 15 999" } //the big zig func_forcefield { "targetname" "obj1" "origin" "2589 -392 -22" "teamnum" "2" "mins" "-500 -50 -999" "maxs" "500 25 2000" } //cutting losses lol func_forcefield { "targetname" "obj1" "teamnum" "2" "origin" "3046 -603 80" "mins" "-30 -15 -999" "maxs" "30 15 999" } func_forcefield { "targetname" "obj2" "origin" "3804.32 -712.65 28.03" //rottenburg spawn "angles" "0 0 0" "rendermode" "10" //10 = don't render "TeamNum" "2" //2 for red, 3 for blu "mins" "-135 -135 -135" "maxs" "135 135 135" //300x300 hu cube } prop_dynamic { "targetname" "obj2" "model" "models/props_mvm/hatch_shield.mdl" "angles" "0 0 0" // "modelscale" "2.1" "rendercolor" "255 255 255" "renderamt" "255" "solid" "2" "origin" "3804.32 -712.65 28.03" } } hackermoment { OnSpawnOutput { Target nodehackhere Action show } training_annotation { "targetname" "nodehackhere" "display_text" "Get over here!" "lifetime" "4" } prop_dynamic { "model" "models/props_moonbase/moon_interior_monitor01.mdl" "origin" "30 25 47.5" "angles" "0 90 0" "modelscale" "0.65" } prop_dynamic { "model" "models/props_moonbase/radar_outpost01.mdl" "origin" "0 0 49" "modelscale" "0.3" } prop_dynamic { "model" "models/workshop/player/items/spy/taunt_spy_boxtrot/taunt_spy_boxtrot.mdl" "skin" "1" "origin" "0 0 0" "modelscale" "1.3" } } hacktime { RemoveIfKilled "hackstation" trigger_multiple { "targetname" "hackzone" "spawnflags" "1" "origin" "1341 -525 -319" "mins" "-400 -400 -400" "maxs" "400 400 250" "filtername" "bluteamonly" "OnStartTouchAll" "warningvo,PlaySound,,0,1" "OnStartTouchAll" "warningsfx,PlaySound,,2,1" "OnStartTouchAll" "@p@fakedummy,$Suicide,,2,1" "OnStartTouchAll" "getgoing,PlaySound,,4,1" "OnStartTouchAll" "hackdetection,trigger,,0,1" "OnStartTouchAll" "circlerad,skin,2,0.04,-1" "OnStartTouchAll" "music,trigger,,4.02,1" } prop_dynamic { "targetname" "circlerad" "model" "models\props_gameplay\cap_square_512.mdl" "skin" "1" "modelscale" "1.3" "origin" "1341 -525 -309" } filter_activator_tfteam { "targetname" "bluteamonly" "TeamNum" "3" "Negated" "0" } //THE SOUNDS OF VIOLENCE ambient_generic { "targetname" "warningvo" "message" "vo\announcer_security_alert.mp3" "health" "10" "pitch" "100" "spawnflags" "17" } ambient_generic { "targetname" "warningsfx" "message" "mvm\mvm_tele_activate.wav" "health" "10" "pitch" "100" "spawnflags" "17" } ambient_generic { "targetname" "getgoing" "message" "vo\compmode\cm_admin_round_start_11.mp3" "health" "10" "pitch" "100" "spawnflags" "17" } //THE TEXT OF VIOLENCE logic_relay { "targetname" "hackdetection" "OnTrigger" "player,SetScriptOverlayMaterial,securityalert,0,-1" "OnTrigger" "player,SetScriptOverlayMaterial,,4,-1" } } hacktimeFINALE { RemoveIfKilled "hackstation*" trigger_multiple { "targetname" "hackzone" "spawnflags" "1" // "origin" "3466 -642 8" "origin" "0 0 0" "mins" "-400 -400 -400" "maxs" "400 400 250" "filtername" "bluteamonly" "OnStartTouchAll" "@p@fakedummy2,$Suicide,,3,1" "OnStartTouchAll" "uhoh,PlaySound,,0,1" "OnStartTouchAll" "hackdetection2,trigger,,0,1" "OnStartTouchAll" "warningsfx2,PlaySound,,3,1" "OnStartTouchAll" "submusic,trigger,,3,1" } ambient_generic { "targetname" "uhoh" "message" "vo\mvm_mann_up_mode03.mp3" "health" "10" "pitch" "100" "spawnflags" "17" } ambient_generic { "targetname" "warningsfx2" "message" "mvm\mvm_tele_activate.wav" "health" "10" "pitch" "100" "spawnflags" "17" } prop_dynamic { "targetname" "circlerad2" "model" "models\props_gameplay\cap_square_512.mdl" "skin" "1" "modelscale" "1.3" "angles" "0 30 0" // "origin" "3466 -642 8" "origin" "0 0 0" } filter_activator_tfteam { "targetname" "bluteamonly" "TeamNum" "3" "Negated" "0" } //THE TEXT OF VIOLENCE logic_relay { "targetname" "hackdetection2" "OnTrigger" "player,$DisplayTextChat,{yellow}//FINAL FORCEFIELD NODE IS BEING HIJACKED!,0,-1" "OnTrigger" "player,$DisplayTextChat,{FF0000}//INITIATING FINAL GAMBIT PROTOCOL!,2.02,-1" "OnTrigger" "player,$DisplayTextChat,{FF0000}//INCREASING GIANT PRODUCTION BY @&7(?:!63 PERCENT?!,5.02,-1" "OnTrigger" "player,$DisplayTextChat,{FF0000}//WARNING! OVERPRODUCTION OF GIANTS CAUSING STRUCTURE MALFUNCTION!,8.02,-1" } } fake { OnSpawnOutput { Target fakedummy Action SetParent Param !activator Delay 0.02 } info_target { "targetname" "fakedummy" "origin" "0 0 0" } } fake2 { OnSpawnOutput { Target fakedummy2 Action SetParent Param !activator Delay 0.02 } info_target { "targetname" "fakedummy2" "origin" "0 0 0" } } //HIDING ICONS FOR EFFECTS :V vscript { OnSpawnOutput { Target gamerules Action runscriptcode Param "SpawnEntityFromTable(`logic_script`,{vscripts=`hideicons_library`,targetname=`vscripts`})" } } tankkiller { logic_relay { "targetname" "hackstationend" "OnTrigger" "hackstation*,removehealth,99999,0,-1" "OnTrigger" "circlerad,kill,0,-1" } } //TIMER GOT FUCKED UP texttimerv2 { KeepAlive 1 RemoveIfKilled "timerdisplay" logic_compare { "targetname" "addtime" } game_text { "targetname" "timerdisplay" "holdtime" "0.33" "spawnflags" "1" "x" "0.7" "y" "0.8" } game_round_win { "teamnum" "2" "targetname" "bots_win_red" "force_map_reset" "1" } logic_relay { "ontrigger" "hackstation*,KillHierarchy,0,-1" "ontrigger" "obj1,Disable,,0,-1" "OnTrigger" "player,$DisplayTextChat,{yellow}///FORCE-FIELDS DISABLED... ONE FORCEFIELD LEFT ONLINE,0,-1" "OnTrigger" "timerdone,trigger,,0,-1" "targetname" "timerfinish1" "onspawn" "wave_finish*,addoutput,ontrigger timerdisplay:kill::0:-1,0,-1" } logic_relay { "targetname" "hatchdepleted" "ontrigger" "obj2,disable,,0,-1" } OnSpawnOutput { Target timerdisplay Action runscriptfile Param "textualtimer" } } } SpawnTemplate mapchange SpawnTemplate spawnbarriers SpawnTemplate upgradestation SpawnTemplate LoseRelay SpawnTemplate vscript Wave //WAVE 1 HERE { SpawnTemplate textualtimer SpawnTemplate hologramactivator SpawnTemplate Wave1musicdealer SpawnTemplate barrierwave1 StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action trigger } Explanation //(update: irrelevant unless not) { line "{99CCFF}BLU reanimators are available!" } WaveSpawn { //Dummy to activate nessecaryasidhasda logic relays and stuff TotalCount 1 MaxActive 1 SpawnCount 1 where spawnbot Support Limited StartWaveOutput { Target hologramactivate Action Trigger } RandomChoice { Squad { TFBot { Class Scout FireInput { Delay 0.02 Target music1 Action Trigger } FireInput { Delay 0.04 Target realtimer Action Trigger } FireInput { Delay 0.2 Target !activator Action $suicide } } } } } WaveSpawn { //The Infinity troopers WaitForAllDead a2 TotalCount 999 MaxActive 8 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 0.7 Where infispawn TFBot { Template T_TFBot_Scout_Fast Action Mobber Skill Expert AddCond { Index 43 } } } WaveSpawn //first objective normals { Name a1 TotalCurrency 100 TotalCount 30 MaxActive 6 SpawnCount 2 WaitBeforeStarting 1 WaitBetweenSpawns 1.3 Where spawnpoint1A Where spawnpoint1B TFBot { Template T_TFBot_Heavyweapons_Heavyweight_Champ_Fast Health 300 ClassIcon heavy_urgent_giant Action Mobber Attributes DisableDodge Skill Hard AddCond { Index 30 Delay 0.2 } AddCond { Index 43 } } } WaveSpawn //first objective normals { Name a1 TotalCurrency 100 TotalCount 4 MaxActive 1 SpawnCount 1 WaitBeforeStarting 12 WaitBetweenSpawns 1 Where spawnpoint1A Where spawnpoint1B TFBot { Template T_TFBot_Giant_Sniper_Huntsman ClassIcon sniper_bow_multi Attributes MiniBoss Action Mobber Item "Batter's Helmet" Skill Hard ItemAttributes { ItemName "The Huntsman" "arrow mastery" 1 } CharacterAttributes { "move speed bonus" 0.6 "damage force reduction" 0.7 "airblast vulnerability multiplier" 0.7 "override footstep sound set" 5 } AddCond { Index 43 } } } WaveSpawn { Name a1trigger TotalCurrency 100 TotalCount 2 MaxActive 2 SpawnCount 1 WaitBeforeStarting 20 WaitBetweenSpawns 30 Where spawnpoint1A Where spawnpoint1B TFBot { Template T_TFBot_Giant_Soldier_Crit Action Mobber Item "dec2014 Skullcap" CharacterAttributes { "attachment scale" 1.5 } AddCond { Index 43 } } } WaveSpawn { Name a1gate WaitForAllDead a1trigger TotalCurrency 10sss0 TotalCount 1 MaxActive 1 SpawnCount 1 Where spawnpoint1B DoneMessage "Force-Field Bot defeated. Onwards!" DoneOutput { Target "objective1_complete" Action Trigger } Squad { TFBot { SpawnTemplate nodeappears Template T_TFBot_Giant_Soldier_Spammer_Buff ClassIcon soldier_spammer AlwaysGlow 1 Name "Force-field Node Keeper" Tag bot_giant Health 6500 Action Mobber Attributes UseBossHealthBar Item "MvM GateBot Light Soldier" ItemAttributes { ItemName "TF_WEAPON_ROCKETLAUNCHER" "clip size upgrade atomic" 999 "reload time decreased" 0.01 } AddCond { Index 43 } } //Update: there were suppose to be medics lol but thats dum (update now has medics) } } //Second Objective WaveSpawn { WaitForAllDead a1gate TotalCurrency 200 TotalCount 18 MaxActive 6 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 0.8 Where infispawn TFBot { Class Heavyweapons ClassIcon heavy_shotgun_red WeaponRestrictions SecondaryOnly Action Mobber AddCond { Index 43 } } } WaveSpawn { WaitForAllDead a1gate TotalCurrency 200 TotalCount 32 MaxActive 8 SpawnCount 1 WaitBeforeStarting 4 WaitBetweenSpawns 0.9 Where spawnpoint2A Where spawnpoint2B TFBot { Template T_TFBot_Demoman_Knight Action Mobber Attributes DisableDodge Skill Expert AddCond { Index 43 } } } WaveSpawn { Name a2 WaitForAllDead a1gate TotalCurrency 100 TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 34 WaitBetweenSpawns 0.8 Where spawnpoint2A TFBot { Template T_TFBot_Giant_Heavyweapons_Deflector Skill Normal AlwaysGlow 1 Action Mobber AddCond { Index 43 } } } WaveSpawn { Name a2 WaitForAllDead a1gate TotalCurrency 150 TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 13 WaitBetweenSpawns 0.8 Where spawnpoint2A TFBot { Template T_TFBot_Giant_Scout_Baseball_Armored Action Mobber AddCond { Index 43 } } } WaveSpawn { Name a2gate WaitForAllDead a2 TotalCurrency 200 TotalCount 1 MaxActive 1 SpawnCount 1 Where infispawn StartWaveWarningSound "vo\mvm\norm\engineer_mvm_dominationscout06.mp3" DoneMessage "Final Force-Filed Node Destroyed! Deploy the BOMB!!!" DoneOutput { Target objective2_complete Action Trigger } TFBot { SpawnTemplate nodeappears Class Engineer AlwaysGlow 1 Name "Maintenance Engineer" ClassIcon engineer_ranger_red_nys Action Mobber WeaponRestrictions PrimaryOnly Item "The Rescue Ranger" Scale 1.5 Health 5500 Item "MvM GateBot Light Engineer" Item "Lawnmaker" Attributes AlwaysCrit Attributes MiniBoss Attributes HoldFireUntilFullReload Attributes UseBossHealthBar DesiredAttackRange 90 InterruptAction { Target "3647.03 -505.65 81.03" // Name "a" Delay 1 Repeats 999 Cooldown 1 Duration 60 Distance 50 } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.4 "airblast vulnerability multiplier" 0.4 "override footstep sound set" 3 } AddCond { Index 43 } } } } //WAVE 2 :) //Update 1.1 GOING FOR A FUCKING OVERHAUL OF MVM PAYLOAD //Update 1.2 ANOTHER REWORK DAAAAAAAAAAAEM //sex //Things to note: where guardpoint //AddTemplate playertargetFIX Wave { SpawnTemplate Wave2musicdealer SpawnTemplate wave2spawnchanger SpawnTemplate disablethespawns StartWaveOutput { Target wave_start_relay Action trigger } DoneOutput { Target wave_finished_relay Action trigger } // Explanation //(update: boobs) // { // line "{ffcccb}This wave brings in a special payload! gather close to the payload to keep it moving to the hatch!" // Line "{DC143C}WARNING: If the payload is destroyed, we lose!" // line "{DC143C}WARNING: The Engineer bot has set up some sneaky infinite spawnpoint so keep your guards up!" // Line "The Medic is actually a Health Node! Killing it regains health for the Payload!" // } //Dummy Scout destined to die for the sake of entertainment WaveSpawn { //Dummy to activate nessecaryasidhasda logic relays and stuff TotalCount 1 MaxActive 1 SpawnCount 1 where spawnbot Support Limited StartWaveOutput { Target hologramactivate Action Trigger } RandomChoice { Squad { TFBot { Class Scout FireInput { Delay 0.02 Target music Action Trigger } FireInput { Delay 0 Target intel Action Disable } FireInput { Delay 0.1 Target otherspawn1 Action Disable } FireInput { Delay 0.2 Target !activator Action $suicide } } } } } //the tank WaveSpawn { //PAYLOAD TANK WOOOOOOOOOOOOOOOOO TotalCount 1 SpawnCount 1 MaxActive 1 Tank { Speed 1 ClassIcon payload_blu Scale 0.6 Health 30000 NoScreenShake 1 Name "payloadtank" Model "models/empty.mdl" SpawnTemplate payloadtank SpawnTemplate payloadstuck NoCrushDamage 1 DisableSmokestack 1 DisableTracks 1 DisableChildModels 1 EngineLoopSound "no" PingSound "weapons\sentry_scan.wav" StartingPathTrackNode tank_path_a28 OnKilledOutput { Target redwin_relay Action Trigger } OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn { TotalCount 120 MaxActive 8 SpawnCount 1 WaitBetweenSpawns 1.2 WaitBeforeStarting 9 Where spawnpoint2A StartWaveMessage "{yellow}//THEIR SECURITY HAS BEEN ADVISED. GOOD LUCK" TFBot { Class Scout Name "Primary Scout" WeaponRestrictions PrimaryOnly Attributes HoldFireUntilFullReload Skill Normal AddTemplate security Item "Flak Jack" ItemAttributes { ItemName "TF_WEAPON_SCATTERGUN" "fire rate penalty" 0.60 } } } WaveSpawn { TotalCount 120 MaxActive 5 SpawnCount 1 WaitBetweenSpawns 2.2 WaitBeforeStarting 4 Where spawnpoint2A Where spawnpoint1B TFBot { Class HeavyWeapons Name "Shotgun Heavy" ClassIcon heavy_shotgun_red WeaponRestrictions SecondaryOnly Attributes HoldFireUntilFullReload Skill Normal AddTemplate security } } WaveSpawn { TotalCount 120 MaxActive 4 SpawnCount 1 WaitBetweenSpawns 4.5 WaitBeforeStarting 8 Where spawnpoint2A Where spawnpoint1B TFBot { Class Demoman Name "Demoman" WeaponRestrictions PrimaryOnly Attributes HoldFireUntilFullReload Skill Easy AddTemplate security AddTemplate tankkillertemplate Item "The Juggernaut Jacket" } } WaveSpawn { TotalCount 120 MaxActive 2 SpawnCount 1 WaitBetweenSpawns 9.5 WaitBeforeStarting 16 Where spawnpoint2A TFBot { Class Scout Scale 1.75 Health 750 WeaponRestrictions MeleeOnly Attributes DisableDodge Name "Armored Bat Scout" ClassIcon scout_bat_nys_armored AddTemplate security Item "Flak Jack" } } WaveSpawn { TotalCount 2 MaxActive 2 SpawnCount 2 WaitBeforeStarting 12 Where spawnpoint2A Squad { NoFormation 1 NoWaitForFormation 1 TFBot { Template T_TFBot_Giant_Pyro Item "The Backburner" MaxVisionRange 600 AddTemplate security AddTemplate tankkillertemplate Item "Lo-fi Longwave" Attributes DisableDodge } TFBot { Template T_TFBot_Giant_Pyro Item "The Backburner" MaxVisionRange 600 AddTemplate security AddTemplate playertargetFIX Item "Lo-fi Longwave" Item "The Hurt Locher" Attributes DisableDodge } } } WaveSpawn { Name 1 TotalCount 1 TotalCurrency 400 Where guardpoint DoneOutput { Target disablesecurity Action trigger } TFBot { Template T_TFBot_Giant_Soldier_Spammer_Reload Health 6500 ClassIcon soldier_burstfire_redbarrier_spin_giant SpawnTemplate payloadjammer AddTemplate RShieldLvL1_Red AddTemplate security AddTemplate tankkillertemplate } } //Dummy Scout destined to die for the sake of entertainment WaveSpawn { //Dummy to activate nessecaryasidhasda logic relays and stuff WaitForAllDead 1 TotalCount 1 MaxActive 1 SpawnCount 1 where spawnbot Support Limited RandomChoice { Squad { TFBot { Class Scout FireInput { Delay 0.02 Target gamerules Action runscriptcode Param "EntFire(`vscripts`,`runscriptcode`,`HideIcons(\`2|3|4|5\`)`,0.04,-1)" } FireInput { Delay 0.2 Target !activator Action $suicide } } } } } WaveSpawn { WaitForAllDead 1 TotalCount 120 MaxActive 5 SpawnCount 1 WaitBetweenSpawns 3.7 Where infispawn WaitBeforeStarting 4 TFBot { Class Engineer Health 150 WeaponRestrictions PrimaryOnly AddTemplate security ClassIcon engineer_widowmaker_nys Item "The Widowmaker" } } WaveSpawn { WaitForAllDead 1 TotalCount 120 MaxActive 4 SpawnCount 4 WaitBetweenSpawns 5.5 Where infispawn WaitBeforeStarting 4 TFBot { Class Pyro WeaponRestrictions PrimaryOnly MaxVisionRange 350 AddTemplate security Item "Lo-fi Longwave" Item "Flak Jack" Attributes DisableDodge } } WaveSpawn { WaitForAllDead 1 TotalCount 24 MaxActive 6 SpawnCount 6 WaitBetweenSpawns 13.5 WaitBeforeStarting 7 Where infispawn WaitBeforeStarting 4 TFBot { Class Heavyweapons MaxVisionRange 1000 WeaponRestrictions PrimaryOnly AddTemplate security } } WaveSpawn { WaitForAllDead 1 TotalCount 24 MaxActive 6 SpawnCount 2 WaitBetweenSpawns 6.5 Where otherspawn1b WaitBeforeStarting 4 TFBot { Template T_TFBot_Scout_Popper WeaponRestrictions PrimaryOnly AddTemplate security AddTemplate tankkillertemplate Item "Flak Jacket" } } WaveSpawn { WaitForAllDead 1 TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 35 Where otherspawn1b TFBot { Template T_TFBot_Giant_Pyro_DF AddTemplate security AddTemplate tankkillertemplate Item "Fire Fighter" Item "The Hurt Locher" } } WaveSpawn { TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 3 Where otherspawn1 TFBot { Template T_TFBot_Giant_Heavyweapons_BrassBeast ClassIcon heavy_brass_nys SpawnTemplate payloadjammer AddTemplate RShieldLvL1_Red AddTemplate security } } } // Wave 3 omg //Update notes: somehow the timer fucked up so i made an dumbass alternative lmao Wave { SpawnTemplate Wave3musicdealer SpawnTemplate hacktime SpawnTemplate objectiveblocker Explanation { Line "{red}Maintenance Engineer has set up forcefield again but no nodes to destroy." Line "{yellow}We have prepared for you TWO hacking stations to hijack the func_forcefields!" Line "{99CCFF}So DEFEND THE STATIONS then BRING THE BOMB TO THE HATCH!" } StartWaveOutput { Target wave_start_relay Action Trigger } InItWaveOutput { Target gamerules Action runscriptcode Param "EntFire(`vscripts`,`runscriptcode`,`HideIcons(\`2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17|18|19|20|21|22|23\`)`,0.04,-1)" } DoneOutput { Target wave_finished_relay Action trigger } WaveSpawn //0 { TotalCount 1 Name hack1 Tank { Speed 0 Scale 0.34 Health 10000 NoScreenShake 1 Name "hackstation" SpawnTemplate hackermoment ClassIcon blueside_indicator NoCrushDamage 1 DisableSmokestack 1 DisableTracks 1 Model "models/empty.mdl" DisableChildModels 1 EngineLoopSound "ambient\command_center_blue.wav" PingSound "ui\cyoa_ping_available.wav" StartingPathTrackNode faketank_1 OnKilledOutput { Target redwin_relay Action Trigger } } } WaveSpawn { TotalCount 1 MaxActive 1 SpawnCount 1 Where spawnbot RandomChoice { Squad { TFBot { Class Scout FireInput { Target !activator Action $suicide Delay 1 } } } } } WaveSpawn //1 { Name fake TotalCount 1 MaxActive 1 SpawnCount 1 Support Limited Where spawnbot //REAPPEAR THE ICONS DoneOutput { Target gamerules Action runscriptcode Param "EntFire(`vscripts`,`runscriptcode`,`ShowIcons(\`2|3|4|5|6|7|8|9|10|11|12|13\`)`,-1)" } RandomChoice { Squad { TFBot { Class Scout SpawnTemplate fake Name "ignore me :)" Action Mobber CharacterAttributes { "move speed bonus" 0.001 } } } } } WaveSpawn //1 again { WaitForAllDead fake TotalCount 1 MaxActive 1 SpawnCount 1 Support Limited Where spawnbot RandomChoice { Squad { TFBot { Class Scout SpawnTemplate texttimerv2 Name "ignore me :)" Action Mobber CharacterAttributes { "move speed bonus" 0.001 } FireInput { Target "!activator" Action $suicide Delay 0.5 } } } } } WaveSpawn //what? { WaitForAllDead fake TotalCount 1 WaitBeforeStarting 80 TotalCurrency 150 Tank { Health 6000 Speed 60 TeamNum 2 Name "tankbossred" SpawnTemplate tankkiller Classicon tank_red StartingPathTrackNode "wave3tank_1" Model "models/bots/boss_bot/boss_tankred_pure.mdl" OnKilledOutput { Target boss_dead_relay Action Trigger } OnBombDroppedOutput { Target hackstationend Action Trigger } } } //TIMER TEXT HERE WaveSpawn //2 { WaitForAllDead fake TotalCurrency 100 // TotalCount 26 TotalCount 30 MaxActive 6 SpawnCount 1 Where infispawn Where spawnpoint2A WaitBeforeStarting 0 WaitBetweenSpawns 0.8 FirstSpawnOutput { Target gamerules Action runscriptcode //////////////////////////////////////////////////////////////////////////////// // ::clock <- `minutes|seconds|color|logic_relay triggered on depleted timer` Param "::clock <- `3|00|0 255 255|timerfinish1`" //////////////////////////////////////////////////////////////////////////////// } TFBot { Class Pyro Name "Shotgun Pyro" ClassIcon heavy_shotgun_red Skill Hard WeaponRestrictions SecondaryOnly Attributes HoldFireUntilFullReload AddTemplate security } } WaveSpawn { WaitForAllDead fake TotalCount 999 MaxActive 6 SpawnCount 2 WaitBetweenSpawns 5.2 Where infispawn Where spawnpoint2A TFBot { Class Heavyweapons ClassIcon sniper_smg AddTemplate security Skill Normal WeaponRestrictions SecondaryOnly Item "TF_WEAPON_SMG" Item "Blast Blocker" ItemAttributes { ItemName "TF_WEAPON_SMG" "custom item model" "models\weapons\c_models\c_tfc_sniperrifle\c_tfc_sniperrifle.mdl" } } } WaveSpawn { WaitForAllDead fake TotalCount 999 MaxActive 4 SpawnCount 4 WaitBetweenSpawns 6.2 Where infispawn Where spawnpoint2A TFBot { Template T_TFBot_Demoman_Knight AddTemplate security Item "The Eliminators Safeguard" Item "Stunt Suit" } } //SUB WAVE 2! //Second hand wave WaveSpawn { WaitForAllDead hack1 WaitBeforeStarting 5 Tank { Speed 0 Scale 0.34 Health 10000 NoScreenShake 1 Name "hackstation2" SpawnTemplate hackermoment SpawnTemplate hacktimeFINALE ClassIcon blueside_indicator NoCrushDamage 1 DisableSmokestack 1 DisableTracks 1 Model "models/empty.mdl" DisableChildModels 1 EngineLoopSound "ambient\command_center_blue.wav" PingSound "ui\cyoa_ping_available.wav" StartingPathTrackNode faketankfinale_1 OnKilledOutput { Target redwin_relay Action Trigger } } } WaveSpawn //the trigger-works //wait for all dead fake2 { Name fake2 TotalCount 1 MaxActive 1 SpawnCount 1 Support Limited WaitForAllDead hack1 Where spawnbot //REAPPEAR THE ICONS DoneOutput { Target gamerules Action runscriptcode Param "EntFire(`vscripts`,`runscriptcode`,`ShowIcons(\`2|3|4|5|6|7|8|9|10|11|12|13|14\`)`,-1)" // Param "EntFire(`vscripts`,`runscriptcode`,`ShowIcons(\`14|15|16|17|18|19|20|21|22|23\`)`,-1)" } RandomChoice { Squad { TFBot { Class Scout SpawnTemplate fake2 Name "ignore me :)" Action Mobber CharacterAttributes { "move speed bonus" 0.001 } } } } } WaveSpawn { WaitForAllDead fake2 TotalCount 1 Support Limited Where spawnbot RandomChoice { Squad { TFBot { Class Scout SpawnTemplate textualtimerWAVE3 FireInput { Delay 0.5 Target realtimer2 Action trigger } FireInput { Delay 1.2 Target !activator Action $suicide } } } } } //Subwave 2 } }