//Bonk Plant Reverse Created by A+drew #base robot_giant.pop #base robot_standard.pop #base robot_standard_red.pop #base robot_giant_red.pop #base robot_andrew.pop WaveSchedule { StartingCurrency 1200 CanBotsAttackWhileInSpawnRoom YES RespawnWaveTimeBlue 1 FixedRespawnWaveTimeBlue 1 AddSentryBusterWhenDamageDealtExceeds 0 RobotLimit 26 ForceHoliday 2 NoHolidayPickups 1 MaxTotalPlayers 6 DisplayRobotDeathNotice 0 NoReanimators 1 NoMvMDeathTune 1 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/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_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" 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 "redtank_path" Node "583 3941 225" Node "114 3920 225" Node "132 2925 321" Node "606 2909 417" Node "665 3953 417" Node "1307 3888 417" Node "1315 2912 257" Node "1847 2908 225" Node "1965 2987 225" Node "2608 2972 417" Node "3019 2965 545" Node "3805 2972 417" Node "3813 3428 417" Node "4607 3425 417" Node "5022 3412 417" } ExtraTankPath { Name "blimp_red" Node "-1786 3412 1000" Node "1628 3707 1000" Node "4938 3454 1000" } ExtraTankPath { Name "blimp_red2" Node "-1698 4221 1000" Node "3207 4285 1000" Node "3134 3391 1000" Node "4938 3454 1000" } ExtraTankPath { Name "blimp_red3" Node "-1785 3838 1000" Node "1628 3905 1000" Node "4601 3454 1000" } 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" "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" //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 //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" } } barriers //modified to work specifically for bonk_plant { NoFixup 1 func_forcefield //left { "targetname" "spawnbarrierA1" "mins" "-16 -144 -112" "maxs" "16 144 112" "origin" "4720 2864 784" "TeamNum" "2" "disablereceiveshadows" "0" "renderamt" "255" "rendercolor" "255 255 255" "renderfx" "0" "rendermode" "10" "StartDisabled" "0" } NoFixup 1 func_forcefield //middle { "targetname" "spawnbarrierA1" "mins" "-16 -144 -112" "maxs" "16 144 112" "origin" "4976 3408 464" "TeamNum" "2" "disablereceiveshadows" "0" "renderamt" "255" "rendercolor" "255 255 255" "renderfx" "0" "rendermode" "10" "StartDisabled" "0" } NoFixup 1 func_forcefield //right { "targetname" "spawnbarrierA1" "mins" "-16 -176 -128" "maxs" "16 176 128" "origin" "4624 4240 672" "TeamNum" "2" "disablereceiveshadows" "0" "renderamt" "255" "rendercolor" "255 255 255" "renderfx" "0" "rendermode" "10" "StartDisabled" "0" } NoFixup 1 prop_dynamic //left { "targetname" "spawnbarrierA" "origin" "4736 2864 784" "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" "4992 3408 464" "angles" "0 0 0" "modelscale" "1" "fademindist" "256" "fademaxdist" "1024" "disablereceiveshadows" "1" "model" "models/props_mvm/no_entry.mdl" "disableshadows" "1" "solid" "0" "StartDisabled" "0" } NoFixup 1 prop_dynamic //right { "targetname" "spawnbarrierA" "origin" "4640 4240 672" "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" } } 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" } } blocker //giant building for blocking stuff { NoFixup 1 prop_dynamic { "id" "3" "targetname" "barrierinvis" "classname" "prop_dynamic" "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_buildings/building_002a.mdl" "modelscale" "1" "PerformanceMode" "0" "pressuredelay" "0" "RandomAnimation" "0" "renderamt" "255" "renderfx" "0" "rendermode" "0" // "rendermode" "10" un-comment this and comment rendermode 0 to make it invisible "SetBodyGroup" "0" "skin" "0" "solid" "6" "spawnflags" "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" "-544 3901 97" } } hatchblocker //hatch collision { NoFixup 1 func_forcefield { "disablereceiveshadows" "0" "origin" "-544 3901 257" "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" "-544 3901 257" } } spawnpoints { // models NoFixup 1 prop_dynamic { "targetname" "spawnpoint_red1a" "model" "models/props_mvm/robot_spawnpoint.mdl" "disableshadows" "1" "defaultanim" "idle" "origin" "3025 4562.5 544" "angles" "0 -90 0" "skin" "3" } NoFixup 1 prop_dynamic { "targetname" "spawnpoint_red1b" "model" "models/props_mvm/robot_spawnpoint.mdl" "disableshadows" "1" "defaultanim" "idle" "origin" "1275 3200 192" "angles" "0 90 0" "skin" "3" } NoFixup 1 prop_dynamic { "targetname" "spawnpoint_red2a" "model" "models/props_mvm/robot_spawnpoint.mdl" "disableshadows" "1" "defaultanim" "idle" "origin" "1312.5 5175 544" "skin" "3" } // NoFixup 1 // prop_dynamic // { // "targetname" "spawnpoint_red2b" // "model" "models/props_mvm/robot_spawnpoint.mdl" // "disableshadows" "1" // "defaultanim" "idle" // "origin" "1275 3181 448" // "angles" "180 90 0" // "skin" "3" // } NoFixup 1 prop_dynamic { "targetname" "spawnpoint_red3a" "model" "models/props_mvm/robot_spawnpoint.mdl" "disableshadows" "1" "defaultanim" "idle" "origin" "-500 4437.5 384" "angles" "0 -90 0" "skin" "3" } NoFixup 1 prop_dynamic { "targetname" "spawnpoint_red3b" "model" "models/props_mvm/robot_spawnpoint.mdl" "disableshadows" "1" "defaultanim" "idle" "origin" "-700 3462.5 256" "skin" "3" } // 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" "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" "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" "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" "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" } } 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" } } StickyTank //special thanks to hell-met for letting me borrow this pointemplate { OnParentKilledOutput { Target tf_projectile_pipe Action Kill Delay 0.1 } OnSpawnOutput { Target stickytank_init_relay Action Trigger Delay 0.1 } logic_relay { "targetname" "stickytank_init_relay" "OnTrigger" "!parent,AddOutput,OnHealthBelow60Percent stickytank_timer:UpperRandomBound:5:0:-1,0,-1" "OnTrigger" "!parent,AddOutput,OnHealthBelow60Percent stickytank_timer:LowerRandomBound:5:0:-1,0,-1" "OnTrigger" "!parent,AddOutput,OnHealthBelow30Percent stickytank_timer:UpperRandomBound:2.5:0:-1,0,-1" "OnTrigger" "!parent,AddOutput,OnHealthBelow30Percent stickytank_timer:LowerRandomBound:2.5:0:-1,0,-1" } logic_relay { "targetname" "stickytank_shooter_relay" "OnTrigger" "stickytank_mimic,FireOnce,,0,-1" "OnTrigger" "stickytank_shoot_sound,PlaySound,,0,-1" "OnTrigger" "stickytank_mimic,FireOnce,,0.1,-1" "OnTrigger" "stickytank_shoot_sound,PlaySound,,0.1,-1" "OnTrigger" "stickytank_mimic,FireOnce,,0.2,-1" "OnTrigger" "stickytank_shoot_sound,PlaySound,,0.2,-1" "OnTrigger" "stickytank_mimic,FireOnce,,0.3,-1" "OnTrigger" "stickytank_shoot_sound,PlaySound,,0.3,-1" "OnTrigger" "stickytank_mimic,FireOnce,,0.4,-1" "OnTrigger" "stickytank_shoot_sound,PlaySound,,0.4,-1" "OnTrigger" "stickytank_mimic,FireMultiple,4,0.5,-1" "OnTrigger" "stickytank_shoot_sound,PlaySound,,0.5,-1" "OnTrigger" "stickytank_mimic,FireOnce,,0.6,-1" "OnTrigger" "stickytank_shoot_sound,PlaySound,,0.6,-1" "OnTrigger" "stickytank_mimic,FireOnce,,0.7,-1" "OnTrigger" "stickytank_shoot_sound,PlaySound,,0.7,-1" "OnTrigger" "stickytank_mimic,FireOnce,,0.8,-1" "OnTrigger" "stickytank_shoot_sound,PlaySound,,0.8,-1" "OnTrigger" "stickytank_mimic,FireOnce,,0.9,-1" "OnTrigger" "stickytank_shoot_sound,PlaySound,,0.9,-1" "OnTrigger" "stickytank_mimic,FireMultiple,4,1,-1" "OnTrigger" "stickytank_shoot_sound,PlaySound,,1,-1" "OnTrigger" "stickytank_mimic_crit,FireOnce,,1.5,-1" "OnTrigger" "stickytank_shoot_sound_crit,PlaySound,,1.5,-1" "OnTrigger" "stickytank_mimic_crit,FireMultiple,2,2,-1" "OnTrigger" "stickytank_shoot_sound_crit,PlaySound,,2,-1" "OnTrigger" "!self,EnableRefire,,2,-1" "OnTrigger" "stickytank_mimic_crit,FireMultiple,3,2.5,-1" "OnTrigger" "stickytank_shoot_sound_crit,PlaySound,,2.5,-1" "OnTrigger" "stickytank_mimic_crit,FireMultiple,6,3,-1" "OnTrigger" "stickytank_shoot_sound_crit,PlaySound,,3,-1" "OnTrigger" "stickytank_mimic,DetonateStickies,,7,-1" "OnTrigger" "stickytank_mimic_crit,DetonateStickies,,7,-1" } logic_timer { "targetname" "stickytank_timer" "spawnflags" "0" "UpperRandomBound" "10" "LowerRandomBound" "7" "UseRandomTime" "1" "OnTimer" "stickytank_shooter_relay,Trigger,,0,-1" } prop_dynamic { "targetname" "stickytank_model" "model" "models/props_frontline/tank_turret.mdl" "skin" "1" "solid" "0" "spawnflags" "0" "origin" "-16 -66 108" "angles" "-56.5 0 -90" } prop_dynamic { "targetname" "stickytank_model" "model" "models/props_frontline/tank_turret.mdl" "skin" "1" "solid" "0" "spawnflags" "0" "origin" "-12 66 108" "angles" "-58.5 0 90" } tf_point_weapon_mimic { "targetname" "stickytank_mimic" "WeaponType" "3" "TeamNum" "2" "ModelScale" "1" "SpeedMax" "525" "SpeedMin" "525" "Crits" "0" "Damage" "75" "SpreadAngle" "25" "SplashRadius" "125" "FireSound" "weapons/stickybomblauncher_shoot_crit.wav" "origin" "54 -56 216" "angles" "-58.5 359 180" } tf_point_weapon_mimic { "targetname" "stickytank_mimic_crit" "WeaponType" "3" "TeamNum" "2" "ModelScale" "1" "SpeedMax" "525" "SpeedMin" "525" "Crits" "1" "Damage" "75" "SpreadAngle" "25" "SplashRadius" "125" "FireSound" "weapons/stickybomblauncher_shoot_crit.wav" "origin" "54 -56 216" "angles" "-58.5 359 180" } tf_point_weapon_mimic { "targetname" "stickytank_mimic" "WeaponType" "3" "TeamNum" "2" "ModelScale" "1" "SpeedMax" "525" "SpeedMin" "525" "Crits" "0" "Damage" "75" "SpreadAngle" "25" "SplashRadius" "125" "FireSound" "weapons/stickybomblauncher_shoot_crit.wav" "origin" "54 56 214" "angles" "-56.5 359 0" } tf_point_weapon_mimic { "targetname" "stickytank_mimic_crit" "WeaponType" "3" "TeamNum" "2" "ModelScale" "1" "SpeedMax" "525" "SpeedMin" "525" "Crits" "1" "Damage" "75" "SpreadAngle" "25" "SplashRadius" "125" "FireSound" "weapons/stickybomblauncher_shoot_crit.wav" "origin" "54 56 214" "angles" "-56.5 359 0" } ambient_generic { "targetname" "stickytank_shoot_sound" "health" "10" "message" "weapons/stickybomblauncher_shoot.wav" "pitch" "100" "pitchstart" "100" "radius" "5000" "spawnflags" "48" "origin" "64 0 224" } ambient_generic { "targetname" "stickytank_shoot_sound_crit" "health" "10" "message" "weapons/stickybomblauncher_shoot_crit.wav" "pitch" "100" "pitchstart" "100" "radius" "5000" "spawnflags" "48" "origin" "64 0 224" } } 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" } } } SpawnTemplate "corelogic" SpawnTemplate "annotation" SpawnTemplate "hatchunblocker" SpawnTemplate "spawnpoints" SpawnTemplate "blimplogic" SpawnTemplate "barriers" SpawnTemplate { Name "station" "origin" "5351 4238 608" "angles" "0 180 0" } SpawnTemplate { Name "station" "origin" "5219 3271 352" "angles" "0 90 0" } SpawnTemplate { Name "station" "origin" "5652 2862 736" "angles" "0 180 0" } ExtraSpawnPoint { Name "spawnbot_red1a" TeamNum 2 X "3025" Y "4562.5" Z "560" } ExtraSpawnPoint { Name "spawnbot_red1b" TeamNum 2 X "1275" Y "3200" Z "208" } ExtraSpawnPoint { Name "spawnbot_red2a" TeamNum 2 X "1312.5" Y "5175" Z "560" } ExtraSpawnPoint { Name "spawnbot_red2b" TeamNum 2 X "1275" Y "3200" Z "208" } ExtraSpawnPoint { Name "spawnbot_red3a" TeamNum 2 X "-500" Y "4437.5" Z "400" } ExtraSpawnPoint { Name "spawnbot_red3b" TeamNum 2 X "-700" Y "3462.5" Z "272" } ExtraSpawnPoint { Name "spawnbot_redhatchboss" TeamNum 2 X "-550.98" Y "3901.69 1.75" Z "257.03" } ExtraSpawnPoint { Name "spawnbot_stoopid" TeamNum 2 X "-491.63" Y "5138.09" Z "497.95" } ExtraSpawnPoint //fixed spawn { Name "spawnbot_blu3" TeamNum 3 X "5050" Y "4228" Z "678" } ItemBlacklist { Name "Kritz Or Treat Canteen" Name "Default Power Up Canteen (MvM)" Name "Power Up Canteen (MvM)" Name "Battery Canteens" } 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 //WAVE 1 { WaitWhenDone 65 Checkpoint Yes StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } SpawnTemplate "hatchblocker" SentryGun { TeamNum 2 level 3 Health 1000 Position { X -438.81 Y 4049.99 Z 174.03 Pitch 0 Yaw 0 Roll 0 } } SentryGun { TeamNum 2 level 3 Health 1000 Position { X -438.81 Y 3791.49 Z 174.03 Pitch 0 Yaw 0 Roll 0 } } SentryGun { TeamNum 2 level 3 Health 1000 Position { X -638.81 Y 3800.93 Z 174.03 Pitch 0 Yaw 0 Roll 0 } } SentryGun { TeamNum 2 level 3 Health 1000 Position { X -638.81 Y 4050.83 Z 174.03 Pitch 0 Yaw 0 Roll 0 } } SentryGun { TeamNum 2 Bodygroup 1 Skin 2 Ismini 1 Health 150 Position { X 3238.21 Y 3675.67 Z 673.00 Pitch 0 Yaw -90 Roll 0 } } SentryGun { TeamNum 2 Bodygroup 1 Skin 2 Ismini 1 Health 150 Position { X 2990.79 Y 3675.67 Z 673.00 Pitch 0 Yaw -90 Roll 0 } } SentryGun { TeamNum 2 Bodygroup 1 Skin 2 Ismini 1 Health 150 Position { X 2774.76 Y 3675.67 Z 673.00 Pitch 0 Yaw -90 Roll 0 } } SentryGun { TeamNum 2 Bodygroup 1 Skin 2 Ismini 1 Health 150 Position { X 3074.97 Y 3157.42 Z 480.00 Pitch 0 Yaw 90 Roll 0 } } SentryGun { TeamNum 2 Bodygroup 1 Skin 2 Ismini 1 Health 150 Position { X 725.07 Y 4732.67 Z 544.00 Pitch 0 Yaw -90 Roll 0 } } SentryGun { TeamNum 2 Bodygroup 1 Skin 2 Ismini 1 Health 150 Position { X -320.74 Y 4217.05 Z 384.00 Pitch 0 Yaw -90 Roll 0 } } SentryGun { TeamNum 2 Bodygroup 1 Skin 2 Ismini 1 Health 150 Position { X 2067.21 Y 4299.05 Z 485.47 Pitch 0 Yaw 0 Roll 0 } } SentryGun { TeamNum 2 Bodygroup 1 Skin 2 Ismini 1 Health 150 Position { X 2090.16 Y 4666.21 Z 752.49 Pitch 0 Yaw 0 Roll 0 } } SentryGun { TeamNum 2 Bodygroup 1 Skin 2 Ismini 1 Health 150 Position { X 1281.33 Y 3099.93 Z 192.00 Pitch 0 Yaw -90 Roll 0 } } SentryGun { TeamNum 2 Bodygroup 1 Skin 2 Ismini 1 Health 150 Position { X 1274.98 Y 4804.35 Z 704.00 Pitch 0 Yaw 90 Roll 0 } } SentryGun { TeamNum 2 Bodygroup 1 Skin 2 Ismini 1 Health 150 Position { X 939.89 Y 4273.64 Z 385.30 Pitch 0 Yaw -90 Roll 0 } } WaveSpawn { Name "dumbsubwave" Support 1 TFBot { ClassIcon mini_sentry_red_nys } } Explanation { Line "{blue}-----------------------------" 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}-----------------------------" } WaveSpawn { Where spawnbot Where spawnbot_left Where spawnbot_right TotalCurrency 0 TotalCount 9999 MaxActive 3 SpawnCount 1 WaitBeforeStarting 20 WaitBetweenSpawns 10 Support 1 TFBot { ClassIcon blu2_lite Class Scout Skill Expert WeaponRestrictions PrimaryOnly BehaviorModifiers Push Attributes "IgnoreFlag" } } WaveSpawn { Where spawnbot TotalCurrency 0 TotalCount 9999 MaxActive 1 SpawnCount 1 WaitBeforeStarting 3 WaitBetweenSpawns 3 Support 1 TFBot { ClassIcon blu2_lite Template T_TFBot_Heavyweapons_Fist AlwaysGlow 1 VoiceCommand { Delay 1 Cooldown 6 Repeats 99999 IfHealthBelow 300 Type "MEDIC!" } } } WaveSpawn { Name w1a Where spawnbot_red1a TotalCurrency 0 TotalCount 3 MaxActive 1 SpawnCount 1 WaitBeforeStarting 5 WaitBetweenSpawns 3 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 w1a_1 Where spawnbot_red1a Where spawnbot_red1b TotalCurrency 0 TotalCount 50 MaxActive 10 SpawnCount 2 WaitBeforeStarting 2 WaitBetweenSpawns 2 FirstSpawnOutput { Target red1a_on_logic Action Trigger } DoneOutput { Target red1b_off_logic Action Trigger } RandomChoice { TFBot { ClassIcon heavy_shotgun_red Template T_TFBot_Heavyweapons_Shotgun Skill Expert CharacterAttributes { "force distribute currency on death" 1 } Attributes IgnoreFlag Action Mobber AddCond { Index 43 } AddCond { Index 5 Duration 2 } } TFBot { ClassIcon heavy_shotgun_red Class Soldier Name "Soldier Shotgun" Skill Expert WeaponRestrictions SecondaryOnly ItemAttributes { ItemName "tf_weapon_shotgun_soldier" "faster reload rate" 0.1 "fire rate bonus" 2.5 "bullets per shot bonus" 3 "damage bonus" 0.33 } CharacterAttributes { "force distribute currency on death" 1 } Attributes IgnoreFlag Action Mobber AddCond { Index 43 } AddCond { Index 5 Duration 2 } } TFBot { ClassIcon heavy_shotgun_red Class Pyro Name "Pyro Shotgun" Skill Expert WeaponRestrictions SecondaryOnly ItemAttributes { ItemName "tf_weapon_shotgun_pyro" "faster reload rate" 0.1 "fire rate bonus" 2.5 "bullets per shot bonus" 3 "damage bonus" 0.33 } CharacterAttributes { "force distribute currency on death" 1 } Attributes IgnoreFlag Action Mobber AddCond { Index 43 } AddCond { Index 5 Duration 2 } } TFBot { ClassIcon heavy_shotgun_red Class Engineer Name "Engineer Shotgun" Skill Expert WeaponRestrictions PrimaryOnly Action FetchFlag BehaviorModifiers Push ItemAttributes { ItemName "tf_weapon_shotgun_primary" "faster reload rate" 0.1 "fire rate bonus" 2.5 "bullets per shot bonus" 3 "damage bonus" 0.33 } CharacterAttributes { "force distribute currency on death" 1 } Attributes IgnoreFlag Action Mobber AddCond { Index 43 } AddCond { Index 5 Duration 2 } } } } WaveSpawn { WaitBeforeStarting 2 FirstSpawnOutput { Target red1b_on_logic Action Trigger } } WaveSpawn { Name w1a_duo WaitForAllDead w1a_1 FirstSpawnOutput { Target red1a_off_logic Action Trigger } } WaveSpawn { Name w1a_duo WaitForAllDead w1a } WaveSpawn { Name w1b_2 Where spawnbot_red2a TotalCurrency 0 TotalCount 3 MaxActive 1 SpawnCount 1 WaitBeforeStarting 2 WaitBetweenSpawns 2 WaitForAllDead w1a_duo FirstSpawnOutput { Target red2a_on_logic Action Trigger } TFBot { ClassIcon pyro_dragon_fury_swordstone Name "Giant Dragon's Fury Pyro" Template T_TFBot_Giant_Pyro Item "The Dragon's Fury" CharacterAttributes { "force distribute currency on death" 1 "airblast disabled" 1 } Attributes IgnoreFlag Action Mobber AddCond { Index 43 } AddCond { Index 5 Duration 2 } } } WaveSpawn { Name w1b_2 Where spawnbot_red2a TotalCurrency 0 TotalCount 30 MaxActive 6 SpawnCount 3 WaitBeforeStarting 2 WaitBetweenSpawns 3 WaitForAllDead w1a_duo TFBot { Health 300 Name Heavy Class HeavyWeapons Skill Easy CharacterAttributes { "force distribute currency on death" 1 } Attributes IgnoreFlag Action Mobber AddCond { Index 43 } AddCond { Index 5 Duration 2 } } } WaveSpawn { Name w1b Where spawnbot_red2b TotalCurrency 0 TotalCount 24 MaxActive 4 SpawnCount 2 WaitBeforeStarting 4 WaitBetweenSpawns 3 WaitForAllDead w1a_duo FirstSpawnOutput { Target red1b_on_logic Action Trigger } DoneOutput { Target red1b_off_logic Action Trigger } TFBot { Skill Hard Class Demoman CharacterAttributes { "force distribute currency on death" 1 } Attributes IgnoreFlag Action Mobber AddCond { Index 43 } AddCond { Index 5 Duration 2 } } } WaveSpawn { Name w1b_duo WaitForAllSpawned w1b_2 FirstSpawnOutput { Target red1a_off_logic Action Trigger } } WaveSpawn { Name w1b_duo WaitForAllSpawned w1b } WaveSpawn { Name w1c Where spawnbot_red3b TotalCurrency 0 TotalCount 4 MaxActive 2 SpawnCount 2 WaitBeforeStarting 4 WaitBetweenSpawns 4 WaitForAllSpawned w1b_duo DoneWarningSound "alarm2cut.mp3" DoneOutput { Target unblockhatch Action Trigger } TFBot { Template T_TFBot_Giant_Soldier CharacterAttributes { "force distribute currency on death" 1 } Attributes IgnoreFlag Action Mobber AddCond { Index 43 } AddCond { Index 5 Duration 2 } } } WaveSpawn { WaitForAllDead w1b_duo WaitBeforeStarting 4 FirstSpawnOutput { Target red3b_on_logic Action Trigger } } WaveSpawn { Name "InfiniteSupport" Where spawnbot_red3a Where spawnbot_red3b TotalCurrency 0 TotalCount 9999 MaxActive 10 SpawnCount 2 WaitBeforeStarting 4 WaitBetweenSpawns 2 WaitForAllDead w1b_duo FirstSpawnOutput { Target red3a_on_logic Action Trigger } RandomChoice { TFBot { ClassIcon spammer Class Scout Skill Hard WeaponRestrictions PrimaryOnly Attributes IgnoreFlag Action Mobber AddCond { Index 43 } AddCond { Index 5 Duration 2 } } TFBot { ClassIcon spammer Class Soldier Skill Expert WeaponRestrictions PrimaryOnly Attributes IgnoreFlag Action Mobber AddCond { Index 43 } AddCond { Index 5 Duration 2 } } TFBot { ClassIcon spammer Class Pyro Skill Easy WeaponRestrictions PrimaryOnly CharacterAttributes { "airblast disabled" 1 } Action Mobber AddCond { Index 43 } AddCond { Index 5 Duration 2 } } TFBot { ClassIcon spammer Class Demoman Skill Expert WeaponRestrictions PrimaryOnly Attributes IgnoreFlag Action Mobber AddCond { Index 43 } AddCond { Index 5 Duration 2 } } } } WaveSpawn { Name "hsartsipik" Where spawnbot_stoopid TotalCurrency 800 TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 3 WaitBetweenSpawns 999 Support 1 Squad { TFBot { ClassIcon blu2_lite Health 420 Skill Normal Name "Stoopid" Class Scout Scale 0.01 Attributes "IgnoreFlag" Attributes "IgnoreEnemies" Item "tf_weapon_scattergun" Item "tf_weapon_pistol_scout" Item "tf_weapon_bat" CharacterAttributes { "force distribute currency on death" 1 "voice pitch scale" 0.001 "mod weapon blocks healing" 1 "self dmg push force decreased" -99 "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 } Action Mobber AddCond { Index 43 } AddCond { Index 5 Duration 2 } } } } } Wave //WAVE 2 { WaitWhenDone 65 Checkpoint Yes StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } SpawnTemplate "hatchblocker" SentryGun { TeamNum 2 level 3 Health 1250 Position { X -438.81 Y 4049.99 Z 174.03 Pitch 0 Yaw 0 Roll 0 } } SentryGun { TeamNum 2 level 3 Health 1250 Position { X -438.81 Y 3791.49 Z 174.03 Pitch 0 Yaw 0 Roll 0 } } SentryGun { TeamNum 2 level 3 Health 1250 Position { X -638.81 Y 3800.93 Z 174.03 Pitch 0 Yaw 0 Roll 0 } } SentryGun { TeamNum 2 level 3 Health 1250 Position { X -638.81 Y 4050.83 Z 174.03 Pitch 0 Yaw 0 Roll 0 } } WaveSpawn { Where spawnbot TotalCurrency 0 TotalCount 9999 MaxActive 1 SpawnCount 1 WaitBeforeStarting 10 WaitBetweenSpawns 15 Support 1 TFBot { ClassIcon blu2_lite Template T_TFBot_Giant_Soldier BehaviorModifiers Push Attributes "IgnoreFlag" } } WaveSpawn { Where spawnbot TotalCurrency 0 TotalCount 9999 MaxActive 1 SpawnCount 1 WaitBeforeStarting 3 WaitBetweenSpawns 3 Support 1 TFBot { ClassIcon blu2_lite Template T_TFBot_Sniper_Huntsman_Spammer AlwaysGlow 1 VoiceCommand { Delay 1 Cooldown 6 Repeats 99999 IfHealthBelow 350 Type "MEDIC!" } } } WaveSpawn { Name w2a_2 Where spawnbot_red1a TotalCurrency 0 TotalCount 3 MaxActive 1 SpawnCount 1 WaitBeforeStarting 3 WaitBetweenSpawns 2 FirstSpawnOutput { Target red1a_on_logic Action Trigger } 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 w2a Where spawnbot_red1b TotalCurrency 0 TotalCount 30 MaxActive 5 SpawnCount 1 WaitBeforeStarting 1 WaitBetweenSpawns 1 FirstSpawnOutput { Target red1b_on_logic Action Trigger } DoneOutput { Target red1b_off_logic Action Trigger } TFBot { ClassIcon scout_pop Health 125 Skill Normal Name "Soda Popper Scout" Class Scout WeaponRestrictions PrimaryOnly Item "the soda popper" Attributes IgnoreFlag CharacterAttributes { "force distribute currency on death" 1 } Action Mobber AddCond { Index 43 } AddCond { Index 5 Duration 2 } } } WaveSpawn { Name w2a_2 Where spawnbot_red1a TotalCurrency 0 TotalCount 36 MaxActive 6 SpawnCount 2 WaitBeforeStarting 3 WaitBetweenSpawns 2 TFBot { ClassIcon heavy_champ_red Template T_TFBot_Heavyweapons_Heavyweight_Champ Skill Normal Attributes IgnoreFlag CharacterAttributes { "force distribute currency on death" 1 } Action Mobber AddCond { Index 43 } AddCond { Index 5 Duration 2 } } } WaveSpawn { Name w2a_duo WaitForAllDead w2a_2 FirstSpawnOutput { Target red1a_off_logic Action Trigger } } WaveSpawn { Name w2a_duo WaitForAllDead w2a } WaveSpawn { Name w2b Where spawnbot_red2b TotalCurrency 0 TotalCount 4 MaxActive 2 SpawnCount 2 WaitBeforeStarting 7 WaitBetweenSpawns 7 WaitForAllDead w2a_duo TFBot { ClassIcon demo_loosecannon Health 3300 Name "Giant Loose Cannon Demoman" Class Demoman Skill Expert Item "the loose cannon" Attributes MiniBoss ItemAttributes { ItemName "The Loose Cannon" "reload time decreased" 0.8 "grenade launcher mortar mode" 0 } CharacterAttributes { "force distribute currency on death" 1 "move speed bonus" 0.5 "damage force reduction" 0.4 "airblast vulnerability multiplier" 0.4 "override footstep sound set" 4 } Action Mobber AddCond { Index 43 } AddCond { Index 5 Duration 2 } } } WaveSpawn { Name w2b Where spawnbot_red2b TotalCurrency 0 TotalCount 30 MaxActive 6 SpawnCount 3 WaitBeforeStarting 2 WaitBetweenSpawns 2 WaitForAllDead w2a_duo FirstSpawnOutput { Target red1b_on_logic Action Trigger } TFBot { Class Pyro Skill Hard WeaponRestrictions PrimaryOnly Attributes IgnoreFlag CharacterAttributes { "force distribute currency on death" 1 } Action Mobber AddCond { Index 43 } AddCond { Index 5 Duration 2 } } } WaveSpawn { WaitForAllSpawned w2b FirstSpawnOutput { Target red1b_off_logic Action Trigger } } WaveSpawn { Name w2c TotalCurrency 0 TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 10 WaitBetweenSpawns 2 WaitForAllSpawned w2b FirstSpawnOutput { Target red_tank_relay Action Trigger } Tank { Health 25000 Name "tankbossred" ClassIcon tank_red_lite Model "models/bots/boss_bot/boss_tankred.mdl" StartingPathTrackNode "redtank_path_1" MaxTurnRate 50 OnKilledOutput { Target boss_dead_relay Action Trigger } OnBombDroppedOutput { Target redwin_relay Action Trigger } } } WaveSpawn { Name w2c Where spawnbot_red3a TotalCurrency 0 TotalCount 3 MaxActive 1 SpawnCount 1 WaitBeforeStarting 3 WaitBetweenSpawns 2 WaitForAllDead w2b FirstSpawnOutput { Target red3a_on_logic Action Trigger } TFBot { WeaponRestrictions PrimaryOnly Class Pyro Name "Giant Pyro" ClassIcon pyro_giant Skill Expert Health 3000 Attributes AlwaysFireWeapon Attributes AlwaysCrit Attributes MiniBoss Item "tf_weapon_flamethrower" ItemAttributes { ItemName "tf_weapon_flamethrower" "airblast disabled" 1 } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.6 "airblast vulnerability multiplier" 0.6 "override footstep sound set" 6 } Attributes IgnoreFlag Action Mobber AddCond { Index 43 } AddCond { Index 5 Duration 2 } } } WaveSpawn { Name w2c_barrier_disabled WaitForAllDead w2c FirstSpawnOutput { Target unblockhatch Action Trigger } } WaveSpawn { Name "InfiniteSupport" Where spawnbot_red3a Where spawnbot_red3b TotalCurrency 0 TotalCount 9999 MaxActive 9 SpawnCount 1 WaitBeforeStarting 5 WaitBetweenSpawns 1 WaitForAllDead w2b FirstSpawnOutput { Target red3b_on_logic Action Trigger } RandomChoice { TFBot { ClassIcon spammer Template T_TFBot_Sniper_Jarate_Andrew Attributes IgnoreFlag Action Mobber AddCond { Index 43 } AddCond { Index 5 Duration 2 } } TFBot { ClassIcon spammer Template T_TFBot_Demoman_Sticky_Andrew Attributes IgnoreFlag Action Mobber AddCond { Index 43 } AddCond { Index 5 Duration 2 } } TFBot { ClassIcon spammer Template T_TFBot_Pyro_Gas_Passer_Andrew Skill Normal CharacterAttributes { "airblast disabled" 1 } Action Mobber AddCond { Index 43 } AddCond { Index 5 Duration 2 } } TFBot { ClassIcon spammer Template T_TFBot_Scout_Cola Skill Normal Attributes IgnoreFlag Action Mobber AddCond { Index 43 } AddCond { Index 5 Duration 2 } } } } WaveSpawn { Name "redsentrybuster" Where spawnbot_red3a 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 { "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 "hsartsipik" Where spawnbot_stoopid TotalCurrency 700 TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 3 WaitBetweenSpawns 999 Support 1 Squad { TFBot { ClassIcon blu2_lite Health 420 Skill Normal Name "Stoopid" Class Scout Scale 0.01 Attributes "IgnoreFlag" Attributes "IgnoreEnemies" Item "tf_weapon_scattergun" Item "tf_weapon_pistol_scout" Item "tf_weapon_bat" CharacterAttributes { "force distribute currency on death" 1 "voice pitch scale" 0.001 "mod weapon blocks healing" 1 "self dmg push force decreased" -99 "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 } Action Mobber AddCond { Index 43 } AddCond { Index 5 Duration 2 } } } } } Wave //WAVE 3 { WaitWhenDone 65 Checkpoint Yes StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } SpawnTemplate "hatchblocker" SentryGun { TeamNum 2 level 3 Health 1750 Position { X -438.81 Y 4049.99 Z 174.03 Pitch 0 Yaw 0 Roll 0 } } SentryGun { TeamNum 2 level 3 Health 1750 Position { X -438.81 Y 3791.49 Z 174.03 Pitch 0 Yaw 0 Roll 0 } } SentryGun { TeamNum 2 level 3 Health 1750 Position { X -638.81 Y 3800.93 Z 174.03 Pitch 0 Yaw 0 Roll 0 } } SentryGun { TeamNum 2 level 3 Health 1750 Position { X -638.81 Y 4050.83 Z 174.03 Pitch 0 Yaw 0 Roll 0 } } SentryGun { TeamNum 2 level 1 Health 250 Position { X 3238.21 Y 3675.67 Z 673.00 Pitch 0 Yaw -90 Roll 0 } } SentryGun { TeamNum 2 level 1 Health 250 Position { X 2990.79 Y 3675.67 Z 673.00 Pitch 0 Yaw -90 Roll 0 } } SentryGun { TeamNum 2 level 1 Health 250 Position { X 2774.76 Y 3675.67 Z 673.00 Pitch 0 Yaw -90 Roll 0 } } SentryGun { TeamNum 2 level 1 Health 250 Position { X 3074.97 Y 3157.42 Z 480.00 Pitch 0 Yaw 90 Roll 0 } } SentryGun { TeamNum 2 level 1 Health 250 Position { X 725.07 Y 4732.67 Z 544.00 Pitch 0 Yaw -90 Roll 0 } } SentryGun { TeamNum 2 level 1 Health 250 Position { X -320.74 Y 4217.05 Z 384.00 Pitch 0 Yaw -90 Roll 0 } } SentryGun { TeamNum 2 level 1 Health 250 Position { X 2067.21 Y 4299.05 Z 485.47 Pitch 0 Yaw 0 Roll 0 } } SentryGun { TeamNum 2 level 1 Health 250 Position { X 2090.16 Y 4666.21 Z 752.49 Pitch 0 Yaw 0 Roll 0 } } SentryGun { TeamNum 2 level 1 Health 250 Position { X 1918.08 Y 3141.67 Z 192.00 Pitch 0 Yaw -90 Roll 0 } } SentryGun { TeamNum 2 level 1 Health 250 Position { X 1274.98 Y 4804.35 Z 704.00 Pitch 0 Yaw 90 Roll 0 } } SentryGun { TeamNum 2 level 1 Health 250 Position { X 939.89 Y 4273.64 Z 385.30 Pitch 0 Yaw -90 Roll 0 } } WaveSpawn { Name Icons Support 1 TFBot { ClassIcon sentry_gun_red_nys } } WaveSpawn { Name w3a_1 TotalCurrency 0 TotalCount 2 MaxActive 1 SpawnCount 1 Where spawnbot_red1a WaitBeforeStarting 8 WaitBetweenSpawns 6 TFBot { ClassIcon heavy_warrior_red Name "Giant Warrior Spirit Heavy" WeaponRestrictions MeleeOnly Class Heavyweapons Skill Expert Health 6000 Attributes MiniBoss Item "warrior's spirit" Item "big chief" ItemAttributes { ItemName "warrior's spirit" "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 } } } WaveSpawn { Name w3a_1 TotalCurrency 0 TotalCount 36 MaxActive 6 SpawnCount 3 Where spawnbot_red1a WaitBeforeStarting 2 WaitBetweenSpawns 2 FirstSpawnOutput { Target red1a_on_logic Action Trigger } TFBot { ClassIcon spy_revolver_lite Health 125 Name "Gun Spy" Class Spy Skill Expert WeaponRestrictions PrimaryOnly Action FetchFlag BehaviorModifiers Push CharacterAttributes { "force distribute currency on death" 1 "cannot disguise" 1 } Attributes IgnoreFlag Action Mobber AddCond { Index 43 } AddCond { Index 5 Duration 2 } } } WaveSpawn { Name w3a TotalCurrency 0 TotalCount 28 MaxActive 7 SpawnCount 1 Where spawnbot_red1b WaitBeforeStarting 3 WaitBetweenSpawns 1 FirstSpawnOutput { Target red1b_on_logic Action Trigger } DoneOutput { Target red1b_off_logic Action Trigger } TFBot { ClassIcon scout_bat_nys Health 125 Name "Bat Scout" Class Scout Skill Expert WeaponRestrictions MeleeOnly Attributes "AlwaysCrit" CharacterAttributes { "force distribute currency on death" 1 } Attributes IgnoreFlag Action Mobber AddCond { Index 43 } AddCond { Index 5 Duration 2 } } } WaveSpawn { Name w3a_duo WaitForAllDead w3a_1 FirstSpawnOutput { Target red1a_off_logic Action Trigger } } WaveSpawn { Name w3a_duo WaitForAllDead w3a } WaveSpawn { Name w3b_1 WaitForAllDead w3a_duo TotalCurrency 0 TotalCount 3 MaxActive 1 SpawnCount 1 Where spawnbot_red2a WaitBeforeStarting 3 WaitBetweenSpawns 3 TFBot { Template T_TFBot_Giant_Soldier CharacterAttributes { "force distribute currency on death" 1 } Attributes IgnoreFlag Action Mobber AddCond { Index 43 } AddCond { Index 5 Duration 2 } } } WaveSpawn { Name w3b WaitForAllDead w3a_duo TotalCurrency 0 TotalCount 5 MaxActive 1 SpawnCount 1 Where spawnbot_red2b WaitBeforeStarting 0 WaitBetweenSpawns 2 FirstSpawnOutput { Target red1b_on_logic Action Trigger } TFBot { Template T_TFBot_Giant_Scout_Baseball CharacterAttributes { "force distribute currency on death" 1 } Attributes IgnoreFlag Action Mobber AddCond { Index 43 } AddCond { Index 5 Duration 2 } } } WaveSpawn { Name w3b_1 WaitForAllDead w3a_duo TotalCurrency 0 TotalCount 32 MaxActive 6 SpawnCount 2 Where spawnbot_red2a Where spawnbot_red2b WaitBeforeStarting 2 WaitBetweenSpawns 2 FirstSpawnOutput { Target red2a_on_logic Action Trigger } TFBot { ClassIcon pyro_scorch Skill Hard Template T_TFBot_ScorchShot CharacterAttributes { "force distribute currency on death" 1 } Attributes IgnoreFlag Action Mobber AddCond { Index 43 } AddCond { Index 5 Duration 2 } } } WaveSpawn { Name w3b_duo WaitForAllDead w3b_1 FirstSpawnOutput { Target red2a_off_logic Action Trigger } } WaveSpawn { Name w3b_duo WaitForAllDead w3b_1 FirstSpawnOutput { Target red1b_off_logic Action Trigger } } WaveSpawn { Name w3b_duo WaitForAllDead w3b } WaveSpawn { Name w3c TotalCurrency 0 TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 3 WaitForAllDead w3b LastSpawnOutput { Target red_blimp_relay Action Trigger } Tank { Health 4500 Name "blimpbossred" Scale .5 Speed 110 DisableSmokestack 1 Classicon blimp2_red_lite Skin 6 MaxTurnRate 50 IsMiniBoss 0 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 "player/taunt_bumper_car_horn.wav" StartingPathTrackNode "blimp_red_1" OnKilledOutput { Target boss_dead_relay Action Trigger } OnBombDroppedOutput { Target redwin_relay Action Trigger } } } WaveSpawn { Name w3c TotalCurrency 0 TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 5 WaitForAllDead w3b LastSpawnOutput { Target red_blimp_relay Action Trigger } Tank { Health 4500 Name "blimpbossred" Scale .5 Speed 110 DisableSmokestack 1 IsMiniBoss 0 Classicon blimp2_red_lite Skin 6 MaxTurnRate 75 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 "player/taunt_bumper_car_horn.wav" StartingPathTrackNode "blimp_red2_1" OnKilledOutput { Target boss_dead_relay Action Trigger } OnBombDroppedOutput { Target redwin_relay Action Trigger } } } WaveSpawn { Name w3c TotalCurrency 0 TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 7 WaitForAllDead w3b LastSpawnOutput { Target red_blimp_relay Action Trigger } Tank { Health 4500 Name "blimpbossred" Scale .5 Speed 110 IsMiniBoss 0 DisableSmokestack 1 Classicon blimp2_red_lite Skin 6 MaxTurnRate 50 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 "player/taunt_bumper_car_horn.wav" StartingPathTrackNode "blimp_red3_1" OnKilledOutput { Target boss_dead_relay Action Trigger } OnBombDroppedOutput { Target redwin_relay Action Trigger } } } WaveSpawn { Name w3c WaitForAllDead w3b_duo TotalCurrency 0 TotalCount 4 MaxActive 2 SpawnCount 2 Where spawnbot_red3b WaitBeforeStarting 10 WaitBetweenSpawns 10 DoneWarningSound "alarm2cut.mp3" FirstSpawnOutput { Target red3b_on_logic Action Trigger } DoneOutput { Target unblockhatch Action Trigger } Squad { TFBot { ClassIcon sniper_bow_multi WeaponRestrictions PrimaryOnly Scale 1.75 Health 3300 Skill Expert Name "Giant Multishot Bowman" Class Sniper Attributes "MiniBoss" UseCustomModel "models/bots/sniper_boss/bot_sniper_boss.mdl" Item "The Fortified Compound" Item "The Razorback" Item "larrikin robin" ItemAttributes { ItemName "The Fortified Compound" "arrow mastery" 3 } ItemAttributes { ItemName "The Razorback" "item_meter_charge_rate" 3 } CharacterAttributes { "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 } } TFBot { Template T_TFBot_Giant_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 { WaitForAllDead w3c FirstSpawnOutput { Target red3b_off_logic Action Trigger } } WaveSpawn { Name w3c_support WaitForAllDead w3b_duo TotalCurrency 0 TotalCount 9999 MaxActive 6 SpawnCount 2 Where spawnbot_red3a WaitBeforeStarting 6 WaitBetweenSpawns 2 FirstSpawnOutput { Target red3a_on_logic Action Trigger } RandomChoice { TFBot { ClassIcon spammer Template T_TFBot_Heavy_Deflector Attributes IgnoreFlag Action Mobber AddCond { Index 43 } AddCond { Index 5 Duration 2 } } TFBot { ClassIcon spammer Template T_TFBot_Soldier_RocketShotgun Attributes IgnoreFlag Action Mobber AddCond { Index 43 } AddCond { Index 5 Duration 2 } } TFBot { ClassIcon spammer Health 125 Name "Fast Scout" Class Scout Skill Normal WeaponRestrictions PrimaryOnly Attributes "AlwaysCrit" Item "bonk boy" CharacterAttributes { "move speed bonus" 2 } Attributes IgnoreFlag Action Mobber AddCond { Index 43 } AddCond { Index 5 Duration 2 } } TFBot { ClassIcon spammer Health 175 Name Demoman Class Demoman Skill Expert WeaponRestrictions MeleeOnly Attributes "AlwaysCrit" Item "the chargin' targe" Item "Gold Frying Pan" Item "prince tavish's crown" Item "ttg glasses" Item "Gold Frying Pan" ItemAttributes { ItemName "Gold Frying Pan" "item style override" 0 } Attributes IgnoreFlag Action Mobber AddCond { Index 43 } AddCond { Index 5 Duration 2 } } } } WaveSpawn { Name support TotalCurrency 0 TotalCount 9999 MaxActive 2 SpawnCount 2 Where spawnbot_left Where spawnbot_right WaitBeforeStarting 10 WaitBetweenSpawns 10 Support 1 Squad { TFBot { ClassIcon blu2_lite Health 200 Skill Normal Name "Homing Soldier" Class Soldier BehaviorModifiers Push Attributes "IgnoreFlag" Item "warbird_rocketlauncher_warhawk" Item "point and shoot" ItemAttributes { ItemName "warbird_rocketlauncher_warhawk" "set_item_texture_wear" 0.2 "mini rockets" 1 } RocketCustomParticle eyeboss_projectile HomingRockets { IgnoreDisguisedSpies 1 IgnoreStealthedSpies 1 RocketSpeed 0.5 TurnPower 200 MaxAimError 100 } AddCond { Index 36 Delay 1 } } TFBot { ClassIcon blu2_lite Health 200 Skill Normal Name "Homing Soldier" Class Soldier BehaviorModifiers Push Attributes "IgnoreFlag" Item "warbird_rocketlauncher_warhawk" Item "point and shoot" ItemAttributes { ItemName "warbird_rocketlauncher_warhawk" "set_item_texture_wear" 0.2 "mini rockets" 1 } RocketCustomParticle eyeboss_projectile HomingRockets { IgnoreDisguisedSpies 1 IgnoreStealthedSpies 1 RocketSpeed 0.5 TurnPower 200 MaxAimError 100 } AddCond { Index 36 Delay 1 } } } } WaveSpawn { Name "hsartsipik" Where spawnbot_stoopid TotalCurrency 900 TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 3 WaitBetweenSpawns 999 Support 1 Squad { TFBot { ClassIcon blu2_lite Health 420 Skill Normal Name "Stoopid" Class Scout Scale 0.01 Attributes "IgnoreFlag" Attributes "IgnoreEnemies" Item "tf_weapon_scattergun" Item "tf_weapon_pistol_scout" Item "tf_weapon_bat" CharacterAttributes { "force distribute currency on death" 1 "voice pitch scale" 0.001 "mod weapon blocks healing" 1 "self dmg push force decreased" -99 "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 } Action Mobber AddCond { Index 43 } AddCond { Index 5 Duration 2 } } } } WaveSpawn { Name bombcarrier TotalCurrency 0 TotalCount 9999 MaxActive 1 SpawnCount 1 Where spawnbot WaitBeforeStarting 10 WaitBetweenSpawns 10 Support 1 TFBot { ClassIcon blu2_lite Health 850 Name "Powerjack Pyro" Scale 1.4 Class Pyro Skill Expert WeaponRestrictions MeleeOnly Item "the powerjack" Item "the centurion" Item "the steel sixpack" AlwaysGlow 1 VoiceCommand { Delay 1 Cooldown 6 Repeats 99999 IfHealthBelow 250 Type "MEDIC!" } } } } Wave //WAVE 4 { WaitWhenDone 65 Checkpoint Yes StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } SpawnTemplate "hatchblocker" SentryGun { TeamNum 2 level 3 Health 2000 Position { X -438.81 Y 4049.99 Z 174.03 Pitch 0 Yaw 0 Roll 0 } } SentryGun { TeamNum 2 level 3 Health 2000 Position { X -438.81 Y 3791.49 Z 174.03 Pitch 0 Yaw 0 Roll 0 } } SentryGun { TeamNum 2 level 3 Health 2000 Position { X -638.81 Y 3800.93 Z 174.03 Pitch 0 Yaw 0 Roll 0 } } SentryGun { TeamNum 2 level 3 Health 2000 Position { X -638.81 Y 4050.83 Z 174.03 Pitch 0 Yaw 0 Roll 0 } } WaveSpawn { Name w4a TotalCurrency 0 TotalCount 4 MaxActive 2 SpawnCount 2 Where spawnbot_red1a WaitBeforeStarting 0 WaitBetweenSpawns 0 FirstSpawnOutput { Target red1a_on_logic Action Trigger } Squad { TFBot { Template T_TFBot_Giant_Soldier_Extended_Buff_Banner CharacterAttributes { "force distribute currency on death" 1 } Attributes IgnoreFlag Action Mobber AddCond { Index 43 } AddCond { Index 5 Duration 2 } } TFBot { Template T_TFBot_Giant_Pyro Attributes "AlwaysFireWeapon" CharacterAttributes { "force distribute currency on death" 1 } Attributes IgnoreFlag Action Mobber AddCond { Index 43 } AddCond { Index 5 Duration 2 } } } } WaveSpawn { Name w4a TotalCurrency 0 TotalCount 30 MaxActive 6 SpawnCount 1 Where spawnbot_red1a WaitBeforeStarting 2 WaitBetweenSpawns 1 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 w4a TotalCurrency 0 TotalCount 30 MaxActive 6 SpawnCount 2 Where spawnbot_red1b WaitBeforeStarting 4 WaitBetweenSpawns 2 FirstSpawnOutput { Target red1b_on_logic Action Trigger } TFBot { ClassIcon soldier_mangler Health 200 Name "Cow Mangler Soldier" Class Soldier Skill Expert WeaponRestrictions PrimaryOnly Item "the cow mangler 5000" Item "defiant spartan" CharacterAttributes { "force distribute currency on death" 1 } Attributes IgnoreFlag Action Mobber AddCond { Index 43 } AddCond { Index 5 Duration 2 } } } WaveSpawn { Name w4a_duo WaitForAllDead w4a FirstSpawnOutput { Target red1a_off_logic Action Trigger } } WaveSpawn { Name w4a_duo WaitForAllDead w4a } WaveSpawn { Name w4b WaitForAllDead w4a TotalCurrency 0 TotalCount 4 MaxActive 2 SpawnCount 2 Where spawnbot_red1b WaitBeforeStarting 8 WaitBetweenSpawns 7 Squad { TFBot { ClassIcon pyro_reflect_daan Template T_TFBot_Giant_Pyro_Pusher 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 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 w4b WaitForAllDead w4a TotalCurrency 0 TotalCount 42 MaxActive 8 SpawnCount 4 Where spawnbot_red1b WaitBeforeStarting 2 WaitBetweenSpawns 2 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 w4b_duo WaitForAllDead w4b FirstSpawnOutput { Target red1b_off_logic Action Trigger } } WaveSpawn { Name w4b_duo WaitForAllDead w4b } WaveSpawn { Name w4c WaitForAllDead w4b TotalCurrency 0 TotalCount 4 MaxActive 2 SpawnCount 2 Where spawnbot_red3a WaitBeforeStarting 5 WaitBetweenSpawns 2 TFBot { Template T_TFBot_Giant_Soldier_Extended_Battalion Attributes AlwaysCrit CharacterAttributes { "force distribute currency on death" 1 } Attributes IgnoreFlag Action Mobber AddCond { Index 43 } AddCond { Index 5 Duration 2 } } } WaveSpawn { Name w4c WaitForAllDead w4b TotalCurrency 0 TotalCount 16 MaxActive 4 SpawnCount 1 Where spawnbot_red3a WaitBeforeStarting 3 WaitBetweenSpawns 1 FirstSpawnOutput { Target red3a_on_logic Action Trigger } 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 w4c WaitForAllDead w4b TotalCurrency 0 TotalCount 27 MaxActive 9 SpawnCount 1 Where spawnbot_red3b WaitBeforeStarting 3 WaitBetweenSpawns 1 FirstSpawnOutput { Target red3b_on_logic Action Trigger } TFBot { Template T_TFBot_Scout_Bonk CharacterAttributes { "force distribute currency on death" 1 } Attributes IgnoreFlag Action Mobber AddCond { Index 43 } AddCond { Index 5 Duration 2 } } } WaveSpawn { Name w4c_barrier_remover WaitForAllDead w4c DoneWarningSound "alarm2cut.mp3" FirstSpawnOutput { Target unblockhatch Action Trigger } } WaveSpawn { Name w4c_barrier_remover WaitForAllDead w4c } WaveSpawn { Name w4d WaitForAllDead w4c TotalCurrency 0 TotalCount 9999 MaxActive 1 SpawnCount 1 Where spawnbot_red3a WaitBeforeStarting 8 WaitBetweenSpawns 8 RandomChoice { TFBot { ClassIcon Spammer Template T_TFBot_Red_Giant_Demo_RapidFire 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 } } } } WaveSpawn { Name w4d WaitForAllDead w4c TotalCurrency 0 TotalCount 9999 MaxActive 6 SpawnCount 2 Where spawnbot_red3a Where spawnbot_red3b WaitBeforeStarting 5 WaitBetweenSpawns 3 RandomChoice { TFBot { ClassIcon spammer Health 200 Name Soldier Class Soldier Skill Hard Attributes "AlwaysCrit" Attributes "IgnoreFlag" Action Mobber AddCond { Index 43 } AddCond { Index 5 Duration 2 } } TFBot { ClassIcon spammer Health 125 Name "Carbine Sniper" Class Sniper Skill Hard WeaponRestrictions SecondaryOnly Attributes "AlwaysCrit" Item "the cleaner's carbine" Attributes "IgnoreFlag" Action Mobber AddCond { Index 43 } AddCond { Index 5 Duration 2 } } TFBot { ClassIcon spammer Template T_TFBot_Scout_FAN Attributes "AlwaysCrit" Attributes "IgnoreFlag" Action Mobber AddCond { Index 43 } AddCond { Index 5 Duration 2 } } } } WaveSpawn { Name bombcarrier TotalCurrency 0 TotalCount 9999 MaxActive 1 SpawnCount 1 Where spawnbot WaitBeforeStarting 10 WaitBetweenSpawns 10 Support 1 TFBot { ClassIcon blu2_lite Template T_TFBot_Giant_Soldier AlwaysGlow 1 VoiceCommand { Delay 1 Cooldown 6 Repeats 99999 IfHealthBelow 500 Type "MEDIC!" } } } WaveSpawn { Name "hsartsipik" Where spawnbot_stoopid TotalCurrency 1000 TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 3 WaitBetweenSpawns 999 Support 1 Squad { TFBot { ClassIcon blu2_lite Health 420 Skill Normal Name "Stoopid" Class Scout Scale 0.01 Attributes "IgnoreFlag" Attributes "IgnoreEnemies" Item "tf_weapon_scattergun" Item "tf_weapon_pistol_scout" Item "tf_weapon_bat" CharacterAttributes { "force distribute currency on death" 1 "voice pitch scale" 0.001 "mod weapon blocks healing" 1 "self dmg push force decreased" -99 "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 } } } } } Wave //WAVE 5 { WaitWhenDone 65 Checkpoint Yes StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } SpawnTemplate "hatchblocker" SentryGun { TeamNum 2 level 3 Health 2000 Position { X -438.81 Y 4049.99 Z 174.03 Pitch 0 Yaw 0 Roll 0 } } SentryGun { TeamNum 2 level 3 Health 2000 Position { X -438.81 Y 3791.49 Z 174.03 Pitch 0 Yaw 0 Roll 0 } } SentryGun { TeamNum 2 level 3 Health 2000 Position { X -638.81 Y 3800.93 Z 174.03 Pitch 0 Yaw 0 Roll 0 } } SentryGun { TeamNum 2 level 3 Health 2000 Position { X -638.81 Y 4050.83 Z 174.03 Pitch 0 Yaw 0 Roll 0 } } SentryGun { TeamNum 2 level 2 Health 500 Position { X 3238.21 Y 3675.67 Z 673.00 Pitch 0 Yaw -90 Roll 0 } } SentryGun { TeamNum 2 level 2 Health 500 Position { X 2990.79 Y 3675.67 Z 673.00 Pitch 0 Yaw -90 Roll 0 } } SentryGun { TeamNum 2 level 2 Health 500 Position { X 2774.76 Y 3675.67 Z 673.00 Pitch 0 Yaw -90 Roll 0 } } SentryGun { TeamNum 2 level 2 Health 500 Position { X 3074.97 Y 3157.42 Z 480.00 Pitch 0 Yaw 90 Roll 0 } } SentryGun { TeamNum 2 level 2 Health 500 Position { X 725.07 Y 4732.67 Z 544.00 Pitch 0 Yaw -90 Roll 0 } } SentryGun { TeamNum 2 level 2 Health 500 Position { X -320.74 Y 4217.05 Z 384.00 Pitch 0 Yaw -90 Roll 0 } } SentryGun { TeamNum 2 level 2 Health 500 Position { X 2067.21 Y 4299.05 Z 485.47 Pitch 0 Yaw 0 Roll 0 } } SentryGun { TeamNum 2 level 2 Health 500 Position { X 2090.16 Y 4666.21 Z 752.49 Pitch 0 Yaw 0 Roll 0 } } SentryGun { TeamNum 2 level 2 Health 500 Position { X 1918.08 Y 3141.67 Z 192.00 Pitch 0 Yaw -90 Roll 0 } } SentryGun { TeamNum 2 level 2 Health 500 Position { X 1274.98 Y 4804.35 Z 704.00 Pitch 0 Yaw 90 Roll 0 } } SentryGun { TeamNum 2 level 2 Health 500 Position { X 939.89 Y 4273.64 Z 385.30 Pitch 0 Yaw -90 Roll 0 } } WaveSpawn { Name Icons Support 1 TFBot { ClassIcon sentry_gun_lvl2_red_lite } } WaveSpawn { Name w5a TotalCurrency 0 TotalCount 2 MaxActive 2 SpawnCount 2 Where spawnbot_red1a WaitBeforeStarting 5 WaitBetweenSpawns 0 FirstSpawnOutput { Target red1a_on_logic Action Trigger } Squad { TFBot { ClassIcon demo_burst_red Template T_TFBot_Giant_Demo_Burst Attributes "AlwaysCrit" 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 } } TFBot { Template T_TFBot_Giant_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 w5a2 TotalCurrency 0 TotalCount 2 MaxActive 2 SpawnCount 2 Where spawnbot_red1a WaitBeforeStarting 4 WaitBetweenSpawns 0 WaitForAllDead w5a Squad { TFBot { Template T_TFBot_Soldier_BurstFire 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 w5b TotalCurrency 0 TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 10 WaitBetweenSpawns 2 WaitForAllSpawned w5a2 FirstSpawnOutput { Target red_tank_relay Action Trigger } Tank { Health 30000 Name "tankbossred" ClassIcon tank_red_lite Model "models/bots/boss_bot/boss_tankred.mdl" StartingPathTrackNode "redtank_path_1" MaxTurnRate 50 OnKilledOutput { Target boss_dead_relay Action Trigger } OnBombDroppedOutput { Target redwin_relay Action Trigger } } } WaveSpawn { Name w5b TotalCurrency 0 TotalCount 6 MaxActive 3 SpawnCount 3 Where spawnbot_red1b WaitBeforeStarting 3 WaitBetweenSpawns 3 WaitForAllDead w5a2 FirstSpawnOutput { Target red1b_on_logic Action Trigger } TFBot { ClassIcon sniper_bushwacka WeaponRestrictions MeleeOnly Health 3300 Skill Expert Name "Giant Bushwacka Sniper" Class Sniper Attributes "MiniBoss" UseCustomModel "models/bots/sniper_boss/bot_sniper_boss.mdl" Item "The Razorback" Item "the bushwacka" Item "ol' snaggletooth" CharacterAttributes { "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.75 } Attributes IgnoreFlag Action Mobber AddCond { Index 43 } AddCond { Index 5 Duration 2 } } } WaveSpawn { Name w5b TotalCurrency 0 TotalCount 42 MaxActive 8 SpawnCount 4 Where spawnbot_red1a WaitBeforeStarting 5 WaitBetweenSpawns 3 WaitForAllDead w5a2 DoneOutput { Target red1a_off_logic Action Trigger } TFBot { ClassIcon sniper_sydneysleeper WeaponRestrictions PrimaryOnly Health 125 Skill Hard Name "Sydney Sleeper Sniper" Class Sniper Attributes "AlwaysFireWeapon" Item "The Razorback" Item "the sydney sleeper" Item "master's yellow belt" ItemAttributes { ItemName "the sydney sleeper" "reload time increased" 1.25 "lunchbox adds minicrits" 3 } CharacterAttributes { "force distribute currency on death" 1 } DamageAppliesCond { Index 24 Duration 5 } Attributes IgnoreFlag Action Mobber AddCond { Index 43 } AddCond { Index 5 Duration 2 } } } WaveSpawn { Name w5c TotalCurrency 0 TotalCount 9 MaxActive 3 SpawnCount 3 Where spawnbot_red2a WaitBeforeStarting 4 WaitBetweenSpawns 4 WaitForAllDead w5b FirstSpawnOutput { Target red2a_on_logic Action Trigger } Squad { TFBot { ClassIcon heavy_deflector_healonkill Name "Giant Hok Deflector Heavy" Template T_TFBot_Giant_Heavyweapons_Deflector Attributes "UseBossHealthBar" Item "tough guy's toque" CharacterAttributes { "heal on kill" 5000 "force distribute currency on death" 1 } Attributes IgnoreFlag Action Mobber AddCond { Index 43 } AddCond { Index 5 Duration 2 } } TFBot { Template T_TFBot_Medic_QuickUber 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_QuickUber 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 w5c TotalCurrency 0 TotalCount 30 MaxActive 6 SpawnCount 2 Where spawnbot_red1b WaitBeforeStarting 0 WaitBetweenSpawns 2 WaitForAllDead w5b DoneOutput { Target red1b_off_logic Action Trigger } TFBot { Health 200 Skill Hard Name Soldier Class Soldier UseBestWeapon 1 Skill Hard CharacterAttributes { "force distribute currency on death" 1 } Attributes IgnoreFlag Action Mobber AddCond { Index 43 } AddCond { Index 5 Duration 2 } } } WaveSpawn { Name w5c TotalCurrency 0 TotalCount 30 MaxActive 6 SpawnCount 2 Where spawnbot_red2a WaitBeforeStarting 3 WaitBetweenSpawns 2 WaitForAllDead w5b TFBot { Name "Heavy" Class Heavy Skill Hard CharacterAttributes { "force distribute currency on death" 1 } Attributes IgnoreFlag Action Mobber AddCond { Index 43 } AddCond { Index 5 Duration 2 } } } WaveSpawn { Name w5c TotalCurrency 0 TotalCount 12 MaxActive 3 SpawnCount 3 Where spawnbot_red3a WaitBeforeStarting 0 WaitBetweenSpawns 0 WaitForAllDead w5b FirstSpawnOutput { Target red3a_on_logic Action Trigger } TFBot { ClassIcon scout_fast WeaponRestrictions MeleeOnly Scale 1.4 Health 650 Skill Easy Name "Fast Scout" Class Scout Attributes "AlwaysCrit" Item "the holy mackerel" Item "bonk boy" CharacterAttributes { "move speed bonus" 2 "force distribute currency on death" 1 } Attributes IgnoreFlag Action Mobber AddCond { Index 43 } AddCond { Index 5 Duration 2 } } } WaveSpawn { Name w5c_duo WaitForAllDead w5c FirstSpawnOutput { Target red2a_off_logic Action Trigger } } WaveSpawn { Name w5d TotalCurrency 0 TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 8 WaitBetweenSpawns 0 WaitForAllSpawned w5c FirstSpawnOutput { Target red_tank_relay Action Trigger } Tank { Health 30000 Skin 1 Name "tank_boss" Classicon tank_red_lite MaxTurnRate 50 SpawnTemplate "StickyTank" Model "models/bots/boss_bot/boss_tankred.mdl" PingSound "empty.wav" StartingPathTrackNode "redtank_path_1" OnKilledOutput { Target boss_dead_relay Action Trigger } OnBombDroppedOutput { Target redwin_relay Action Trigger } } } WaveSpawn { Name w5d TotalCurrency 0 TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 12 WaitBetweenSpawns 0 WaitForAllSpawned w5c LastSpawnOutput { Target red_blimp_relay Action Trigger } Tank { Health 25000 Name "blimpbossred" Scale 2.2 Speed 65 DisableSmokestack 1 Classicon blimp2_red_lite Skin 3 MaxTurnRate 15 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 "ambient/alarms/warningbell1.wav" StartingPathTrackNode "blimp_red2_1" OnKilledOutput { Target boss_dead_relay Action Trigger } OnBombDroppedOutput { Target redwin_relay Action Trigger } } } WaveSpawn { Name w5d_duo WaitForAllDead w5d DoneWarningSound "alarm2cut.mp3" FirstSpawnOutput { Target unblockhatch Action Trigger } } WaveSpawn { Name GiantSupport TotalCurrency 0 TotalCount 9999 MaxActive 3 SpawnCount 1 Where spawnbot_red3a WaitBeforeStarting 5 WaitBetweenSpawns 10 WaitForAllDead w5c RandomChoice { TFBot { ClassIcon Spammer Template T_TFBot_Giant_Heavyweapons_Deflector Attributes IgnoreFlag Action Mobber AddCond { Index 43 } AddCond { Index 5 Duration 2 } } TFBot { ClassIcon Spammer Template T_TFBot_Giant_Scout_FAN Attributes IgnoreFlag Action Mobber AddCond { Index 43 } AddCond { Index 5 Duration 2 } } TFBot { ClassIcon Spammer Template T_TFBot_Giant_Soldier_RocketShotgun Attributes IgnoreFlag Action Mobber AddCond { Index 43 } AddCond { Index 5 Duration 2 } } TFBot { ClassIcon Spammer Template T_TFBot_Giant_DemoMan_PrinceTavish Attributes IgnoreFlag Action Mobber AddCond { Index 43 } AddCond { Index 5 Duration 2 } } } } WaveSpawn { Name Support TotalCurrency 0 TotalCount 9999 MaxActive 6 SpawnCount 3 Where spawnbot_red3b WaitBeforeStarting 2 WaitBetweenSpawns 3 WaitForAllDead w5c FirstSpawnOutput { Target red3b_on_logic Action Trigger } RandomChoice { TFBot { ClassIcon spammer Health 125 Name Scout Class Scout Skill Hard Attributes AlwaysCrit Attributes IgnoreFlag Action Mobber AddCond { Index 43 } AddCond { Index 5 Duration 2 } } TFBot { ClassIcon spammer Health 200 Name Soldier Class Soldier Skill Hard Attributes AlwaysCrit Attributes IgnoreFlag Action Mobber AddCond { Index 43 } AddCond { Index 5 Duration 2 } } TFBot { ClassIcon spammer Health 175 Name Pyro Class Pyro Skill Hard Attributes AlwaysCrit Attributes IgnoreFlag Action Mobber AddCond { Index 43 } AddCond { Index 5 Duration 2 } } TFBot { ClassIcon spammer Health 175 Name Demoman Class Demoman Skill Hard Attributes AlwaysCrit Attributes IgnoreFlag Action Mobber AddCond { Index 43 } AddCond { Index 5 Duration 2 } } TFBot { ClassIcon spammer Health 300 Name Heavy Class HeavyWeapons Skill Hard Attributes AlwaysCrit Attributes IgnoreFlag Action Mobber AddCond { Index 43 } AddCond { Index 5 Duration 2 } } } } WaveSpawn { Name "redsentrybuster" Where spawnbot_red3a 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 { "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 "hsartsipik" Where spawnbot_stoopid TotalCurrency 100 TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 3 WaitBetweenSpawns 999 Support 1 Squad { TFBot { ClassIcon blu2_lite Health 420 Skill Normal Name "Stoopid" Class Scout Scale 0.01 Attributes "IgnoreFlag" Attributes "IgnoreEnemies" Item "tf_weapon_scattergun" Item "tf_weapon_pistol_scout" Item "tf_weapon_bat" CharacterAttributes { "force distribute currency on death" 1 "voice pitch scale" 0.001 "mod weapon blocks healing" 1 "self dmg push force decreased" -99 "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 { Where spawnbot TotalCurrency 0 TotalCount 9999 MaxActive 1 SpawnCount 1 WaitBeforeStarting 3 WaitBetweenSpawns 3 Support 1 RandomChoice { TFBot { ClassIcon blu2_lite Template T_TFBot_Heavyweapons_Fist Attributes BulletImmune Attributes AlwaysCrit AlwaysGlow 1 VoiceCommand { Delay 1 Cooldown 6 Repeats 99999 IfHealthBelow 300 Type "MEDIC!" } } TFBot { ClassIcon blu2_lite Template T_TFBot_Heavyweapons_Fist Attributes BlastImmune Attributes AlwaysCrit AlwaysGlow 1 VoiceCommand { Delay 1 Cooldown 6 Repeats 99999 IfHealthBelow 300 Type "MEDIC!" } } TFBot { ClassIcon blu2_lite Template T_TFBot_Heavyweapons_Fist Attributes FireImmune Attributes AlwaysCrit AlwaysGlow 1 VoiceCommand { Delay 1 Cooldown 6 Repeats 99999 IfHealthBelow 300 Type "MEDIC!" } } } } WaveSpawn { Where spawnbot TotalCurrency 0 TotalCount 9999 MaxActive 1 SpawnCount 1 WaitBeforeStarting 20 WaitBetweenSpawns 15 Support 1 TFBot { ClassIcon blu2_lite WeaponRestrictions SecondaryOnly Class Pyro Name "Giant Gas Passer Pyro" Skill Expert Health 3000 BehaviorModifiers Push Attributes IgnoreFlag Attributes MiniBoss Item "tf_weapon_flamethrower" Item "The Gas Passer" Item "brigade helm" ItemAttributes { ItemName "tf_weapon_flamethrower" "airblast disabled" 1 } ItemAttributes { ItemName "The Gas Passer" "attach particle effect" 9 "item_meter_charge_rate" 4 } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.6 "airblast vulnerability multiplier" 0.6 "override footstep sound set" 6 } } } } Wave { InitWaveOutput { Target boss_deploy_relay Action Trigger } } //bug workaround }