//Cliffside Resolution (Reverse mode) by A+drew //Expert Difficulty #base robot_giant.pop #base robot_standard.pop #base robot_standard_red.pop #base robot_giant_red.pop #base robot_andrew.pop WaveSchedule { StartingCurrency 800 CanBotsAttackWhileInSpawnRoom YES RespawnWaveTimeBlue 1 FixedRespawnWaveTimeBlue 1 AddSentryBusterWhenDamageDealtExceeds 0 RobotLimit 26 ForceHoliday 2 NoHolidayPickups 1 MaxTotalPlayers 6 DisplayRobotDeathNotice 0 NoReanimators 1 NoMvMDeathTune 1 TextPrintTime 0 SniperAllowHeadshots 1 SentryBusterFriendlyFire 0 StandableHeads 1 //For reverse only ReverseWinConditions 1 BluHumanFlagCapture 0 BluHumanFlagPickup 1 BluHumanInfiniteAmmo 1 FlagCarrierMovementPenalty 0.5 AllowJoinTeamBlueMax 6 AllowJoinTeamBlue 1 HumansMustJoinTeam blue BluPlayersAreRobots 1 PrecacheModel "models/props_tumb/mvm/tank_shield.mdl" PrecacheModel "models/bots/sniper_boss/bot_sniper_boss.mdl" PrecacheModel "models/bots/demo/red_sentry_buster.mdl" PrecacheModel "models/props_mvm/mvm_upgrade_blu.mdl" PrecacheModel "models/props_mvm/robot_spawnpoint.mdl" PrecacheModel "models/props_mvm/no_entry.mdl" PrecacheModel "models/bots/boss_bot/boss_tankred.mdl" PrecacheModel "models/bots/boss_bot/boss_tankred_damage1.mdl" PrecacheModel "models/bots/boss_bot/boss_tankred_damage2.mdl" PrecacheModel "models/bots/boss_bot/boss_tankred_damage3.mdl" PrecacheModel "models/bots/boss_bot/boss_tankred_part1_destruction.mdl" PrecacheModel "models\bots\boss_bot\boss_blimpred.mdl" //This is the older blimp model using it because why not. PrecacheModel "models\bots\boss_bot\boss_blimpred_damage1.mdl" PrecacheModel "models\bots\boss_bot\boss_blimpred_damage2.mdl" PrecacheModel "models\bots\boss_bot\boss_blimpred_damage3.mdl" PrecacheModel "models/bots/boss_bot/boss_blimp.mdl" PrecacheModel "models/bots/boss_bot/boss_blimp_damage1.mdl" PrecacheModel "models/bots/boss_bot/boss_blimp_damage2.mdl" PrecacheModel "models/bots/boss_bot/boss_blimp_damage3.mdl" PrecacheModel "models/bots/boss_bot/boss_blimp_damage_explode.mdl" PrecacheModel "models/bots/boss_bot/boss_blimp_explode.mdl" OverrideSounds { "MVM.GiantCommonExplodes" "ambient/explosions/explode_3.wav" "MVM.BombWarning" "combine_bank_alarm.mp3" } DisableSound "Announcer.MVM_Spy_Alert" DisableSound "Announcer.mvm_spybot_death" DisableSound "Announcer.mvm_spybot_death_all" DisableSound "Announcer.MVM_First_Wave_Start" DisableSound "Announcer.MVM_Wave_Start" DisableSound "Announcer.MVM_Wave_End" DisableSound "Announcer.MVM_Wave_Lose" DisableSound "Announcer.MVM_Final_Wave_Start" DisableSound "Announcer.MVM_Final_Wave_End" DisableSound "Announcer.MVM_Robots_Planted" DisableSound "Announcer.MVM_All_Dead" DisableSound "Announcer.MVM_Bomb_Alert_Entered" DisableSound "Announcer.MVM_Bomb_Alert_Near_Hatch" DisableSound "Announcer.MVM_Bomb_Alert_Deploying" DisableSound "Announcer.MVM_Sentry_Buster_Alert" DisableSound "Announcer.MVM_Sentry_Buster_Alert_Another" DisableSound "Announcer.MVM_General_Wave_Start" DisableSound "Announcer.MVM_Game_Over_Loss" DisableSound "Announcer.MVM_Tank_Planted" DisableSound "Announcer.MVM_Tank_Alert_Spawn" DisableSound "Announcer.MVM_Tank_Alert_Another" DisableSound "Announcer.MVM_Tank_Alert_Multiple" DisableSound "Announcer.MVM_Tank_Alert_Halfway" DisableSound "Announcer.MVM_Tank_Alert_Halfway_Multiple" DisableSound "Announcer.MVM_Tank_Alert_Near_Hatch" DisableSound "Announcer.MVM_Tank_Alert_Deploying" ExtraTankPath { Name "tankpath_red_short" Node "2198 5033 794" Node "2101 5469 786" Node "1034 5463 641" Node "1009 6726 655" Node "1498 6846 628" Node "1960 7561 541" } ExtraTankPath { Name "tankpath_red_long" Node "1343 1521 657" Node "612 1527 641" Node "642 2564 640" Node "141 3433 729" Node "181 4326 706" Node "447 4581 697" Node "1181 4557 640" Node "1183 5450 641" Node "896 5900 642" Node "1033 7533 541" Node "1960 7534 541" } ExtraTankPath { Name "blimp_red_left" Node "463 -563 1600" Node "601 1590 1600" Node "1120 1658 1600" Node "1032 2484 1600" Node "1622 3872 1600" Node "2131 3905 1600" Node "2148 5446 1600" Node "1150 5526 1600" Node "1243 9263 1600" } ExtraTankPath { Name "blimp_red_right" Node "-104 -563 1600" Node "2 1869 1600" Node "137 4514 1600" Node "1240 4568 1600" Node "1218 7552 1600" Node "1243 9263 1600" } PointTemplates { corelogic //all the things we want to automatically run when the popfile loads. Use this the most to avoid spaghetti { NoFixup 1 logic_auto { "origin" "0 0 0" "targetname" "mainrelay" //delete as much unnecessary/unwanted stuff as you can from your map of choice. //you probably won't risk crashes on simpler mvm maps, but the further away from the edict limit you can be the better "OnMapSpawn" "item_ammopack*,Kill,,0,-1" //might want to comment this out if players have limited ammo "OnMapSpawn" "botspawn1,Kill,,0,-1" //these will allow players on the blue team to shoot from spawn "OnMapSpawn" "botspawn2,Kill,,0,-1" "OnMapSpawn" "Barricade*,Kill,,0,-1" //rottenburg specific, deletes front tank barricade //if there is no targetname for wasteful ents, you can also delete them by classname //deleting these decoration ropes frees up nearly 100 edicts on mvm_yiresa "OnMapSpawn" "move_rope,Kill,,0,-1" "OnMapSpawn" "keyframe_rope,Kill,,0,-1" //"OnMapSpawn" "filter_redteam,Kill,,0,-1" //red team filters might cause problems, deleting them might cause more problems //"OnMapSpawn" "trigger_push,Disable,,0,-1" //some maps use trigger_pushes intended to un-stick bots //Gatebot related: //"OnMapSpawn" "bot_stun_*,Kill,,0,-1" //some gates may stun players //"OnMapSpawn" "filter_blue_bombhat,Kill,,0,-1" //gatebot maps will need their capture filter deleted for players to cap //"OnMapSpawn" "gate1_alarm*,Kill,,0,-1" //gets spammed by both red and blu team //AddOutput can be used to connect our own home-brewed point templates to existing map logic like so: "OnMapSpawn" "wave_start_relay*,AddOutput,OnTrigger spawnbarrier*:Disable:0:-1" "OnMapSpawn" "wave_finished_relay,AddOutput,OnTrigger spawnbarrier*:Enable:0:-1" "OnMapSpawn" "wave_finished_relay,AddOutput,OnTrigger area1barriers:Enable:0:-1" "OnMapSpawn" "wave_finished_relay,AddOutput,OnTrigger area2barriers:Enable:0:-1" //What we're doing: //"wave_start_relay*,AddOutput, //wave_start_relay_classic/endurance is the targetname for a logic_relay that is triggered on wave start, logic_relays (along with most other ents) accept AddOutput as an input. // * will trigger our relay alongside any others with wave_start_relay in the name, this only works for suffixes (*_start_relay* will not work) //OnTrigger spawnbarrier*:Disable:0:-1" //When wave_start_relay_classic/endurance triggers, it will trigger Disable on 'spawnbarrierA' and 'spawnbarrierA1' with a 0 second delay, -1 means this relay can be triggered an infinite amount of times. //We can also use AddOutput to change an ent rather than just latch onto it: "OnMapSpawn" "hint,AddOutput,display_text test,10,-1" //change annotation text to test 10s after map spawn "OnMapSpawn" "wave_start_relay_classic,AddOutput,OnTrigger hint:Show:0:-1" "OnMapSpawn" "tankpath1_1,AddOutput,OnPass red_tank_relay:Trigger:0:-1" } NoFixup 1 logic_relay //disables the first set of barriers { "targetname" "area1barriersdisable" "OnTrigger" "area1barriers,Disable,,0,-1" } NoFixup 1 logic_relay //disables the second set of barriers { "targetname" "area2barriersdisable" "OnTrigger" "area2barriers,Disable,,0,-1" } NoFixup 1 logic_relay //trigger this to kill all players and buildings { "targetname" "kill_relay" "OnTrigger" "obj_dispenser,RemoveHealth,5000,0,-1" "OnTrigger" "obj_sentrygun,RemoveHealth,5000,0,-1" "OnTrigger" "obj_teleporter,RemoveHealth,5000,0,-1" "OnTrigger" "player,SetHealth,-10000,0,-1" } NoFixup 1 logic_relay //trigger this to lose { "origin" "0 0 0" "targetname" "redwin_relay" "OnTrigger" "bots_win_red,RoundWin,,0,-1" "OnTrigger" "pit_explosion_wav,PlaySound,,0,-1" //map dependent } NoFixup 1 logic_relay { "targetname" "red_tank_relay" "OnTrigger" "tank_boss,Setteam,2,0.25,-1" "OnTrigger" "tank_boss,AddCaptureDestroyPostfix,destroy_mvm_cactus_valley3,0,-1" //cool explodey effect, doesn't work :( } NoFixup 1 trigger_multiple { "targetname" "thirdperson" "StartDisabled" "1" "spawnflags" "3" "origin" "1542.488770 739.029175 -143.968689" "maxs" "50 50 50" "mins" "-50 -50 -50" "filtername" "filter_blue" "OnStartTouch" "!activator,setforcedtauntcam,1,0.1,-1" //!activator is any entity currently inside of trigger_multiple "OnStartTouch" "!activator,SetHUDVisibility,0,0.1,-1" "OnStartTouch" "!activator,DisableDamageForces,,0,-1" //doesn't work? "OnEndTouch" "!activator,setforcedtauntcam,0,0,-1" "OnEndTouch" "!activator,SetHUDVisibility,1,0,-1" "OnEndTouch" "!activator,EnableDamageForces,,0,-1" } func_nav_prerequisite //tells bots with a tag to defend this area, like telling gatebots to stay at the gate { "targetname" "towernav" "mins" "-1000 -1000 -1000" "maxs" "1000 1000 1000" "Entity" "towerspawn" "filtername" "filter_tower" "origin" "1542.488770 739.029175 -143.968689" "spawnflags" "1" "start_disabled" "0" "StartDisabled" "0" "Task" "2" "Value" "-1" } filter_tf_bot_has_tag //our tag { "Negated" "0" "require_all_tags" "1" "tags" "bot_tower" "targetname" "filter_tower" } func_nav_prerequisite //repeated for hatch { "targetname" "hatchnav" "mins" "-100 -100 -100" "maxs" "100 100 100" "Entity" "hatchspawn" "filtername" "filter_hatch" "origin" "1542.488770 739.029175 -143.968689" "spawnflags" "1" "start_disabled" "0" "StartDisabled" "0" "Task" "2" "Value" "-1" } filter_tf_bot_has_tag { "Negated" "0" "require_all_tags" "1" "tags" "bot_hatch" "targetname" "filter_hatch" } NoFixup 1 game_round_win //do not interact with this { "origin" "0 0 0" "TeamNum" "2" "targetname" "bots_win_red" "switch_teams" "0" "force_map_reset" "1" "classname" "game_round_win" } //manual respawnrooms func_respawnroom //right { "origin" "192 8064 800" "mins" "-128 -320 -128" "maxs" "128 320 128" "TeamNum" "3" } func_respawnroom //middle { "origin" "1248 8944 1872" "mins" "-480 -208 -1200" "maxs" "480 208 1200" "TeamNum" "3" } func_respawnroom //left { "origin" "2456 7552 608" "mins" "-168 -128 -128" "maxs" "168 128 128" "TeamNum" "3" } } barriers //modified to work specifically for cliffside { NoFixup 1 func_forcefield //flank_left { "targetname" "spawnbarrierA1" "mins" "-32 -128 -128" "maxs" "32 128 128" "origin" "1992 7552 608" "TeamNum" "2" "disablereceiveshadows" "0" "renderamt" "255" "rendercolor" "255 255 255" "renderfx" "0" "rendermode" "10" "StartDisabled" "0" } NoFixup 1 func_forcefield //middle { "targetname" "spawnbarrierA1" "mins" "-480 -64 -1192" "maxs" "480 64 1192" "origin" "1248 7744 1880" "TeamNum" "2" "disablereceiveshadows" "0" "renderamt" "255" "rendercolor" "255 255 255" "renderfx" "0" "rendermode" "10" "StartDisabled" "0" } NoFixup 1 func_forcefield //flank_right { "targetname" "spawnbarrierA1" "mins" "-40 -136 -128" "maxs" "40 136 128" "origin" "472 7520 800" "TeamNum" "2" "disablereceiveshadows" "0" "renderamt" "255" "rendercolor" "255 255 255" "renderfx" "0" "rendermode" "10" "StartDisabled" "0" } NoFixup 1 prop_dynamic //flank_left { "targetname" "spawnbarrierA" "origin" "2024 7552 608" "angles" "0 0 0" "modelscale" "1" "fademindist" "128" "fademaxdist" "512" "disablereceiveshadows" "1" "model" "models/props_mvm/no_entry.mdl" "disableshadows" "1" "solid" "0" "StartDisabled" "0" } NoFixup 1 prop_dynamic //middle { "targetname" "spawnbarrierA" "origin" "1472 7808 864" "angles" "0 90 0" "modelscale" "1.5" "fademindist" "256" "fademaxdist" "1024" "disablereceiveshadows" "1" "model" "models/props_mvm/no_entry.mdl" "disableshadows" "1" "solid" "0" "StartDisabled" "0" } NoFixup 1 prop_dynamic //middle2 { "targetname" "spawnbarrierA" "origin" "1024 7808 864" "angles" "0 90 0" "modelscale" "1.5" "fademindist" "256" "fademaxdist" "1024" "disablereceiveshadows" "1" "model" "models/props_mvm/no_entry.mdl" "disableshadows" "1" "solid" "0" "StartDisabled" "0" } NoFixup 1 prop_dynamic //flank_right { "targetname" "spawnbarrierA" "origin" "432 7520 800" "angles" "0 180 0" "modelscale" "1" "fademindist" "128" "fademaxdist" "512" "disablereceiveshadows" "1" "model" "models/props_mvm/no_entry.mdl" "disableshadows" "1" "solid" "0" "StartDisabled" "0" } } areabarriers { // 1/3 // //right side NoFixup 1 func_forcefield { "targetname" "area1barriers" "mins" "-96 -48 -112" "maxs" "96 48 112" "origin" "128 5648 848" "TeamNum" "2" "disablereceiveshadows" "0" "renderamt" "255" "rendercolor" "255 255 255" "renderfx" "0" "rendermode" "10" "StartDisabled" "0" } NoFixup 1 func_nobuild { "targetname" "area1barriers" "mins" "-96 -48 -112" "maxs" "96 48 112" "origin" "128 5648 848" "TeamNum" "3" } NoFixup 1 prop_dynamic { "targetname" "area1barriers" "origin" "132 5696 848" "angles" "0 90 0" "modelscale" "0.85" "fademindist" "128" "fademaxdist" "1024" "disablereceiveshadows" "1" "model" "models/props_mvm/no_entry.mdl" "disableshadows" "1" "solid" "0" "StartDisabled" "0" } NoFixup 1 func_forcefield //cliff { "targetname" "area1barriers" "mins" "-928 -8 -1792" "maxs" "928 8 1792" "origin" "-1376 5688 1280" "TeamNum" "2" "disablereceiveshadows" "0" "renderamt" "255" "rendercolor" "255 255 255" "renderfx" "0" "rendermode" "10" "StartDisabled" "0" } //middle NoFixup 1 func_forcefield { "targetname" "area1barriers" "mins" "-192 -96 -112" "maxs" "192 96 112" "origin" "1168 5152 688" "TeamNum" "2" "disablereceiveshadows" "0" "renderamt" "255" "rendercolor" "255 255 255" "renderfx" "0" "rendermode" "10" "StartDisabled" "0" } NoFixup 1 func_nobuild { "targetname" "area1barriers" "mins" "-192 -96 -112" "maxs" "192 96 112" "origin" "1168 5152 688" "TeamNum" "3" } NoFixup 1 prop_dynamic { "targetname" "area1barriers" "origin" "1168 5248 688" "angles" "0 90 0" "modelscale" "1" "fademindist" "128" "fademaxdist" "1024" "disablereceiveshadows" "1" "model" "models/props_mvm/no_entry.mdl" "disableshadows" "1" "solid" "0" "StartDisabled" "0" } //left side NoFixup 1 func_forcefield { "targetname" "area1barriers" "mins" "-176 -72 -1184" "maxs" "176 72 1184" "origin" "2160 4808 1888" "TeamNum" "2" "disablereceiveshadows" "0" "renderamt" "255" "rendercolor" "255 255 255" "renderfx" "0" "rendermode" "10" "StartDisabled" "0" } NoFixup 1 func_nobuild { "targetname" "area1barriers" "mins" "-176 -72 -1184" "maxs" "176 72 1184" "origin" "2160 4808 1888" "TeamNum" "3" } NoFixup 1 prop_dynamic { "targetname" "area1barriers" "origin" "2144 4880 832" "angles" "0 90 0" "modelscale" "1" "fademindist" "128" "fademaxdist" "1024" "disablereceiveshadows" "1" "model" "models/props_mvm/no_entry.mdl" "disableshadows" "1" "solid" "0" "StartDisabled" "0" } // 2/3 // NoFixup 1 func_forcefield { "targetname" "area2barriers" "mins" "-2112 -128 -1784" "maxs" "2112 128 1784" "origin" "-192 2432 1288" "TeamNum" "2" "disablereceiveshadows" "0" "renderamt" "255" "rendercolor" "255 255 255" "renderfx" "0" "rendermode" "10" "StartDisabled" "0" } NoFixup 1 func_nobuild { "targetname" "area2barriers" "mins" "-2112 -128 -1784" "maxs" "2112 128 1784" "origin" "-192 2432 1288" "TeamNum" "3" } NoFixup 1 prop_dynamic //right { "targetname" "area2barriers" "origin" "-352 2560 928" "angles" "0 90 0" "modelscale" "0.85" "fademindist" "128" "fademaxdist" "1024" "disablereceiveshadows" "1" "model" "models/props_mvm/no_entry.mdl" "disableshadows" "1" "solid" "0" "StartDisabled" "0" } NoFixup 1 prop_dynamic //middle { "targetname" "area2barriers" "origin" "192 2560 944" "angles" "0 90 0" "modelscale" "1" "fademindist" "128" "fademaxdist" "1024" "disablereceiveshadows" "1" "model" "models/props_mvm/no_entry.mdl" "disableshadows" "1" "solid" "0" "StartDisabled" "0" } NoFixup 1 prop_dynamic //middle2 { "targetname" "area2barriers" "origin" "640 2560 720" "angles" "0 90 0" "modelscale" "1.25" "fademindist" "128" "fademaxdist" "1024" "disablereceiveshadows" "1" "model" "models/props_mvm/no_entry.mdl" "disableshadows" "1" "solid" "0" "StartDisabled" "0" } NoFixup 1 prop_dynamic //left { "targetname" "area2barriers" "origin" "1088 2560 912" "angles" "0 90 0" "modelscale" "1.25" "fademindist" "128" "fademaxdist" "1024" "disablereceiveshadows" "1" "model" "models/props_mvm/no_entry.mdl" "disableshadows" "1" "solid" "0" "StartDisabled" "0" } } station { func_upgradestation { "mins" "-105 -100 0" "maxs" "105 100 242" "solid" "0" } NoFixup 1 prop_dynamic { "targetname" "upgradestation" "angles" "0 0 0" "DisableBoneFollowers" "0" "disablereceiveshadows" "0" "disableshadows" "1" "ExplodeDamage" "0" "ExplodeRadius" "0" "fademaxdist" "0" "fademindist" "-1" "fadescale" "1" "MaxAnimTime" "10" "maxdxlevel" "0" "MinAnimTime" "5" "mindxlevel" "0" "model" "models/props_mvm/mvm_upgrade_blu.mdl" "modelscale" "1" "PerformanceMode" "0" "pressuredelay" "0" "RandomAnimation" "0" "renderamt" "255" "renderfx" "0" "rendermode" "0" "SetBodyGroup" "0" "skin" "0" "solid" "0" "spawnflags" "0" "origin" "0 0 0" } func_upgradestation { "mins" "-100 -100 0" "maxs" "90 60 100" "parentname" "upgradestation" } NoFixup 1 prop_dynamic { "targetname" "shopcollision" "angles" "0 -90 0" "DisableBoneFollowers" "1" "disablereceiveshadows" "1" "model" "models/props_vehicles/train_flatcar_container.mdl" "disableshadows" "1" "ExplodeDamage" "0" "ExplodeRadius" "0" "fademaxdist" "0" "fademindist" "-1" "fadescale" "1" "MaxAnimTime" "10" "maxdxlevel" "0" "MinAnimTime" "5" "mindxlevel" "0" "modelscale" "1" "PerformanceMode" "0" "pressuredelay" "0" "RandomAnimation" "0" "renderamt" "0" "renderfx" "0" "rendermode" "10" "SetBodyGroup" "0" "skin" "0" "CollisionGroup" "5" "solid" "6" "spawnflags" "0" "StartDisabled" "0" "origin" "0 0 0" } } hatchblocker //hatch prop { NoFixup 1 prop_dynamic { "targetname" "hatchcover" "angles" "0 0 0" "DisableBoneFollowers" "1" "disablereceiveshadows" "1" "model" "models/props_hydro/water_machinery2.mdl" "disableshadows" "1" "ExplodeDamage" "0" "ExplodeRadius" "0" "fademaxdist" "0" "fademindist" "-1" "fadescale" "1" "MaxAnimTime" "10" "maxdxlevel" "0" "MinAnimTime" "5" "mindxlevel" "0" "modelscale" "1.2" "PerformanceMode" "0" "pressuredelay" "0" "RandomAnimation" "0" "renderamt" "100" "rendercolor" "100 100 255" "renderfx" "15" "rendermode" "0" "SetBodyGroup" "0" "CollisionGroup" "1" "skin" "0" "solid" "0" "spawnflags" "0" "StartDisabled" "0" "origin" "39 692 469" } } hatchblocker //hatch collision { NoFixup 1 func_forcefield { "disablereceiveshadows" "0" "origin" "39 692 629" "renderamt" "255" "rendercolor" "255 255 255" "renderfx" "0" "rendermode" "10" "TeamNum" "2" "targetname" "hatchcovercollision" "parentname" "hatchcover" "mins" "-120 -120 -120" "maxs" "120 120 120" "StartDisabled" "0" } } hatchunblocker { NoFixup 1 logic_relay { "targetname" "unblockhatch" "OnTrigger" "hatchcover,Kill,,0,-1" "OnTrigger" "hatchopen,Show,,0,-1" "OnTrigger" "thirdperson,Enable,,0,-1" } } annotation { NoFixup 1 training_annotation { "targetname" "hatchopen" "parentname" "hatch_prop" "display_text" "The bomb can now be deployed!" "lifetime" "10" "origin" "40 696 616" } training_annotation { "targetname" "tank_hint1" "display_text" "Tank Incoming!" "lifetime" "5" "origin" "2148.38 5098.59 908.50" } training_annotation { "targetname" "tank_hint2" "display_text" "Tank Incoming!" "lifetime" "5" "origin" "1155.90 1528.76 727.32" } training_annotation { "targetname" "blimp_hint" "display_text" "Blimps Incoming!" "lifetime" "5" "origin" "66.80 211.57 2074.44" } } spawnpoints { // models NoFixup 1 prop_dynamic { "targetname" "spawnpoint_red1a" "model" "models/props_mvm/robot_spawnpoint.mdl" "disableshadows" "1" "defaultanim" "idle" "origin" "64 6048 736" "angles" "0 0 0" "skin" "3" } NoFixup 1 prop_dynamic { "targetname" "spawnpoint_red1b" "model" "models/props_mvm/robot_spawnpoint.mdl" "disableshadows" "1" "defaultanim" "idle" "origin" "1688 6304 736" "angles" "0 180 0" "skin" "3" } NoFixup 1 prop_dynamic { "targetname" "spawnpoint_red1c" "model" "models/props_mvm/robot_spawnpoint.mdl" "disableshadows" "1" "defaultanim" "idle" "origin" "1969 5452 696" "angles" "0 180 0" "skin" "3" } NoFixup 1 prop_dynamic { "targetname" "spawnpoint_red2a" "model" "models/props_mvm/robot_spawnpoint.mdl" "disableshadows" "1" "defaultanim" "idle" "origin" "960 3904 896" "angles" "0 90 0" "skin" "3" } NoFixup 1 prop_dynamic { "targetname" "spawnpoint_red2b" "model" "models/props_mvm/robot_spawnpoint.mdl" "disableshadows" "1" "defaultanim" "idle" "origin" "-280 3456 896" "angles" "0 0 0" "skin" "3" } NoFixup 1 prop_dynamic { "targetname" "spawnpoint_red2c" "model" "models/props_mvm/robot_spawnpoint.mdl" "disableshadows" "1" "defaultanim" "idle" "origin" "1696 2816 769" "angles" "0 180 0" "skin" "3" } NoFixup 1 prop_dynamic { "targetname" "spawnpoint_red3a" "model" "models/props_mvm/robot_spawnpoint.mdl" "disableshadows" "1" "defaultanim" "idle" "origin" "616 800 640" "angles" "0 180 0" "skin" "3" } NoFixup 1 prop_dynamic { "targetname" "spawnpoint_red3b" "model" "models/props_mvm/robot_spawnpoint.mdl" "disableshadows" "1" "defaultanim" "idle" "origin" "64 256 704" "angles" "0 90 0" "skin" "3" } NoFixup 1 prop_dynamic { "targetname" "spawnpoint_secret" "model" "models/props_mvm/robot_spawnpoint.mdl" "disableshadows" "1" "defaultanim" "idle" "origin" "-224 2240 656" "angles" "90 180 0" "skin" "2" } // off logic NoFixup 1 logic_relay { "targetname" "red1a_off_logic" "OnTrigger" "spawnpoint_red1a,skin,3,0,-1" } NoFixup 1 logic_relay { "targetname" "red1b_off_logic" "OnTrigger" "spawnpoint_red1b,skin,3,0,-1" } NoFixup 1 logic_relay { "targetname" "red1c_off_logic" "OnTrigger" "spawnpoint_red1b,skin,0,0,-1" } NoFixup 1 logic_relay { "targetname" "red2a_off_logic" "OnTrigger" "spawnpoint_red2a,skin,3,0,-1" } NoFixup 1 logic_relay { "targetname" "red2b_off_logic" "OnTrigger" "spawnpoint_red1b,skin,3,0,-1" } NoFixup 1 logic_relay { "targetname" "red2c_off_logic" "OnTrigger" "spawnpoint_red1b,skin,0,0,-1" } NoFixup 1 logic_relay { "targetname" "red3a_off_logic" "OnTrigger" "spawnpoint_red3a,skin,3,0,-1" } NoFixup 1 logic_relay { "targetname" "red3b_off_logic" "OnTrigger" "spawnpoint_red3b,skin,3,0,-1" } // on logic NoFixup 1 logic_relay { "targetname" "red1a_on_logic" "OnTrigger" "spawnpoint_red1a,skin,0,0,-1" } NoFixup 1 logic_relay { "targetname" "red1b_on_logic" "OnTrigger" "spawnpoint_red1b,skin,0,0,-1" } NoFixup 1 logic_relay { "targetname" "red1c_on_logic" "OnTrigger" "spawnpoint_red1b,skin,0,0,-1" } NoFixup 1 logic_relay { "targetname" "red2a_on_logic" "OnTrigger" "spawnpoint_red2a,skin,0,0,-1" } NoFixup 1 logic_relay { "targetname" "red2b_on_logic" "OnTrigger" "spawnpoint_red1b,skin,0,0,-1" } NoFixup 1 logic_relay { "targetname" "red2c_on_logic" "OnTrigger" "spawnpoint_red1b,skin,0,0,-1" } NoFixup 1 logic_relay { "targetname" "red3a_on_logic" "OnTrigger" "spawnpoint_red3a,skin,0,0,-1" } NoFixup 1 logic_relay { "targetname" "red3b_on_logic" "OnTrigger" "spawnpoint_red3b,skin,0,0,-1" } } EngineerSentry { KeepAlive 1 OnParentKilledOutput { Target "sentry_random_level" Action PickRandom Delay 0.00 } OnParentKilledOutput { Target "engineer_sentry_prop" Action Kill Delay 0.01 } OnParentKilledOutput { Target "sentry_random_level" Action Kill Delay 0.01 } logic_case { "targetname" "sentry_random_level" "OnCase01" "sentry_lvl1_maker,ForceSpawnAtEntityOrigin,engineer_sentry_prop,0,-1" "OnCase02" "sentry_lvl1_maker,ForceSpawnAtEntityOrigin,engineer_sentry_prop,0,-1" "OnCase03" "sentry_lvl1_maker,ForceSpawnAtEntityOrigin,engineer_sentry_prop,0,-1" "OnCase04" "sentry_lvl1_maker,ForceSpawnAtEntityOrigin,engineer_sentry_prop,0,-1" "OnCase05" "sentry_lvl1_maker,ForceSpawnAtEntityOrigin,engineer_sentry_prop,0,-1" "OnCase06" "sentry_lvl1_maker,ForceSpawnAtEntityOrigin,engineer_sentry_prop,0,-1" "OnCase07" "sentry_lvl1_maker,ForceSpawnAtEntityOrigin,engineer_sentry_prop,0,-1" "OnCase08" "sentry_lvl1_maker,ForceSpawnAtEntityOrigin,engineer_sentry_prop,0,-1" "OnCase09" "sentry_lvl2_maker,ForceSpawnAtEntityOrigin,engineer_sentry_prop,0,-1" "OnCase10" "sentry_lvl2_maker,ForceSpawnAtEntityOrigin,engineer_sentry_prop,0,-1" "OnCase11" "sentry_lvl3_maker,ForceSpawnAtEntityOrigin,engineer_sentry_prop,0,-1" } prop_dynamic { "targetname" "engineer_sentry_prop" "model" "models/buildables/sentry1.mdl" "skin" "0" "spawnflags" "0" "solid" "0" "DisableBoneFollowers" "1" "disablereceiveshadows" "1" "disableshadows" "1" "origin" "0 0 0" "angles" "0 0 0" } } sentry_lvl1_template { KeepAlive 1 OnSpawnOutput { Target "engineer_sentry" Action AddOutput Param "angles 0 0 0" Delay 0.00 } // Set builder of sentry to !activator (parent of template) (nothing) // This prevents bots from getting stuck / blocked by sentries OnSpawnOutput { Target "engineer_sentry" Action SetBuilder // The name's builder, Bob the Builder. Delay 0.00 } OnSpawnOutput { Target "engineer_sentry" Action RemoveHealth Param 696969 Delay 10 } obj_sentrygun { "targetname" "engineer_sentry" "defaultupgrade" "0" "spawnflags" "0" "TeamNum" "2" "skin" "1" "SolidToPlayer" "0" "disablereceiveshadows" "1" "disableshadows" "1" "origin" "0 0 0" "angles" "0 0 0" } } sentry_lvl2_template { KeepAlive 1 OnSpawnOutput { Target "engineer_sentry" Action AddOutput Param "angles 0 0 0" Delay 0.00 } // Set builder of sentry to !activator (parent of template) (nothing) // This prevents bots from getting stuck / blocked by sentries OnSpawnOutput { Target "engineer_sentry" Action SetBuilder // The name's builder, Bob the Builder. Delay 0.00 } OnSpawnOutput { Target "engineer_sentry" Action RemoveHealth Param 696969 Delay 10 } obj_sentrygun { "targetname" "engineer_sentry" "defaultupgrade" "1" "spawnflags" "0" "TeamNum" "2" "skin" "1" "SolidToPlayer" "0" "disablereceiveshadows" "1" "disableshadows" "1" "origin" "0 0 0" "angles" "0 0 0" } } sentry_lvl3_template { KeepAlive 1 OnSpawnOutput { Target "engineer_sentry" Action AddOutput Param "angles 0 0 0" Delay 0.00 } // Set builder of sentry to !activator (parent of template) (nothing) // This prevents bots from getting stuck / blocked by sentries OnSpawnOutput { Target "engineer_sentry" Action SetBuilder // The name's builder, Bob the Builder. Delay 0.00 } OnSpawnOutput { Target "engineer_sentry" Action RemoveHealth Param 696969 Delay 10 } obj_sentrygun { "targetname" "engineer_sentry" "defaultupgrade" "2" "spawnflags" "0" "TeamNum" "2" "skin" "1" "SolidToPlayer" "0" "disablereceiveshadows" "1" "disableshadows" "1" "origin" "0 0 0" "angles" "0 0 0" } } blimplogic { NoFixup 1 logic_relay { "targetname" "red_blimp_relay" "OnTrigger" "blimpbossred,Setteam,2,0.25,-1" } NoFixup 1 logic_relay { "targetname" "blimpcolor_relay" "OnTrigger" "blimpbossred,color,200 125 255,0.25,-1" } } bonk_bulletvac_logic //Thx Jurrell { OnSpawnOutput { Target "bonkcond_checker" Action Trigger Delay 0.1 } filter_tf_condition { "targetname" "filter_bonkcond" "condition" "78" "OnPass" "!activator,$AddCond,58,0,-1" "OnPass" "!activator,$AddPlayerAttribute,dmg taken from bullets reduced|.25,0,-1" "OnFail" "!activator,$RemoveCond,58,0,-1" "OnFail" "!activator,$RemovePlayerAttribute,dmg taken from bullets reduced,0,-1" } logic_relay { "targetname" "bonkcond_checker" "spawnflags" "2" "OnTrigger" "!self,Trigger,,0.1,-1" "OnTrigger" "filter_bonkcond,TestActivator,!activator,0,-1" } } } SpawnTemplate "corelogic" SpawnTemplate "annotation" SpawnTemplate "hatchunblocker" SpawnTemplate "spawnpoints" SpawnTemplate "barriers" SpawnTemplate "areabarriers" SpawnTemplate "blimplogic" SpawnTemplate { Name "station" "origin" "222 7385 674" "angles" "0 90 0" } SpawnTemplate { Name "station" "origin" "2206 7448 480" "angles" "0 90 0" } SpawnTemplate { Name "station" "origin" "1702 8658 748" "angles" "0 180 13" } ExtraSpawnPoint { Name "spawnbot_red0" TeamNum 2 X "-353" Y "703" Z "1142" } ExtraSpawnPoint { Name "spawnbot_red1a" TeamNum 2 X "64" Y "6048" Z "768" } ExtraSpawnPoint { Name "spawnbot_red1b" TeamNum 2 X "1688" Y "6304" Z "768" } ExtraSpawnPoint { Name "spawnbot_red1c" TeamNum 2 X "1969" Y "5452" Z "728" } ExtraSpawnPoint { Name "spawnbot_red2a" TeamNum 2 X "960" Y "3904" Z "928" } ExtraSpawnPoint { Name "spawnbot_red2b" TeamNum 2 X "-280" Y "3456" Z "928" } ExtraSpawnPoint { Name "spawnbot_red2c" TeamNum 2 X "1696" Y "2816" Z "800" } ExtraSpawnPoint { Name "spawnbot_red3a" TeamNum 2 X "616" Y "800" Z "672" } ExtraSpawnPoint { Name "spawnbot_red3b" TeamNum 2 X "64" Y "256" Z "736" } ItemAttributes { ClassName "tf_weapon_knife" "provide on active" 1 "cannot pick up intelligence" 1 } ItemAttributes { ItemName "The Loose Cannon" "override projectile type" 3 "damage penalty" 0.8 "Blast radius increased" 1.5 "custom projectile model" "models\weapons\w_models\w_cannonball.mdl" } ItemAttributes // too powerful { ItemName "The Ubersaw" "add uber charge on hit" 0.1 } ItemAttributes { ItemName "The Widowmaker" "damage bonus bullet vs sentry target" 0 } ItemAttributes { ItemName "The Beggar's Bazooka" "reload time increased hidden" 2 } ItemAttributes { Itemname "The Short Circuit" "fire rate penalty" 3 } ItemAttributes { ItemName "The Red-Tape Recorder" "sapper degenerates buildings" 0 "sapper damage penalty" 1 } ItemAttributes { ItemName "The Dead Ringer" "cloak_consume_on_feign_death_activate" 3 } Wave { WaitWhenDone 65 Checkpoint Yes StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action trigger } SpawnTemplate "hatchblocker" Explanation { Line "{blue}➤ YOU ARE NOW A ROBOT!" Line "{blue}➤ You have infinite ammo so you don't need to buy ammo capacity" Line "{blue}➤ Players can NOT deploy the bomb - Drop it for the robots at the hatch" Line "{blue}➤ Money is auto collected so you don't need to worry about missing any money" Line "{blue}➤ You need to destory all the robots in a certain area to move on to the next area!" Line "{blue}➤ You'll have 7 minutes to deploy the bomb or else you lose!" } WaveSpawn { Name "idiot" Where spawnbot_red0 TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 1 WaitBetweenSpawns 0 Support Limited DoneOutput { Target redwin_relay Action Trigger } TFBot //Timer Bot { ClassIcon vex_mvm_timer Health 300 Skill Normal Name "timer" Class Scout Scale 0.01 Attributes "UseBossHealthBar" Attributes "IgnoreFlag" Attributes "IgnoreEnemies" Item "tf_weapon_scattergun" Item "tf_weapon_pistol_scout" Item "tf_weapon_bat" CharacterAttributes { "voice pitch scale" 0.001 "mod weapon blocks healing" 1 "self dmg push force decreased" -99 "health drain" -1 //death clock "dmg from ranged reduced" 0.000000001 //invincible "cancel falling damage" 1 "move speed bonus" 0.000001 "damage force reduction" 0.0001 "airblast vulnerability multiplier" 0.01 "airblast vertical vulnerability multiplier" 0.01 "cannot pick up intelligence" 1 //no intel "increased jump height" -9 "voice pitch scale" 0 "dmg from melee increased" 0.0 } Attributes IgnoreFlag Action Mobber AddCond { Index 43 } AddCond { Index 5 Duration 2 } } } WaveSpawn { Name w1a TotalCurrency 150 TotalCount 4 MaxActive 2 SpawnCount 2 Where spawnbot_red1a WaitBeforeStarting 10 WaitBetweenSpawns 0 FirstSpawnOutput { Target red1a_on_logic Action Trigger } DoneOutput { Target red1a_off_logic Action Trigger } Squad { TFBot { ClassIcon heavy_steelfist WeaponRestrictions MeleeOnly Class Heavyweapons Name "Giant Steel Gauntlet Heavy" Skill Expert Health 5000 Attributes "MiniBoss" Item "fists of steel" ItemAttributes { ItemName "fists of steel" "damage bonus" 1.5 } CharacterAttributes { "force distribute currency on death" 1 "move speed bonus" 0.5 "damage force reduction" 0.3 "airblast vulnerability multiplier" 0.3 "override footstep sound set" 2 } Attributes IgnoreFlag Action Mobber AddCond { Index 43 } AddCond { Index 5 Duration 2 } } TFBot { ClassIcon scout_pocketpistol_lite Name "Giant Pocket Pistol Scout" WeaponRestrictions SecondaryOnly Template T_TFBot_Giant_Scout Item "pretty boy's pocket pistol" Item "ye olde baker boy" CharacterAttributes { "force distribute currency on death" 1 } Attributes IgnoreFlag Action Mobber AddCond { Index 43 } AddCond { Index 5 Duration 2 } } } } WaveSpawn { Name w1a TotalCurrency 80 TotalCount 32 MaxActive 8 SpawnCount 4 Where spawnbot_red1b Where spawnbot_red1c WaitBeforeStarting 4 WaitBetweenSpawns 3 FirstSpawnOutput { Target red1b_on_logic Action Trigger } LastSpawnOutput { Target red1c_on_logic Action Trigger } TFBot { ClassIcon pyro_detonator_red Name "Detonator Pyro" Skill Hard Template T_TFBot_Pyro_Flaregun Item "the detonator" CharacterAttributes { "force distribute currency on death" 1 } Attributes IgnoreFlag Action Mobber AddCond { Index 43 } AddCond { Index 5 Duration 2 } } } WaveSpawn { Name w1a_duo WaitForAllDead w1a FirstSpawnOutput { Target red1b_off_logic Action Trigger } LastSpawnOutput { Target red1c_off_logic Action Trigger } } WaveSpawn { Name w1a_barrier_disabled1 WaitForAllDead w1a FirstSpawnOutput { Target area1barriersdisable Action Trigger } } WaveSpawn { Name w1a_duo WaitForAllDead w1a } WaveSpawn { Name w1b WaitForAllDead w1a TotalCurrency 175 TotalCount 3 MaxActive 1 SpawnCount 1 Where spawnbot_red2a WaitBeforeStarting 3 WaitBetweenSpawns 3 FirstSpawnOutput { Target red2a_on_logic Action Trigger } TFBot { ClassIcon sniper_carbine Health 3300 Name "Giant Carbine Sniper" Class Sniper Skill Expert WeaponRestrictions SecondaryOnly Attributes "MiniBoss" Item "the cleaner's carbine" UseCustomModel "models/bots/sniper_boss/bot_sniper_boss.mdl" CharacterAttributes { "cancel falling damage" 1 "force distribute currency on death" 1 "damage force reduction" 0.4 "airblast vulnerability multiplier" 0.4 "override footstep sound set" 7 "move speed bonus" 0.4 } Attributes IgnoreFlag Action Mobber AddCond { Index 43 } AddCond { Index 5 Duration 2 } } } WaveSpawn { Name w1b WaitForAllDead w1a TotalCurrency 52 TotalCount 28 MaxActive 7 SpawnCount 1 Where spawnbot_red2a WaitBeforeStarting 3 WaitBetweenSpawns 1 TFBot { WeaponRestrictions PrimaryOnly Health 175 Skill Normal Name "Demoman" Class Demoman CharacterAttributes { "cancel falling damage" 1 "force distribute currency on death" 1 } Attributes IgnoreFlag Action Mobber AddCond { Index 43 } AddCond { Index 5 Duration 2 } } } WaveSpawn { Name w1b WaitForAllDead w1a TotalCurrency 40 TotalCount 20 MaxActive 5 SpawnCount 5 Where spawnbot_red2b WaitBeforeStarting 5 WaitBetweenSpawns 0 FirstSpawnOutput { Target red2b_on_logic Action Trigger } DoneOutput { Target red2b_off_logic Action Trigger } TFBot { Name "Jumping Sandman Scout" Skill Expert Template T_TFBot_Scout_Jumping_Sandman CharacterAttributes { "force distribute currency on death" 1 } Attributes IgnoreFlag Action Mobber AddCond { Index 43 } AddCond { Index 5 Duration 2 } } } WaveSpawn { Name w1b_barrier_disabled2 WaitForAllDead w1b FirstSpawnOutput { Target area2barriersdisable Action Trigger } } WaveSpawn { Name w1c WaitForAllDead w1b TotalCurrency 200 TotalCount 6 MaxActive 3 SpawnCount 3 Where spawnbot_red3a WaitBeforeStarting 5 WaitBetweenSpawns 5 FirstSpawnOutput { Target red3a_on_logic Action Trigger } Squad { TFBot { ClassIcon heavy_shotgun_red Template T_TFBot_Giant_Heavyweapons_Shotgun CharacterAttributes { "force distribute currency on death" 1 } Attributes IgnoreFlag Action Mobber AddCond { Index 43 } AddCond { Index 5 Duration 2 } } TFBot { Template T_TFBot_Medic Tag bot_squad_member CharacterAttributes { "force distribute currency on death" 1 } Attributes IgnoreFlag Action Mobber AddCond { Index 43 } AddCond { Index 5 Duration 2 } } TFBot { Template T_TFBot_Medic Tag bot_squad_member CharacterAttributes { "force distribute currency on death" 1 } Attributes IgnoreFlag Action Mobber AddCond { Index 43 } AddCond { Index 5 Duration 2 } } } } WaveSpawn { Name w1c WaitForAllDead w1b TotalCurrency 60 TotalCount 30 MaxActive 6 SpawnCount 2 Where spawnbot_red3b WaitBeforeStarting 0 WaitBetweenSpawns 2 FirstSpawnOutput { Target red3b_on_logic Action Trigger } TFBot { ClassIcon engineer_frontier_justice_nys Health 125 Name "Frontier Justice Engineer" Class Engineer Skill Hard WeaponRestrictions PrimaryOnly Action FetchFlag BehaviorModifiers Push Attributes "HoldFireUntilFullReload" Item "the frontier justice" Item "texas ten gallon" Item "duel medal gold" ItemAttributes { ItemName "The Frontier Justice" "critboost on kill" 3 "faster reload rate" -0.7 "fire rate penalty" 1.5 "item style override" 1 "loot rarity" 1 "is australium item" 1 "turn to gold" 1 } CharacterAttributes { "force distribute currency on death" 1 } Attributes IgnoreFlag Action Mobber AddCond { Index 43 } AddCond { Index 5 Duration 2 } } } WaveSpawn { Name w1c_barrier_disabled WaitForAllDead w1c FirstSpawnWarningSound "ambient_mp3/alarms/doomsday_lift_alarm.mp3" FirstSpawnOutput { Target unblockhatch Action Trigger } } WaveSpawn { Name Support WaitForAllDead w1c TotalCurrency 0 TotalCount 9999 MaxActive 10 SpawnCount 2 Where spawnbot_red3a Where spawnbot_red3b WaitBeforeStarting 5 WaitBetweenSpawns 2 RandomChoice { TFBot { ClassIcon spammer Health 125 Name "Pomson Engineer" Class Engineer Skill Hard WeaponRestrictions PrimaryOnly Attributes "AlwaysCrit" Action FetchFlag BehaviorModifiers Push Item "the pomson 6000" Item "the virtual reality headset" Attributes IgnoreFlag Action Mobber AddCond { Index 43 } AddCond { Index 5 Duration 2 } } TFBot { ClassIcon spammer Health 200 Name "Cow Mangler Soldier" Class Soldier Skill Hard WeaponRestrictions PrimaryOnly Item "the cow mangler 5000" Item "lord cockswain's pith helmet" Attributes IgnoreFlag Action Mobber AddCond { Index 43 } AddCond { Index 5 Duration 2 } } TFBot { ClassIcon spammer Health 125 Name "Capper Scout" Class Scout Skill Expert WeaponRestrictions SecondaryOnly Item "The C.A.P.P.E.R" Item "the virtual viewfinder" Attributes IgnoreFlag Action Mobber AddCond { Index 43 } AddCond { Index 5 Duration 2 } } TFBot { ClassIcon spammer Health 175 Name "Mann Melter Pyro" Class Pyro Skill Expert WeaponRestrictions SecondaryOnly Attributes "AlwaysCrit" Item "the manmelter" Item "the triclops" Attributes IgnoreFlag Action Mobber AddCond { Index 43 } AddCond { Index 5 Duration 2 } } } } WaveSpawn { Name "Bomb Carrier" TotalCurrency 0 TotalCount 999 MaxActive 1 SpawnCount 1 Where spawnbot WaitBeforeStarting 10 WaitBetweenSpawns 0 Support 1 RandomSpawn 1 TFBot { ClassIcon blu2_lite Health 800 Name "Skull Cutter Demoknight" Scale 1.4 Class Demoman Skill Easy AlwaysGlow 1 WeaponRestrictions MeleeOnly Item "ali baba's wee booties" Item "the splendid screen" Item "the scotsman's skullcutter" Item "the glasgow great helm" Item "the dark age defender" VoiceCommand { Delay 1 Cooldown 6 Repeats 99999 IfHealthBelow 200 Type "MEDIC!" } } } WaveSpawn { Name blusupport TotalCurrency 0 TotalCount 999 MaxActive 3 SpawnCount 3 Where spawnbot_flank_right WaitBeforeStarting 10 WaitBetweenSpawns 15 Support 1 RandomSpawn 1 TFBot { ClassIcon blu2_lite Health 200 Name Soldier Class Soldier Skill Normal BehaviorModifiers Push Attributes IgnoreFlag } } WaveSpawn { Name "redsentrybuster" Where spawnbot_red2a TotalCount 6969 MaxActive 1 SpawnCount 1 WaitBeforeStarting 45 WaitBetweenSpawns 45 Support 1 TFBot { ClassIcon sentry_buster_red Class Demoman Name "Sentry Buster" Skill Expert Health 2500 Item "The Ullapool Caber" WeaponRestrictions MeleeOnly Attributes DisableDodge Attributes IgnoreEnemies Attributes MiniBoss CharacterAttributes { "cancel falling damage" 1 "damage force reduction" 0 "voice pitch scale" 0.75 "crit mod disabled" 0 "ammo regen" 1 "health from packs increased" 0.15 "move speed bonus" 2 "damage force reduction" 0.5 "airblast vulnerability multiplier" 0.5 "override footstep sound set" 7 "cannot be backstabbed" 1 } UseCustomModel models/bots/demo/red_sentry_buster.mdl Action SuicideBomber UseBusterModel 1 CustomWeaponModel { Slot 0 Model "models/empty.mdl" } AddCond { Name TF_COND_REPROGRAMMED } } } } Wave { WaitWhenDone 65 Checkpoint Yes StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } SpawnTemplate "hatchblocker" WaveSpawn { Name "idiot" Where spawnbot_red0 TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 1 WaitBetweenSpawns 0 Support Limited DoneOutput { Target redwin_relay Action Trigger } TFBot //Timer Bot { ClassIcon vex_mvm_timer Health 300 Skill Normal Name "timer" Class Scout Scale 0.01 Attributes "UseBossHealthBar" Attributes "IgnoreFlag" Attributes "IgnoreEnemies" Item "tf_weapon_scattergun" Item "tf_weapon_pistol_scout" Item "tf_weapon_bat" CharacterAttributes { "voice pitch scale" 0.001 "mod weapon blocks healing" 1 "self dmg push force decreased" -99 "health drain" -1 //death clock "dmg from ranged reduced" 0.000000001 //invincible "cancel falling damage" 1 "move speed bonus" 0.000001 "damage force reduction" 0.0001 "airblast vulnerability multiplier" 0.01 "airblast vertical vulnerability multiplier" 0.01 "cannot pick up intelligence" 1 //no intel "increased jump height" -9 "voice pitch scale" 0 "dmg from melee increased" 0.0 } Attributes IgnoreFlag Action Mobber AddCond { Index 43 } AddCond { Index 5 Duration 2 } } } WaveSpawn { Name w2a TotalCurrency 126 TotalCount 3 MaxActive 3 SpawnCount 1 Where spawnbot_red1a WaitBeforeStarting 5 WaitBetweenSpawns 12 FirstSpawnOutput { Target red1a_on_logic Action Trigger } DoneOutput { Target red1a_off_logic Action Trigger } TFBot { ClassIcon spy_ambassador_lite Health 3300 Name "Giant Ambassador Spy" Class Spy Skill Expert WeaponRestrictions PrimaryOnly Action FetchFlag BehaviorModifiers Push Attributes "MiniBoss" Item "the ambassador" Item "fancy fedora" ItemAttributes { ItemName "the ambassador" "damage bonus" 1.5 } CharacterAttributes { "force distribute currency on death" 1 "cannot disguise" 1 "move speed bonus" 0.5 "damage force reduction" 0.3 "airblast vulnerability multiplier" 0.3 "override footstep sound set" 7 } Attributes IgnoreFlag Action Mobber AddCond { Index 43 } AddCond { Index 5 Duration 2 } } } WaveSpawn { Name w2a TotalCurrency 36 TotalCount 24 MaxActive 6 SpawnCount 3 Where spawnbot_red1b WaitBeforeStarting 3 WaitBetweenSpawns 2 FirstSpawnOutput { Target red1b_on_logic Action Trigger } DoneOutput { Target red1b_off_logic Action Trigger } TFBot { ClassIcon pyro_phlog Name "Phlogistinator Pyro" Skill Hard Template T_TFBot_Pyro Attributes "SpawnWithFullCharge" Item "the phlogistinator" Item "the person in the iron mask" Item "The Phlogistinator" ItemAttributes { ItemName "The Phlogistinator" "airblast disabled" 0 "increase buff duration" 6.2 "mod rage on hit bonus" 420 "mult airblast refire time" 0.01 } CharacterAttributes { "force distribute currency on death" 1 } Attributes IgnoreFlag Action Mobber AddCond { Index 43 } AddCond { Index 5 Duration 2 } } } WaveSpawn { Name w2a TotalCurrency 48 TotalCount 18 MaxActive 6 SpawnCount 2 Where spawnbot_red1c WaitBeforeStarting 5 WaitBetweenSpawns 2 FirstSpawnOutput { Target red1c_on_logic Action Trigger } DoneOutput { Target red1c_off_logic Action Trigger } TFBot { Template T_TFBot_Sniper_Huntsman CharacterAttributes { "force distribute currency on death" 1 } Attributes IgnoreFlag Action Mobber AddCond { Index 43 } AddCond { Index 5 Duration 2 } } } WaveSpawn { Name w2a_barrier_disabled1 WaitForAllDead w2a FirstSpawnOutput { Target area1barriersdisable Action Trigger } } WaveSpawn { Name w2b WaitForAllDead w2a TotalCurrency 100 TotalCount 5 MaxActive 1 SpawnCount 1 Where spawnbot_red2b WaitBeforeStarting 3 WaitBetweenSpawns 3 FirstSpawnOutput { Target red2b_on_logic Action Trigger } DoneOutput { Target red2b_off_logic Action Trigger } TFBot { Template T_TFBot_Giant_Scout_Baseball CharacterAttributes { "cancel falling damage" 1 "force distribute currency on death" 1 } Attributes IgnoreFlag Action Mobber AddCond { Index 43 } AddCond { Index 5 Duration 2 } } } WaveSpawn { Name w2b WaitForAllDead w2a TotalCurrency 32 TotalCount 32 MaxActive 8 SpawnCount 2 Where spawnbot_red2a WaitBeforeStarting 4 WaitBetweenSpawns 2 FirstSpawnOutput { Target red2a_on_logic Action Trigger } DoneOutput { Target red2a_off_logic Action Trigger } TFBot { Health 200 Name Soldier Class Soldier Skill Normal CharacterAttributes { "cancel falling damage" 1 "force distribute currency on death" 1 } Attributes IgnoreFlag Action Mobber AddCond { Index 43 } AddCond { Index 5 Duration 2 } } } WaveSpawn { Name w2b WaitForAllDead w2a TotalCurrency 48 TotalCount 16 MaxActive 4 SpawnCount 2 Where spawnbot_red2c WaitBeforeStarting 8 WaitBetweenSpawns 3 FirstSpawnOutput { Target red2c_on_logic Action Trigger } DoneOutput { Target red2c_off_logic Action Trigger } TFBot { Class Scout Skill Normal Attributes "AlwaysCrit" CharacterAttributes { "force distribute currency on death" 1 } Attributes IgnoreFlag Action Mobber AddCond { Index 43 } AddCond { Index 5 Duration 2 } } } WaveSpawn { Name w2b_barrier_disabled1 WaitForAllDead w2b FirstSpawnOutput { Target area2barriersdisable Action Trigger } } WaveSpawn { Name w2c WaitForAllDead w2b TotalCurrency 200 TotalCount 4 MaxActive 2 SpawnCount 1 Where spawnbot_red3a WaitBeforeStarting 5 WaitBetweenSpawns 10 TFBot { Template T_TFBot_Giant_Soldier_Spammer CharacterAttributes { "force distribute currency on death" 1 } Attributes IgnoreFlag Action Mobber AddCond { Index 43 } AddCond { Index 5 Duration 2 } } } WaveSpawn { Name w2c WaitForAllDead w2b TotalCurrency 50 TotalCount 28 MaxActive 7 SpawnCount 1 Where spawnbot_red3a WaitBeforeStarting 3 WaitBetweenSpawns 1 FirstSpawnOutput { Target red3a_on_logic Action Trigger } TFBot { ClassIcon pyro_homewrecker_lite Health 175 Name "Homewrecker Pyro" Class Pyro Skill Hard WeaponRestrictions MeleeOnly Attributes "AlwaysCrit" Item "the homewrecker" Item "respectless rubber glove" CharacterAttributes { "force distribute currency on death" 1 } Attributes IgnoreFlag Action Mobber AddCond { Index 43 } AddCond { Index 5 Duration 2 } } } WaveSpawn { Name w2c WaitForAllDead w2b TotalCurrency 60 TotalCount 30 MaxActive 6 SpawnCount 2 Where spawnbot_red3b WaitBeforeStarting 5 WaitBetweenSpawns 2 FirstSpawnOutput { Target red3b_on_logic Action Trigger } TFBot { Class Demoman Skill Easy CharacterAttributes { "force distribute currency on death" 1 } Attributes IgnoreFlag Action Mobber AddCond { Index 43 } AddCond { Index 5 Duration 2 } } } WaveSpawn { Name Support WaitForAllDead w2c TotalCurrency 0 TotalCount 9999 MaxActive 9 SpawnCount 3 Where spawnbot_red3a Where spawnbot_red3b WaitBeforeStarting 0 WaitBetweenSpawns 2 RandomChoice { TFBot { ClassIcon spammer Template T_TFBot_Heavyweapons_Shotgun Attributes IgnoreFlag Action Mobber AddCond { Index 43 } AddCond { Index 5 Duration 2 } } TFBot { ClassIcon spammer Health 175 Name "Loch-n-load Demoman" Class Demoman Skill Hard WeaponRestrictions PrimaryOnly Item "the loch-n-load" Item "glengarry bonnet" Attributes IgnoreFlag Action Mobber AddCond { Index 43 } AddCond { Index 5 Duration 2 } } TFBot { ClassIcon spammer WeaponRestrictions MeleeOnly Health 125 Name "Smg Sniper" Class Sniper Skill Hard Attributes IgnoreFlag Action Mobber AddCond { Index 43 } AddCond { Index 5 Duration 2 } } TFBot { ClassIcon spammer Health 175 Name Pyro Class Pyro Skill Hard Attributes IgnoreFlag Action Mobber AddCond { Index 43 } AddCond { Index 5 Duration 2 } } TFBot { ClassIcon spammer Template T_TFBot_Sniper_Huntsman_Spammer Attributes IgnoreFlag Action Mobber AddCond { Index 43 } AddCond { Index 5 Duration 2 } } } } WaveSpawn { Name w2c_barrier_disabled WaitForAllDead w2c FirstSpawnWarningSound "ambient_mp3/alarms/doomsday_lift_alarm.mp3" FirstSpawnOutput { Target unblockhatch Action Trigger } } WaveSpawn { Name "bomb carrier" TotalCurrency 0 TotalCount 999 MaxActive 1 SpawnCount 1 Where spawnbot WaitBeforeStarting 10 WaitBetweenSpawns 0 Support 1 RandomSpawn 1 TFBot { ClassIcon blu2_lite Template T_TFBot_Heavy_IronFist_Airblast AlwaysGlow 1 Attributes "AlwaysCrit" VoiceCommand { Delay 1 Cooldown 6 Repeats 99999 IfHealthBelow 250 Type "MEDIC!" } } } WaveSpawn { Name "blu support" TotalCurrency 0 TotalCount 999 MaxActive 4 SpawnCount 4 Where spawnbot_flank_left Where spawnbot_flank_right WaitBeforeStarting 5 WaitBetweenSpawns 5 Support 1 RandomSpawn 1 RandomChoice { TFBot { ClassIcon blu2_lite Health 125 Name "Penetrating Bowman" Template T_TFBot_Sniper_Huntsman Skill Expert Item "festive huntsman" Item "the snaggletoothed stetson" BehaviorModifiers Push Attributes "IgnoreFlag" ItemAttributes { ItemName "festive huntsman" "projectile penetration" 1 } } TFBot { ClassIcon blu2_lite Health 125 Name "Marking Bowman" Template T_TFBot_Sniper_Huntsman Skill Expert Item "the huntsman" Item "holy hunter" BehaviorModifiers Push Attributes "IgnoreFlag" ItemAttributes { Itemname "holy hunter" "attach particle effect" 44 } ItemAttributes { ItemName "the huntsman" "mark for death" 5 } } TFBot { ClassIcon blu2_lite Name "Ignited Bowman" Template T_TFBot_Sniper_Huntsman Skill Expert Item "spine-chilling skull" BehaviorModifiers Push Attributes "IgnoreFlag" ItemAttributes { Itemname "the huntsman" "Set DamageType Ignite" 1 "attach particle effect" 13 } } TFBot { ClassIcon blu2_lite Name "Bleeding Bowman" Template T_TFBot_Sniper_Huntsman Skill Expert Item "voodoo juju" BehaviorModifiers Push Attributes "IgnoreFlag" ItemAttributes { Itemname "voodoo juju" "attach particle effect" 43 } CharacterAttributes { "bleeding duration" 5 } } TFBot { ClassIcon blu2_lite Name "Cannon Ball Bowman" Template T_TFBot_Sniper_Huntsman Item "the lone star" BehaviorModifiers Push Attributes "IgnoreFlag" CharacterAttributes { "override projectile type" 17 "hand scale" 0 } } } } } Wave { WaitWhenDone 65 Checkpoint Yes StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } SpawnTemplate "hatchblocker" WaveSpawn { Name "idiot" Where spawnbot_red0 TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 1 WaitBetweenSpawns 0 Support Limited DoneOutput { Target redwin_relay Action Trigger } TFBot //Timer Bot { ClassIcon vex_mvm_timer Health 300 Skill Normal Name "timer" Class Scout Scale 0.01 Attributes "UseBossHealthBar" Attributes "IgnoreFlag" Attributes "IgnoreEnemies" Item "tf_weapon_scattergun" Item "tf_weapon_pistol_scout" Item "tf_weapon_bat" CharacterAttributes { "voice pitch scale" 0.001 "mod weapon blocks healing" 1 "self dmg push force decreased" -99 "health drain" -1 //death clock "dmg from ranged reduced" 0.000000001 //invincible "cancel falling damage" 1 "move speed bonus" 0.000001 "damage force reduction" 0.0001 "airblast vulnerability multiplier" 0.01 "airblast vertical vulnerability multiplier" 0.01 "cannot pick up intelligence" 1 //no intel "increased jump height" -9 "voice pitch scale" 0 "dmg from melee increased" 0.0 } Attributes IgnoreFlag Action Mobber AddCond { Index 43 } AddCond { Index 5 Duration 2 } } } WaveSpawn { Name w3a TotalCurrency 0 TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 5 WaitBetweenSpawns 10 Tank { Health 20000 TeamNum 2 Name "tankbossred" ClassIcon tank_red_lite Model "models/bots/boss_bot/boss_tankred.mdl" Speed 55 StartingPathTrackNode "tankpath_red_short_1" OnKilledOutput { Target boss_dead_relay Action Trigger } OnBombDroppedOutput { Target redwin_relay Action Trigger } } StartWaveOutput { Target tank_hint1 Action Show } } WaveSpawn { Name w3a TotalCurrency 60 TotalCount 36 MaxActive 12 SpawnCount 4 Where spawnbot_red1a Where spawnbot_red1b WaitBeforeStarting 0 WaitBetweenSpawns 2 FirstSpawnOutput { Target red1a_on_logic Action Trigger } LastSpawnOutput { Target red1b_on_logic Action Trigger } TFBot { ClassIcon demo_burst_red Template T_TFBot_Demo_Burst CharacterAttributes { "force distribute currency on death" 1 } Attributes IgnoreFlag Action Mobber AddCond { Index 43 } AddCond { Index 5 Duration 2 } } } WaveSpawn { Name w3a2 WaitForAllSpawned w3a TotalCurrency 200 TotalCount 2 MaxActive 2 SpawnCount 2 Where spawnbot_red1c WaitBeforeStarting 6 WaitBetweenSpawns 0 FirstSpawnOutput { Target red1c_on_logic Action Trigger } Squad { TFBot { Template T_TFBot_Giant_Soldier_Spammer_Reload CharacterAttributes { "force distribute currency on death" 1 } Attributes IgnoreFlag Action Mobber AddCond { Index 43 } AddCond { Index 5 Duration 2 } } TFBot { Template T_TFBot_Giant_Medic_Regen Tag bot_squad_member CharacterAttributes { "force distribute currency on death" 1 } Attributes IgnoreFlag Action Mobber AddCond { Index 43 } AddCond { Index 5 Duration 2 } } } } WaveSpawn { Name disabled WaitForAllDead w3a2 WaitBeforeStarting 0 FirstSpawnOutput { Target red1a_off_logic Action Trigger } } WaveSpawn { Name disabled WaitForAllDead w3a2 WaitBeforeStarting 0 FirstSpawnOutput { Target red1b_off_logic Action Trigger } } WaveSpawn { Name disabled WaitForAllDead w3a2 WaitBeforeStarting 0 FirstSpawnOutput { Target red1c_off_logic Action Trigger } } WaveSpawn { Name w3b WaitForAllDead w3a2 TotalCurrency 100 TotalCount 3 MaxActive 3 SpawnCount 1 Where spawnbot_red2b Where spawnbot_red2c WaitBeforeStarting 5 WaitBetweenSpawns 15 TFBot { Template T_TFBot_Giant_Heavyweapons CharacterAttributes { "force distribute currency on death" 1 } Attributes IgnoreFlag Action Mobber AddCond { Index 43 } AddCond { Index 5 Duration 2 } } } WaveSpawn { Name w3b WaitForAllDead w3a2 TotalCurrency 24 TotalCount 30 MaxActive 6 SpawnCount 2 Where spawnbot_red2a WaitBeforeStarting 5 WaitBetweenSpawns 2 FirstSpawnOutput { Target red2a_on_logic Action Trigger } TFBot { ClassIcon scout_pistol Health 125 Name "Pistol Scout" Class Scout Skill Hard WeaponRestrictions SecondaryOnly CharacterAttributes { "force distribute currency on death" 1 } Attributes IgnoreFlag Action Mobber AddCond { Index 43 } AddCond { Index 5 Duration 2 } } } WaveSpawn { Name w3b WaitForAllDead w3a2 TotalCurrency 25 TotalCount 24 MaxActive 6 SpawnCount 3 Where spawnbot_red2b Where spawnbot_red2c WaitBeforeStarting 3 WaitBetweenSpawns 0 FirstSpawnOutput { Target red2b_on_logic Action Trigger } LastSpawnOutput { Target red2c_on_logic Action Trigger } TFBot { ClassIcon demoknight_charge Template T_TFBot_Demoman_Knight Item "the claidheamohmor" Item "lo-fi longwave" CharacterAttributes { "force distribute currency on death" 1 } Attributes IgnoreFlag Action Mobber AddCond { Index 43 } AddCond { Index 5 Duration 2 } } } WaveSpawn { Name disabled WaitForAllDead w3b WaitBeforeStarting 0 FirstSpawnOutput { Target red2a_off_logic Action Trigger } } WaveSpawn { Name disabled WaitForAllDead w3b WaitBeforeStarting 0 FirstSpawnOutput { Target red2b_off_logic Action Trigger } } WaveSpawn { Name disabled WaitForAllDead w3a2 WaitBeforeStarting 0 FirstSpawnOutput { Target red2c_off_logic Action Trigger } } WaveSpawn { Name "Tank" WaitForAllSpawned w3b TotalCurrency 0 TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 5 WaitBetweenSpawns 0 Tank { Health 40000 TeamNum 2 Name "tankbossred" ClassIcon tank_red_lite Model "models/bots/boss_bot/boss_tankred.mdl" Speed 75 StartingPathTrackNode "tankpath_red_long_1" OnKilledOutput { Target boss_dead_relay Action Trigger } OnBombDroppedOutput { Target redwin_relay Action Trigger } } StartWaveOutput { Target tank_hint2 Action Show } } WaveSpawn { Name w3c WaitForAllDead w3b TotalCurrency 91 TotalCount 2 MaxActive 1 SpawnCount 1 Where spawnbot_red3a WaitBeforeStarting 5 WaitBetweenSpawns 5 TFBot { ClassIcon pyro_flare_rain_red_nys Name "Major Flare" Class Pyro Skill Expert Health 4200 Item "The Flare Gun" WeaponRestrictions SecondaryOnly Attributes AlwaysCrit Attributes MiniBoss Item "The Flamboyant Flamenco" Item "trickster's turnout gear" ItemAttributes { ItemName "The Flare Gun" "fire rate bonus" .1 "projectile spread angle penalty" 9 "damage penalty" 2 "Projectile speed increased" .15 } ItemAttributes { ItemName "The Flamboyant Flamenco" "attach particle effect" 78 } CharacterAttributes { "force distribute currency on death" 1 "move speed bonus" .5 "override footstep sound set" 6 "airblast vulnerability multiplier" .1 "damage force reduction" .2 "airblast vertical vulnerability multiplier" .5 "health regen" 50 } Attributes IgnoreFlag Action Mobber AddCond { Index 43 } AddCond { Index 5 Duration 2 } } } WaveSpawn { Name w3c WaitForAllDead w3b TotalCurrency 100 TotalCount 24 MaxActive 8 SpawnCount 2 Where spawnbot_red3a Where spawnbot_red3b WaitBeforeStarting 3 WaitBetweenSpawns 3 FirstSpawnOutput { Target red3a_on_logic Action Trigger } LastSpawnOutput { Target red3b_on_logic Action Trigger } TFBot { Health 300 Name "Heavy" Class HeavyWeapons Skill Normal CharacterAttributes { "force distribute currency on death" 1 } Attributes IgnoreFlag Action Mobber AddCond { Index 43 } AddCond { Index 5 Duration 2 } } } WaveSpawn { Name Support WaitForAllDead w3c TotalCurrency 0 TotalCount 9999 MaxActive 6 SpawnCount 2 Where spawnbot_red3a Where spawnbot_red3b WaitBeforeStarting 3 WaitBetweenSpawns 2 RandomChoice { TFBot { ClassIcon spammer Skill Hard Template T_TFBot_Demoman_Samurai Attributes IgnoreFlag Action Mobber AddCond { Index 43 } AddCond { Index 5 Duration 2 } } TFBot { ClassIcon spammer Template T_TFBot_Heavyweapons_Fist Attributes IgnoreFlag Action Mobber AddCond { Index 43 } AddCond { Index 5 Duration 2 } } TFBot { ClassIcon spammer Template T_TFBot_Scout_Shortstop Attributes IgnoreFlag Action Mobber AddCond { Index 43 } AddCond { Index 5 Duration 2 } } TFBot { ClassIcon spammer Template T_TFBot_Sniper_Huntsman_Spammer Attributes IgnoreFlag Action Mobber AddCond { Index 43 } AddCond { Index 5 Duration 2 } } } } WaveSpawn { Name w3c_barrier_disabled WaitForAllDead w3c FirstSpawnWarningSound "ambient_mp3/alarms/doomsday_lift_alarm.mp3" FirstSpawnOutput { Target unblockhatch Action Trigger } } WaveSpawn { Name "bomb carrier" TotalCurrency 0 TotalCount 999 MaxActive 1 SpawnCount 1 Where spawnbot WaitBeforeStarting 10 WaitBetweenSpawns 0 Support 1 RandomSpawn 1 TFBot { ClassIcon blu2_lite Skill Expert Template T_TFBot_Sniper_Huntsman_Spammer AlwaysGlow 1 VoiceCommand { Delay 1 Cooldown 6 Repeats 99999 IfHealthBelow 300 Type "MEDIC!" } } } WaveSpawn { Name "redsentrybuster" Where spawnbot_red2a TotalCount 6969 MaxActive 1 SpawnCount 1 WaitBeforeStarting 45 WaitBetweenSpawns 45 Support 1 TFBot { ClassIcon sentry_buster_red Class Demoman Name "Sentry Buster" Skill Expert Health 2500 Item "The Ullapool Caber" WeaponRestrictions MeleeOnly Attributes DisableDodge Attributes IgnoreEnemies Attributes MiniBoss CharacterAttributes { "cancel falling damage" 1 "damage force reduction" 0 "voice pitch scale" 0.75 "crit mod disabled" 0 "ammo regen" 1 "health from packs increased" 0.15 "move speed bonus" 2 "damage force reduction" 0.5 "airblast vulnerability multiplier" 0.5 "override footstep sound set" 7 "cannot be backstabbed" 1 } UseCustomModel models/bots/demo/red_sentry_buster.mdl Action SuicideBomber UseBusterModel 1 CustomWeaponModel { Slot 0 Model "models/empty.mdl" } AddCond { Name TF_COND_REPROGRAMMED } } } WaveSpawn { Name w3a_barrier_disabled1 WaitForAllDead w3a2 FirstSpawnOutput { Target area1barriersdisable Action Trigger } } WaveSpawn { Name w3b_barrier_disabled2 WaitForAllDead w3b FirstSpawnOutput { Target area2barriersdisable Action Trigger } } } Wave { WaitWhenDone 65 Checkpoint Yes StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } SpawnTemplate "hatchblocker" WaveSpawn { Name "idiot" Where spawnbot_red0 TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 1 WaitBetweenSpawns 0 Support Limited DoneOutput { Target redwin_relay Action Trigger } TFBot //Timer Bot { ClassIcon vex_mvm_timer Health 300 Skill Normal Name "timer" Class Scout Scale 0.01 Attributes "UseBossHealthBar" Attributes "IgnoreFlag" Attributes "IgnoreEnemies" Item "tf_weapon_scattergun" Item "tf_weapon_pistol_scout" Item "tf_weapon_bat" CharacterAttributes { "voice pitch scale" 0.001 "mod weapon blocks healing" 1 "self dmg push force decreased" -99 "health drain" -1 //death clock "dmg from ranged reduced" 0.000000001 //invincible "cancel falling damage" 1 "move speed bonus" 0.000001 "damage force reduction" 0.0001 "airblast vulnerability multiplier" 0.01 "airblast vertical vulnerability multiplier" 0.01 "cannot pick up intelligence" 1 //no intel "increased jump height" -9 "voice pitch scale" 0 "dmg from melee increased" 0.0 } Attributes IgnoreFlag Action Mobber AddCond { Index 43 } AddCond { Index 5 Duration 2 } } } WaveSpawn { Name w4a TotalCurrency 200 TotalCount 4 MaxActive 2 SpawnCount 2 Where spawnbot_red1c WaitBeforeStarting 5 WaitBetweenSpawns 5 FirstSpawnOutput { Target red1c_on_logic Action Trigger } TFBot { Template T_TFBot_Giant_DemoMan_PrinceTavish CharacterAttributes { "force distribute currency on death" 1 } Attributes IgnoreFlag Action Mobber AddCond { Index 43 } AddCond { Index 5 Duration 2 } } } WaveSpawn { Name w4a TotalCurrency 48 TotalCount 27 MaxActive 9 SpawnCount 3 Where spawnbot_red1b WaitBeforeStarting 2 WaitBetweenSpawns 4 FirstSpawnOutput { Target red1b_on_logic Action Trigger } TFBot { Template T_TFBot_Soldier_Extended_Concheror CharacterAttributes { "force distribute currency on death" 1 } Attributes IgnoreFlag Action Mobber AddCond { Index 43 } AddCond { Index 5 Duration 2 } } } WaveSpawn { Name w2b_barrier_disabled1 WaitForAllDead w2b FirstSpawnOutput { Target red1b_off_logic Action Trigger } LastSpawnOutput { Target red1c_off_logic Action Trigger } } WaveSpawn { Name w4a TotalCurrency 52 TotalCount 16 MaxActive 4 SpawnCount 2 Where spawnbot_red1b WaitBeforeStarting 3 WaitBetweenSpawns 2 TFBot { ClassIcon heavy_shotgun_red Template T_TFBot_Heavyweapons_Shotgun CharacterAttributes { "force distribute currency on death" 1 } Attributes IgnoreFlag Action Mobber AddCond { Index 43 } AddCond { Index 5 Duration 2 } } } WaveSpawn { Name w4b WaitForAllDead w4a TotalCurrency 200 TotalCount 8 MaxActive 4 SpawnCount 4 Where spawnbot_red2b WaitBeforeStarting 5 WaitBetweenSpawns 0 FirstSpawnOutput { Target red2b_on_logic Action Trigger } DoneOutput { Target red2b_off_logic Action Trigger } Squad { TFBot { ClassIcon demo_burst_red Template T_TFBot_Giant_Demo_Burst Attributes "AlwaysCrit" Attributes IgnoreFlag Action Mobber AddCond { Index 43 } AddCond { Index 5 Duration 2 } } TFBot { Template T_TFBot_Medic CharacterAttributes { "cancel falling damage" 1 "force distribute currency on death" 1 } Attributes IgnoreFlag Action Mobber AddCond { Index 43 } AddCond { Index 5 Duration 2 } } TFBot { Template T_TFBot_Medic CharacterAttributes { "cancel falling damage" 1 "force distribute currency on death" 1 } Attributes IgnoreFlag Action Mobber AddCond { Index 43 } AddCond { Index 5 Duration 2 } } TFBot { Template T_TFBot_Medic CharacterAttributes { "cancel falling damage" 1 "force distribute currency on death" 1 } Attributes IgnoreFlag Action Mobber AddCond { Index 43 } AddCond { Index 5 Duration 2 } } } } WaveSpawn { Name w4b WaitForAllDead w4a TotalCurrency 100 TotalCount 24 MaxActive 8 SpawnCount 4 Where spawnbot_red2a WaitBeforeStarting 3 WaitBetweenSpawns 3 FirstSpawnOutput { Target red2a_on_logic Action Trigger } DoneOutput { Target red2a_off_logic Action Trigger } TFBot { ClassIcon scout_bonk_bullet_nys Name "Bullet Vacc Bonk Scout" Class Scout Skill Hard Item "Bonk! Atomic Punch" ItemAttributes { ItemName "Bonk! Atomic Punch" "effect cond override" 78 } Item "Bonk Helm" WeaponRestrictions PrimaryOnly ClassIcon scout_bonk_bullet_nys SpawnTemplate "bonk_bulletvac_logic" Attributes IgnoreFlag Action Mobber AddCond { Index 43 } AddCond { Index 5 Duration 2 } } } WaveSpawn { Name w4b2 WaitForAllDead w4a TotalCurrency 150 TotalCount 8 MaxActive 2 SpawnCount 2 Where spawnbot_red3a WaitBeforeStarting 15 WaitBetweenSpawns 10 FirstSpawnOutput { Target red3a_on_logic Action Trigger } TFBot { ClassIcon pyro_reflect_daan Health 750 Name "Airblast Pyro" Skill Hard Scale 1.35 Class Pyro Item "The Degreaser" Item "Traffic Cone" WeaponRestrictions PrimaryOnly ItemAttributes { ItemName "The Degreaser" "damage bonus" 0.05 "fire rate bonus" 1 "airblast pushback scale" 5 } CharacterAttributes { "force distribute currency on death" 1 } Attributes IgnoreFlag Action Mobber AddCond { Index 43 } AddCond { Index 5 Duration 2 } } } WaveSpawn { Name w4c TotalCurrency 0 TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 5 WaitForAllSpawned w4b LastSpawnOutput { Target red_blimp_relay Action Trigger } Tank { Health 20000 Name "blimpbossred" Speed 85 DisableSmokestack 1 Classicon blimp2_red_lite Skin 6 MaxTurnRate 10 Model { Default "models/bots/boss_bot/boss_blimp.mdl" Damage1 "models/bots/boss_bot/boss_blimp_damage1.mdl" Damage2 "models/bots/boss_bot/boss_blimp_damage2.mdl" Damage3 "models/bots/boss_bot/boss_blimp_damage3.mdl" } ReplaceModelCollisions 1 Gravity 0 DisableTracks 1 DisableChildModels 1 EngineLoopSound "npc\combine_gunship\dropship_engine_distant_loop1.wav" PingSound "npc\combine_gunship\ping_search.wav" StartingPathTrackNode "blimp_red_left_1" OnKilledOutput { Target boss_dead_relay Action Trigger } OnBombDroppedOutput { Target redwin_relay Action Trigger } } StartWaveOutput { Target blimp_hint Action Show } } WaveSpawn { Name w4c TotalCurrency 0 TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 8 WaitForAllSpawned w4b LastSpawnOutput { Target red_blimp_relay Action Trigger } Tank { Health 17000 Name "blimpbossred" Speed 80 Scale 1.5 Classicon blimp_red_lite Skin 6 MaxTurnRate 10 Model { Default "models\bots\boss_bot\boss_blimpred.mdl" Damage1 "models\bots\boss_bot\boss_blimpred_damage1.mdl" Damage2 "models\bots\boss_bot\boss_blimpred_damage2.mdl" Damage3 "models\bots\boss_bot\boss_blimpred_damage3.mdl" } Gravity 0 DisableTracks 1 EngineLoopSound "npc\combine_gunship\dropship_engine_distant_loop1.wav" PingSound "npc\combine_gunship\ping_search.wav" StartingPathTrackNode "blimp_red_right_1" OnKilledOutput { Target boss_dead_relay Action Trigger } OnBombDroppedOutput { Target redwin_relay Action Trigger } } } WaveSpawn { Name support1 WaitForAllDead w4b TotalCurrency 0 TotalCount 9999 MaxActive 1 SpawnCount 1 Where spawnbot_red3a WaitBeforeStarting 5 WaitBetweenSpawns 5 RandomChoice { TFBot { ClassIcon Spammer Name "Giant Bat Scout" WeaponRestrictions MeleeOnly Template T_TFBot_Giant_Scout Attributes "AlwaysCrit" Attributes IgnoreFlag Action Mobber AddCond { Index 43 } AddCond { Index 5 Duration 2 } } TFBot { ClassIcon Spammer Template T_TFBot_Giant_Soldier_Spammer Attributes IgnoreFlag Action Mobber AddCond { Index 43 } AddCond { Index 5 Duration 2 } } TFBot { ClassIcon Spammer Health 3300 Name "Giant Bowman" Scale 1.75 Class Sniper Skill Expert Attributes "MiniBoss" Item "the huntsman" UseCustomModel "models/bots/sniper_boss/bot_sniper_boss.mdl" ItemAttributes { ItemName "The Huntsman" "damage bonus" 0.5 } CharacterAttributes { "damage force reduction" 0.3 "airblast vulnerability multiplier" 0.3 "override footstep sound set" 7 "move speed bonus" 0.4 } Attributes IgnoreFlag Action Mobber AddCond { Index 43 } AddCond { Index 5 Duration 2 } } } } WaveSpawn { Name support2 WaitForAllDead w4b TotalCurrency 0 TotalCount 9999 MaxActive 8 SpawnCount 2 Where spawnbot_red3b WaitBeforeStarting 3 WaitBetweenSpawns 2 FirstSpawnOutput { Target red3b_on_logic Action Trigger } RandomChoice { TFBot { ClassIcon spammer Health 125 Name "Diamond Back Spy" Class Spy Skill Hard WeaponRestrictions PrimaryOnly Item "the diamondback" Item "fancy fedora" Action FetchFlag BehaviorModifiers Push CharacterAttributes { "cannot disguise" 1 } Attributes IgnoreFlag Action Mobber AddCond { Index 43 } AddCond { Index 5 Duration 2 } } TFBot { ClassIcon spammer Name "Homing Soldier" Class Soldier Skill Normal WeaponRestrictions PrimaryOnly Attributes HoldFireUntilFullReload Item "point and shoot" RocketCustomParticle eyeboss_projectile HomingRockets { IgnoreDisguisedSpies 1 IgnoreStealthedSpies 1 RocketSpeed 0.5 AimTime 2 TurnPower 100 MaxAimError 75 } AddCond { Index 36 Delay 1 } Attributes IgnoreFlag Action Mobber AddCond { Index 43 } AddCond { Index 5 Duration 2 } } TFBot { ClassIcon spammer Health 175 Name "Back Burner Pyro" Class Pyro Skill Normal Item "the backburner" Item "pyro helm" Attributes IgnoreFlag Action Mobber AddCond { Index 43 } AddCond { Index 5 Duration 2 } } } } WaveSpawn { Name "Bomb Carrier" TotalCurrency 0 TotalCount 420 MaxActive 1 SpawnCount 1 Where spawnbot WaitBeforeStarting 10 WaitBetweenSpawns 0 Support 1 TFBot { ClassIcon blu2_lite Health 1200 Name "Armored Major Leage Scout" Scale 1.4 Class Scout Skill Expert WeaponRestrictions MeleeOnly Item "the sandman" Item "batter's helmet" AlwaysGlow 1 VoiceCommand { Delay 1 Cooldown 6 Repeats 99999 IfHealthBelow 400 Type "MEDIC!" } } } WaveSpawn { Name w4a_barrier_disabled1 WaitForAllDead w4a FirstSpawnOutput { Target area1barriersdisable Action Trigger } } WaveSpawn { Name w4b_barrier_disabled2 WaitForAllDead w4b FirstSpawnOutput { Target area2barriersdisable Action Trigger } } WaveSpawn { Name w4c_barrier_disabled WaitForAllDead w4c FirstSpawnWarningSound "ambient_mp3/alarms/doomsday_lift_alarm.mp3" FirstSpawnOutput { Target unblockhatch Action Trigger } } } Wave { InitWaveOutput { Target boss_deploy_relay Action Trigger } } //bug workaround }