#base robot_giant.pop #base robot_standard.pop #base robot_gatebot.pop //Reverse MvM //Groundwork By Hell-met http://steamcommunity.com/id/hell-met/ //Made by Braindawg http://steamcommunity.com/id/HahaMoreLikeBraindead/ //Advanced Skill //Requires sigsegv extensions WaveSchedule { StartingCurrency 1200 CanBotsAttackWhileInSpawnRoom Yes RespawnWaveTimeBlue 3 FixedRespawnWaveTimeBlue 1 AddSentryBusterWhenDamageDealtExceeds 7000 //Fixes NoReanimators 1 NoMvMDeathTune 1 SniperAllowHeadshots 1 SentryBusterFriendlyFire 0 ImprovedAirblast 1 NoSapUnownedBuildings 1 SendBotsToSpectatorImmediately 1 //Global RobotLimit 27 ForceHoliday 2 NoHolidayPickups 1 BotPushaway 0 MaxTotalPlayers 6 // DisplayRobotDeathNotice 0 CustomUpgradesFile "mvm_upgrades_brain_reverse.txt" //Players are robots ReverseWinConditions 1 BluHumanFlagCapture 1 BluHumanFlagPickup 1 AllowJoinTeamBlueMax 6 AllowJoinTeamBlue 1 HumansMustJoinTeam blue BluPlayersAreRobots 1 SetCreditTeam 3 FlagCarrierMovementPenalty 1 //Disable Sounds DisableSound "music.mvm_end_last_wave" DisableSound "music.mvm_end_mid_wave" DisableSound "music.mvm_end_tank_wave" DisableSound "music.mvm_end_wave" DisableSound "music.mvm_lost_wave" DisableSound "music.mvm_start_last_wave" DisableSound "music.mvm_start_mid_wave" DisableSound "music.mvm_start_tank_wave" DisableSound "music.mvm_start_wave" // DisableSound "Announcer.MVM_Get_To_Upgrade" 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" //Precache PrecacheModel "models\props_mvm\mvm_upgrade_blu_center.mdl" PrecacheModel "models\props_mvm\mvm_upgrade_blu_tools.mdl" PrecacheModel "models\bots\boss_bot\boss_tankred.mdl" PrecacheSound "combine_bank_alarm.mp3" OverrideSounds { "MVM.GiantCommonExplodes" "ambient\explosions\explode_3.wav" "MVM.BombWarning" "combine_bank_alarm.mp3" } ItemBlacklist { Name "Kritz Or Treat Canteen" Name "Default Power Up Canteen (MvM)" Name "Power Up Canteen (MvM)" Name "Battery Canteens" Name "TF_WEAPON_SPELLBOOK" } ClassLimit { Heavyweapons 1 Medic 1 Engineer 1 } ItemAttributes { //no loose cannon push 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 { //disallow bonk from picking up intel // ItemName "Bonk! Atomic Punch" // "cannot pick up intelligence" 1 // } ItemAttributes { //holster while spinning ClassName "TF_WEAPON_MINIGUN" "mod minigun can holster while spinning" 1 } ItemAttributes { //ubersaw gets fucked ItemName "The Ubersaw" "mod_maxhealth_drain_rate" 15.0 } ItemAttributes { //vita buff ItemName "The Vita-Saw" // "ubercharge_preserved_on_spawn_max" 0.99 "max health additive penalty" 25 } ItemAttributes { //amputator change ItemName "The Amputator" "provide on active" 1 "gesture speed increase" 0.5 } ItemAttributes { //needle rework Classname "tf_weapon_syringegun_medic" "ubercharge ammo" 2 "mad milk syringes" 1 } ItemAttributes { //rip beggars ItemName "The Beggar's Bazooka" "reload time increased hidden" 2 } ItemAttributes { //no lvl3s ItemName "The Short Circuit" "building cost reduction" 1.549 "engy sentry damage bonus" 0.75 } ItemAttributes { //passive disposable ItemName "The Gunslinger" "engy disposable sentries" 1 "mvm sentry ammo" 99 "engineer sentry build rate multiplier" 2 } ItemAttributes { //pistol buff ClassName "TF_WEAPON_PISTOL" "minicritboost on kill" 10 "max health additive bonus" 25 } ItemAttributes { ClassName "tf_weapon_handgun_scout_secondary" "minicritboost on kill" 10 "max health additive bonus" 25 } ItemAttributes { //shotgun buff ClassName "TF_WEAPON_SHOTGUN" "minicritboost on kill" 6 "max health additive bonus" 25 "shot penetrate all players" 1 } ItemAttributes { ClassName "tf_weapon_shotgun_multiclass" "minicritboost on kill" 6 "max health additive bonus" 25 "shot penetrate all players" 1 } ItemAttributes { //DR fix ItemName "The Dead Ringer" "cloak_consume_on_feign_death_activate" 2 } ItemAttributes { //YER no work ClassName "tf_weapon_knife" "mod_disguise_consumes_cloak" 0 "mult cloak meter consume rate" 1 } ItemAttributes { //sandvich nerfs ItemName "The Sandvich" "item_meter_charge_rate" 180 "item_meter_charge_type" 3 "item_meter_damage_for_full_charge" 20000 "single wep deploy time increased" 5 } ItemAttributes { ItemName "The Buffalo Steak Sandvich" "item_meter_charge_rate" 180 "item_meter_charge_type" 3 "single wep deploy time increased" 5 "item_meter_damage_for_full_charge" 18000 } ItemAttributes { ItemName "The Second Banana" "item_meter_charge_rate" 180 "item_meter_charge_type" 3 "item_meter_damage_for_full_charge" 12000 "single wep deploy time increased" 3 } ItemAttributes { ItemName "The Dalokohs Bar" "item_meter_charge_rate" 180 "item_meter_charge_type" 3 "item_meter_damage_for_full_charge" 12000 "single wep deploy time increased" 3 } ItemAttributes { ItemName "Fishcake" "item_meter_charge_rate" 180 "item_meter_charge_type" 3 "item_meter_damage_for_full_charge" 12000 "single wep deploy time increased" 3 } ItemAttributes { ClassName "The Disciplinary Action" "damage penalty" 0.01 "melee range multiplier" 2 "melee bounds multiplier" 9 } ItemAttributes { //nerfed heal rate and removed overheal to compensate for endless resists ItemName "The Vaccinator" "overheal fill rate reduced" 0 "ubercharge overheal rate penalty" 0 "heal rate penalty" 0.5 "ubercharge rate bonus" 2 } ItemAttributes { //eoi rework ItemName "The Gas Passer" "explode_on_ignite" 1 "item_meter_charge_rate" 360 "item_meter_damage_for_full_charge" 6500 "dmg penalty vs players" 0.5 } ItemAttributes { //widow rework ItemName "The Widowmaker" "damage penalty" .66 "damage bonus bullet vs sentry target" 1.5 } ItemAttributes { //infinite caber ItemName "The Ullapool Caber" "regenerate stickbomb" 1 } ItemAttributes { //wrangler nerf ClassName "tf_weapon_laser_pointer" "build small sentries" 1 "upgrade rate decrease" 0.9 } PlayerAttributes { "crit mod disabled" 0 "penetration damage penalty" 0.5 "health from healers increased" 3 Engineer { "max health additive bonus" 125 "upgrade rate decrease" 2 "mult dispenser rate" 0.5 "mult teleporter recharge rate" 0.01 "mod teleporter cost" 0.001 "engineer teleporter build rate multiplier" 3 } Medic { "medic machinery beam" 4 "heal rate penalty" 0.33 } Spy { "cannot pick up intelligence" 1 } Scout { "max health additive bonus" 50 } } PointTemplates { upgradetemplate { func_upgradestation { "mins" "-100 -100 0" "maxs" "90 60 100" } } suicidetemplate { NoFixup 1 logic_relay { "targetname" "kill_buildings_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,0,0,-1" } } redwin { NoFixup 1 game_round_win { "origin" "-1611.31 4748.55 169.35" "TeamNum" "2" "targetname" "bots_win_red" "switch_teams" "0" "force_map_reset" "1" "classname" "game_round_win" } } redwin2 { NoFixup 1 logic_relay { "origin" "-1611.31 4748.55 169.35" "targetname" "redwin_relay" "OnTrigger" "bots_win_red,RoundWin,,0,-1" "OnTrigger" "pit_explosion_wav,PlaySound,,0,-1" "OnTrigger" "player,SetHealth,0,0,-1" } } bombresetfixendurance //create a new flag at the gate { NoFixup 1 logic_relay { "origin" "-685.043213 1461.691772 -122.968689" "targetname" "resetfixendurance" "OnTrigger" "newflag,Enable,,0,-1" "OnTrigger" "newflag,SetTeam,3,0,-1" "OnTrigger" "newflag,AddOutput,OnPickupTeam2 newflag:SetTeam:0:1:-1" "OnTrigger" "newflag,AddOutput,OnDrop newflag:SetTeam:0:1:-1" } } bombresetfixendurance2 { NoFixup 1 item_teamflag { "origin" "-685.043213 1461.691772 -122.968689" "trail_effect" "2" "TeamNum" "0" "TeamNum" "0" "targetname" "newflag" "StartDisabled" "1" "ScoringType" "0" "ReturnTime" "35" "ReturnBetweenWaves" "1" "GameType" "3" "NeutralType" "2" "flag_trail" "flagtrail" "flag_paper" "player_intel_papertrail" "flag_model" "models/props_td/atom_bomb.mdl" "flag_icon" "../hud/objectives_flagpanel_carried" "angles" "0 270 0" } } playercap { NoFixup 1 OnSpawnOutput { Target capture_filter Action Kill } } reversegatebottag //red gatebot logic, this will also force blu gatebots to defend the gates { NoFixup 1 logic_relay { "origin" "-596 -232 34" "targetname" "redgatebot" "OnTrigger" "cap_b_trigtimer,AddOutput,OnCapTeam1 gate_a_red_relay:Trigger:1:-1" // when red caps B, move to A "OnTrigger" "cap_b_trigtimer,AddOutput,OnCapTeam2 gate_b_red_relay:Trigger:1:-1" // when blu caps B, move to B "OnTrigger" "cap_b_trigtimer,AddOutput,OnCapTeam1 fancywoodgate_a:Open:10:-1" "OnTrigger" "cap_b_trigtimer,AddOutput,OnCapTeam1 fancywoodgate_b:Open:10:-1" "OnTrigger" "cap_b_trigtimer,AddOutput,OnCapTeam1 forward_on:Trigger:10:-1" "OnTrigger" "cap_b_trigtimer,AddOutput,OnCapTeam2 hatchspawn:Enable:0:-1" //when blu caps B, enable hatch spawn and disable backcap spawn "OnTrigger" "cap_b_trigtimer,AddOutput,OnCapTeam2 gatebotA:Disable:0:-1" "OnTrigger" "cap_b_trigtimer,AddOutput,OnCapTeam1 hatchspawn:Disable:0:-1" //when red caps B, disable hatch spawn and enable backcap spawn "OnTrigger" "cap_b_trigtimer,AddOutput,OnCapTeam1 gatebotA:Enable:0:-1" "OnTrigger" "cap_a_trigtimer,AddOutput,OnCapTeam2 gatebotA:Disable:0:-1" //when blu caps A, enable hatch spawn and disable backcap spawn "OnTrigger" "cap_a_trigtimer,AddOutput,OnCapTeam2 hatchspawn:Enable:0:-1" "OnTrigger" "cap_a_trigtimer,AddOutput,OnCapTeam1 gatebotA:Enable:0:-1" //when red caps A, disable hatch spawn and enable backcap spawn "OnTrigger" "cap_a_trigtimer,AddOutput,OnCapTeam1 hatchspawn:Disable:0:-1" } } reversegatebottag2 //force blue a cap/open gate door regardless incase spawns get confused and bomb is stuck in gate spawn { NoFixup 1 logic_relay { "origin" "-596 -232 34" "targetname" "redgatebot2" "OnTrigger" "fancywoodgate_a,Open,,0,-1" "OnTrigger" "fancywoodgate_b,Open,,0,-1" "OnTrigger" "gate_a_blue_relay,Trigger,,0,-1" "OnTrigger" "gate_b_blue_relay,Trigger,,0,-1" "OnTrigger" "spawnbot,Enable,,1,-1" } } 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.0" "PerformanceMode" "0" "pressuredelay" "0" "RandomAnimation" "0" "renderamt" "255" "rendercolor" "100 100 255" "renderfx" "16" "rendermode" "0" "SetBodyGroup" "0" "CollisionGroup" "1" "skin" "0" "solid" "0" "spawnflags" "0" "StartDisabled" "0" "origin" "-3822 -194 -452" } } hatchblocker //hatch collision { NoFixup 1 func_forcefield { "disablereceiveshadows" "0" "origin" "-3822 -194 -252" "renderamt" "255" "rendercolor" "255 255 255" "renderfx" "0" "rendermode" "10" "TeamNum" "2" "targetname" "hatchcovercollision" "parentname" "hatchcover" "mins" "-100 -120 -100" "maxs" "100 120 100" "StartDisabled" "0" } } hatchunblocker { NoFixup 1 logic_relay { "targetname" "unblockhatch" "OnTrigger" "hatchcover,Kill,,0,-1" "OnTrigger" "hatchopen,Show,,0,-1" } } enableforwardsniperhints { NoFixup 1 logic_relay { "targetname" "sniperhints" "OnTrigger" "sniper_a,SetTeam,0,1,-1" "OnTrigger" "sniper_b,SetTeam,0,1,-1" "OnTrigger" "sniper_c,SetTeam,0,1,-1" } } progressblocker1 //cargo container { NoFixup 1 prop_dynamic { "targetname" "blocker1" "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" "4.0" "PerformanceMode" "0" "pressuredelay" "0" "RandomAnimation" "0" "renderamt" "100" "rendercolor" "100 100 255" "renderfx" "16" "rendermode" "0" "SetBodyGroup" "0" "skin" "0" "CollisionGroup" "0" "solid" "0" "spawnflags" "0" "StartDisabled" "0" "origin" "-1132.039185 105.574806 -247.594971" } OnSpawnOutput { Target cap_a_trigtimer Action AddOutput Param "OnCapTeam2 blocker1:KillHierarchy:0:-1" } } progressblocker1 //forcefield { NoFixup 1 func_forcefield { "disablereceiveshadows" "0" "origin" "-898.848999 93.555946 86.746536" "renderamt" "255" "rendercolor" "255 255 255" "renderfx" "0" "rendermode" "10" "TeamNum" "2" "targetname" "blocker1collision" "parentname" "blocker1" "mins" "-100 -1200 -1000" "maxs" "100 1200 1200" "StartDisabled" "0" } } progressblocker2 //cargo container { NoFixup 1 prop_dynamic { "targetname" "blocker2" "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" "4.0" "PerformanceMode" "0" "pressuredelay" "0" "RandomAnimation" "0" "renderamt" "255" "rendercolor" "100 100 255" "renderfx" "16" "rendermode" "0" "SetBodyGroup" "0" "skin" "0" "CollisionGroup" "0" "solid" "0" "spawnflags" "0" "StartDisabled" "0" "origin" "-2975.489746 1806.507813 -335.486526" } OnSpawnOutput { Target cap_b_trigtimer Action AddOutput Param "OnCapTeam2 blocker2:KillHierarchy:0:-1" } } progressblocker2 //forcefield { NoFixup 1 func_forcefield { "disablereceiveshadows" "0" "origin" "-2787.520996 1719.227051 321.069092;" "renderamt" "255" "rendercolor" "255 255 255" "renderfx" "0" "rendermode" "10" "TeamNum" "2" "targetname" "blocker2collision" "parentname" "blocker2" "mins" "-100 -1200 -1000" "maxs" "100 1200 1200" "StartDisabled" "0" } } annotation //protect giants, unlocks gateBspawn on blu A cap { NoFixup 1 training_annotation { "targetname" "protectgianthint" "display_text" "Protect your giants!" "lifetime" "10" "origin" "-348 1523.044434 -41.983353" } OnSpawnOutput { Target cap_a_trigtimer Action AddOutput Param "OnCapTeam2 gateBspawn:Enable:0:-1" } } annotation2 //one giant left { NoFixup 1 training_annotation { "targetname" "onegiantleft" "display_text" "Only 1 giant remains!" "lifetime" "10" "origin" "-348 1523.044434 -41.983353" } } annotation3 //A backcap { NoFixup 1 training_annotation { "targetname" "backcapAhint" "display_text" "Defend the gate!" "lifetime" "10" "origin" "-438.802246 -276.666229 -58.968689" } // OnSpawnOutput { // Target cap_a_trigtimer // Action AddOutput // Param "OnCapTeam2 backcapA:Disable:0:-1" // } } annotation4 //B backcap { NoFixup 1 training_annotation { "targetname" "backcapBhint" "display_text" "Defend the gate!" "lifetime" "10" "origin" "-1321.850464 2452.971436 -134.968689" } OnSpawnOutput { Target cap_a_trigtimer Action AddOutput Param "OnCapTeam2 engispawn3:Enable:0:-1" } } annotation5 //gate escort, also fixes bomb reset on gate B recap { NoFixup 1 training_annotation { "targetname" "escorttogate" "display_text" "Deliver the bomb, capture the gate to spawn giants!" "lifetime" "10" "origin" "1994.725098 -3075.044434 -88.983353" } OnSpawnOutput { Target cap_b_trigtimer Action AddOutput Param "OnCapTeam1 resetfixendurance:Trigger:0:-1" } } annotation6 //hatch unlocked { NoFixup 1 training_annotation { "targetname" "hatchopen" "display_text" "The bomb can now be deployed!" "lifetime" "10" "origin" "-3822 -224 -352" } } annotation7 //last subwave, also fixes bomb reset on gate A recap { NoFixup 1 training_annotation { "targetname" "finalsubwave" "display_text" "The hatch will unlock when all bots are dead" "lifetime" "10" "origin" "-3822 -224 -352" } OnSpawnOutput { Target cap_a_trigtimer Action AddOutput Param "OnCapTeam1 resetfixendurance:Trigger:0:-1" } } StickyTank { OnParentKilledOutput // Clean up stickies { 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" } } redtankifier { NoFixup 1 logic_relay { "targetname" "red_tank_relay" "OnTrigger" "tank_boss,Setteam,2,0,-1" } } ammokiller1 { NoFixup 1 OnSpawnOutput { Target item_ammopack_small Action kill } } ammokiller2 { NoFixup 1 OnSpawnOutput { Target item_ammopack_medium Action kill } } ammokiller3 { NoFixup 1 OnSpawnOutput { Target item_ammopack_full Action kill } } nogatealarm { NoFixup 1 OnSpawnOutput { Target gate1_alarm Action kill } } ammoblu1 { NoFixup 1 OnSpawnOutput { Target item_healthkit_small Action color Param "100 100 255" } } ammoblu2 { NoFixup 1 OnSpawnOutput { Target item_healthkit_medium Action color Param "100 100 255" } } ammoblu3 { NoFixup 1 OnSpawnOutput { Target item_healthkit_full Action color Param "100 100 255" } } antitele { NoFixup 1 func_nobuild { "AllowDispenser" "1" "AllowSentry" "1" "AllowTeleporters" "1" "StartDisabled" "0" "targetname" "reversemvm_teleban" "TeamNum" "3" "origin" "0 0 0" "mins" "-9368 -8992 -2792" "maxs" "9368 8992 2792" } } shopcollide { 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" } } shop { NoFixup 1 prop_dynamic { "id" "3" "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_mvm\mvm_upgrade_blu_center.mdl" //"model" "models\props_mvm\mvm_upgrade_center.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" } } shop2 { NoFixup 1 prop_dynamic { "id" "3" "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_mvm\mvm_upgrade_blu_tools.mdl" //"model" "models\props_mvm\mvm_upgrade_tools.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" } } stopinvis { NoFixup 1 prop_dynamic { "id" "3" "targetname" "barrier1" "classname" "prop_dynamic" "angles" "0 0 0" "DisableBoneFollowers" "0" "disablereceiveshadows" "0" "disableshadows" "1" "ExplodeDamage" "0" "ExplodeRadius" "0" "fademaxdist" "0" "fademindist" "0.0001" "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" "SetBodyGroup" "0" "skin" "0" "solid" "6" "spawnflags" "0" "origin" "0 0 0" } } stop1 { NoFixup 1 prop_dynamic { "id" "3" "targetname" "barrier1" "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_2fort/sniper_fence01.mdl" "modelscale" "1" "PerformanceMode" "0" "pressuredelay" "0" "RandomAnimation" "0" "renderamt" "255" "renderfx" "0" "rendermode" "0" "SetBodyGroup" "0" "skin" "0" "solid" "6" "spawnflags" "0" "origin" "0 0 0" } } stop2 { NoFixup 1 prop_dynamic { "id" "3" "targetname" "barrier2" "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_2fort/sniper_fence02.mdl" "modelscale" "1" "PerformanceMode" "0" "pressuredelay" "0" "RandomAnimation" "0" "renderamt" "255" "renderfx" "0" "rendermode" "0" "SetBodyGroup" "0" "skin" "0" "solid" "6" "spawnflags" "0" "origin" "0 0 0" } } stop3 { NoFixup 1 prop_dynamic { "id" "3" "targetname" "barrier3" "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_2fort/sniper_fence01.mdl" "modelscale" "1" "PerformanceMode" "0" "pressuredelay" "0" "RandomAnimation" "0" "renderamt" "255" "renderfx" "0" "rendermode" "0" "SetBodyGroup" "0" "skin" "0" "solid" "6" "spawnflags" "0" "origin" "0 0 0" } } stop4 { NoFixup 1 prop_dynamic { "id" "3" "targetname" "barrier4" "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_2fort/sniper_fence02.mdl" "modelscale" "1" "PerformanceMode" "0" "pressuredelay" "0" "RandomAnimation" "0" "renderamt" "255" "renderfx" "0" "rendermode" "0" "SetBodyGroup" "0" "skin" "0" "solid" "6" "spawnflags" "0" "origin" "0 0 0" } } stop5 { NoFixup 1 prop_dynamic { "id" "3" "targetname" "barrier5" "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_2fort/sniper_fence01.mdl" "modelscale" "1" "PerformanceMode" "0" "pressuredelay" "0" "RandomAnimation" "0" "renderamt" "255" "renderfx" "0" "rendermode" "0" "SetBodyGroup" "0" "skin" "0" "solid" "6" "spawnflags" "0" "origin" "0 0 0" } } stop6 { NoFixup 1 prop_dynamic { "id" "3" "targetname" "barrier6" "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_2fort/sniper_fence02.mdl" "modelscale" "1" "PerformanceMode" "0" "pressuredelay" "0" "RandomAnimation" "0" "renderamt" "255" "renderfx" "0" "rendermode" "0" "SetBodyGroup" "0" "skin" "0" "solid" "6" "spawnflags" "0" "origin" "0 0 0" } } stop7 { NoFixup 1 prop_dynamic { "id" "3" "targetname" "barrier7" "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_2fort/sniper_fence01.mdl" "modelscale" "1" "PerformanceMode" "0" "pressuredelay" "0" "RandomAnimation" "0" "renderamt" "255" "renderfx" "0" "rendermode" "0" "SetBodyGroup" "0" "skin" "0" "solid" "6" "spawnflags" "0" "origin" "0 0 0" } } stop8 { NoFixup 1 prop_dynamic { "id" "3" "targetname" "barrier8" "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_2fort/sniper_fence01.mdl" "modelscale" "1" "PerformanceMode" "0" "pressuredelay" "0" "RandomAnimation" "0" "renderamt" "255" "renderfx" "0" "rendermode" "0" "SetBodyGroup" "0" "skin" "0" "solid" "6" "spawnflags" "0" "origin" "0 0 0" } } stop9 { NoFixup 1 prop_dynamic { "id" "3" "targetname" "barrier9" "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_2fort/sniper_fence01.mdl" "modelscale" "1" "PerformanceMode" "0" "pressuredelay" "0" "RandomAnimation" "0" "renderamt" "255" "renderfx" "0" "rendermode" "0" "SetBodyGroup" "0" "skin" "0" "solid" "6" "spawnflags" "0" "origin" "0 0 0" } } stop10 { NoFixup 1 prop_dynamic { "id" "3" "targetname" "barrier10" "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_2fort/sniper_fence02.mdl" "modelscale" "1" "PerformanceMode" "0" "pressuredelay" "0" "RandomAnimation" "0" "renderamt" "255" "renderfx" "0" "rendermode" "0" "SetBodyGroup" "0" "skin" "0" "solid" "6" "spawnflags" "0" "origin" "0 0 0" } } stop11 { NoFixup 1 prop_dynamic { "id" "3" "targetname" "barrier11" "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_2fort/sniper_fence02.mdl" "modelscale" "1" "PerformanceMode" "0" "pressuredelay" "0" "RandomAnimation" "0" "renderamt" "255" "renderfx" "0" "rendermode" "0" "SetBodyGroup" "0" "skin" "0" "solid" "6" "spawnflags" "0" "origin" "0 0 0" } } idiot { NoFixup 1 prop_dynamic { "id" "3" "classname" "prop_dynamic" "targetname" "stoopid" "angles" "0 0 0" "DisableBoneFollowers" "1" "disablereceiveshadows" "0" "disableshadows" "1" "ExplodeDamage" "0" "ExplodeRadius" "0" "fademaxdist" "0" "fademindist" "-1" "fadescale" "1" "MaxAnimTime" "10" "maxdxlevel" "0" "MinAnimTime" "5" "mindxlevel" "0" "model" "models/bots/bot_worker/bot_worker_a.mdl" "modelscale" "1" "PerformanceMode" "0" "pressuredelay" "0" "RandomAnimation" "0" "DefaultAnim" "idle" "renderamt" "255" "renderfx" "0" "rendermode" "0" "SetBodyGroup" "2" "skin" "1" "solid" "0" "spawnflags" "0" "origin" "0 0 0" } } rock1 { NoFixup 1 prop_dynamic { "id" "3" "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_mining/rock001.mdl" "modelscale" "1" "PerformanceMode" "0" "pressuredelay" "0" "RandomAnimation" "0" "renderamt" "255" "renderfx" "0" "rendermode" "0" "SetBodyGroup" "0" "skin" "1" "solid" "6" "spawnflags" "0" "origin" "0 0 0" } } rock2 { NoFixup 1 prop_dynamic { "id" "3" "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_mining/rock002.mdl" "modelscale" "1" "PerformanceMode" "0" "pressuredelay" "0" "RandomAnimation" "0" "renderamt" "255" "renderfx" "0" "rendermode" "0" "SetBodyGroup" "0" "skin" "1" "solid" "6" "spawnflags" "0" "origin" "0 0 0" } } rock3 { NoFixup 1 prop_dynamic { "id" "3" "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_mining/rock003.mdl" "modelscale" "1" "PerformanceMode" "0" "pressuredelay" "0" "RandomAnimation" "0" "renderamt" "255" "renderfx" "0" "rendermode" "0" "SetBodyGroup" "0" "skin" "1" "solid" "6" "spawnflags" "0" "origin" "0 0 0" } } rock4 { NoFixup 1 prop_dynamic { "id" "3" "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_mining/rock004.mdl" "modelscale" "1" "PerformanceMode" "0" "pressuredelay" "0" "RandomAnimation" "0" "renderamt" "255" "renderfx" "0" "rendermode" "0" "SetBodyGroup" "0" "skin" "1" "solid" "6" "spawnflags" "0" "origin" "0 0 0" } } rock5 { NoFixup 1 prop_dynamic { "id" "3" "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_mining/rock005.mdl" "modelscale" "1" "PerformanceMode" "0" "pressuredelay" "0" "RandomAnimation" "0" "renderamt" "255" "renderfx" "0" "rendermode" "0" "SetBodyGroup" "0" "skin" "1" "solid" "6" "spawnflags" "0" "SetLightingOrigin" "1800 -25000 -100" "origin" "0 0 0" } } rock6 { NoFixup 1 prop_dynamic { "id" "3" "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_mining/rock007.mdl" "modelscale" "1" "PerformanceMode" "0" "pressuredelay" "0" "RandomAnimation" "0" "renderamt" "255" "renderfx" "0" "rendermode" "0" "SetBodyGroup" "0" "skin" "1" "solid" "6" "spawnflags" "0" "origin" "0 0 0" } } } SpawnTemplate "suicidetemplate" SpawnTemplate "redwin" SpawnTemplate "bluwin" SpawnTemplate "redwin2" SpawnTemplate "antitele" SpawnTemplate "ammokiller1" SpawnTemplate "ammokiller2" SpawnTemplate "ammokiller3" SpawnTemplate "ammoblu1" SpawnTemplate "ammoblu2" SpawnTemplate "ammoblu3" SpawnTemplate "nogatealarm" SpawnTemplate "nobombalarm" SpawnTemplate "annotation" SpawnTemplate "annotation2" SpawnTemplate "annotation3" SpawnTemplate "annotation4" SpawnTemplate "annotation5" SpawnTemplate "annotation6" SpawnTemplate "annotation7" SpawnTemplate "bombresetfixendurance" SpawnTemplate "bombresetfixendurance2" SpawnTemplate "playercap" SpawnTemplate "hatchunblocker" SpawnTemplate "redtankifier" SpawnTemplate "enableforwardsniperhints" SpawnTemplate "reversegatebottag" SpawnTemplate "reversegatebottag2" //-------------------------- //SPAWN DECORATION/VOID COVERS //-------------------------- SpawnTemplate { Name "rock1" Origin "1104.087524 -2715.580811 -206.82264" Angles "30 0 0" } SpawnTemplate { Name "rock1" Origin "977.042786 -2816.461670 -90.584511" Angles "0 0 0" } SpawnTemplate { Name "rock2" Origin "1848 -2202 0" Angles "-40 90 0" } SpawnTemplate { Name "rock1" Origin "1104.087524 -3005.580811 -206.82264" Angles "30 0 0" } SpawnTemplate { Name "rock2" Origin "1997.168823 -2387.105469 -280.440186" Angles "0 0 0" } SpawnTemplate { Name "rock3" Origin "1005.665161 -3193.298340 -194.09681" Angles "30 0 0" } SpawnTemplate { Name "rock3" Origin "2194.484131 -2751.115723 1.810257" Angles "0 0 0" } SpawnTemplate { Name "rock4" Origin "1050.562988 -2643.794189 96.893349" Angles "0 0 90" } SpawnTemplate { Name "rock5" Origin "1038.527222 -2971.156738 -223.584442" Angles "25 90 0" } SpawnTemplate { Name "rock5" Origin "2050.168823 -2387.105469 -260.440186" Angles "0 -90 5" } SpawnTemplate { Name "rock5" Origin "1850.168823 -2400.105469 -260.440186" Angles "0 -90 5" } SpawnTemplate { Name "rock5" Origin "1420.168823 -3590.105469 -275.440186" Angles "0 -90 0" } SpawnTemplate { Name "rock5" Origin "1100.168823 -1850.105469 -297.440186" Angles "0 90 0" } SpawnTemplate { Name "rock6" Origin "2093.731079 -2790.276855 -63.360184" Angles "0 90 0" } SpawnTemplate { Name "rock6" Origin "1200.005371 -3484.968750 -122.558624" Angles "0 60 0" } // SpawnTemplate { // Name "rock6" // Origin "1892.367432 -2241.443115 108.646851" // Angles "-90 0 0" // } SpawnTemplate { Name "rock6" Origin "1045.258057 -2700.265381 198.256424" Angles "0 0 0" } SpawnTemplate { Name "rock5" Origin "642.653198 -1878.048828 53.226593" Angles "0 -90 0" } SpawnTemplate { Name "rock5" Origin "195.973022 2047.008545 -182.968689" Angles "0 -45 0" } //-------------------------- //SPAWN GATE //-------------------------- SpawnTemplate { Name "stop1" Origin "1201.650024 -1695.816895 -280.03253" Angles "0 -90 0" } SpawnTemplate { Name "stop2" Origin "1201.650024 -1695.816895 -100.03253" Angles "0 -90 0" } SpawnTemplate { Name "stop3" Origin "1701.650024 -1695.816895 -280.03253" Angles "0 -90 0" } SpawnTemplate { Name "stop4" Origin "1701.650024 -1695.816895 -100.03253" Angles "0 -90 0" } SpawnTemplate { Name "stop5" Origin "1537.793945 -1683.350098 -280" Angles "0 -90 0" } SpawnTemplate { Name "stop6" Origin "1537.793945 -1683.350098 -100" Angles "0 -90 0" } SpawnTemplate { Name "stop7" Origin "1377.793945 -1683.350098 -280" Angles "0 -90 0" } SpawnTemplate { Name "stop8" Origin "1377.793945 -1683.350098 -100" Angles "0 -90 0" } SpawnTemplate { Name "stop9" Origin "753.191101 -1526.889282 122.031311" Angles "0 -136 0" } SpawnTemplate { Name "stop10" Origin "583.191101 -1396.889282 122.031311" Angles "0 -136 0" } SpawnTemplate { Name "stop11" Origin "2521.925781 -1483.154175 -33.031311" Angles "0 -18 0" } SpawnTemplate { //12 thousand IQ move Name "stopinvis" Origin "1583.191101 -1396.889282 1022.031311" Angles "0 70 95" } //-------------------------- //UPGRADE STATIONS //-------------------------- SpawnTemplate { //CARRIER Name "shop" "origin" "2211.710205 -3486.608154 -99.098686" "angles" "0 135 0" } SpawnTemplate { Name "shopcollide" "origin" "2241.710205 -3486.608154 -99.098686" "angles" "0 135 0" } SpawnTemplate { Name "shop2" "origin" "2211.710205 -3486.608154 -99.098686" "angles" "0 135 0" } SpawnTemplate { Name "upgradetemplate" "origin" "2219.750000 -3454.128906 -99.098686" "angles" "0 135 0" } SpawnTemplate { Name "idiot" "origin" "2146.644775 -3543.594727 -79.098686" "angles" "0 131.289230 0.000000" } SpawnTemplate { //RIGHT SPAWN Name "shop" "origin" " 2825.014648 -2269.287842 -33.278595" "angles" "0 90 0" } SpawnTemplate { Name "shopcollide" "origin" " 2825.014648 -2269.287842 -33.278595" "angles" "0 90 0" } SpawnTemplate { Name "shop2" "origin" " 2825.014648 -2269.287842 -33.278595" "angles" "0 90 0" } SpawnTemplate { Name "upgradetemplate" "origin" " 2825.014648 -2269.287842 -33.278595" "angles" "0 90 0" } SpawnTemplate { Name "idiot" "origin" "2734.400635 -2259.087402 -23.031311" "angles" "0 90 0.000000" } SpawnTemplate { //LEFT SPAWN Name "shop" "origin" "369.352661 -1891.981689 120.0313111" "angles" "0 90 0" } SpawnTemplate { Name "shopcollide" "origin" "369.352661 -1891.981689 120.0313111" "angles" "0 90 0" } SpawnTemplate { Name "shop2" "origin" "369.352661 -1891.981689 120.0313111" "angles" "0 90 0" } SpawnTemplate { Name "upgradetemplate" "origin" "369.352661 -1891.981689 120.0313111" "angles" "0 90 0" } SpawnTemplate { Name "idiot" "origin" "281.985077 -1871.968750 127.031311" "angles" "0 90 0" } SpawnTemplate { //FORWARD SPAWN Name "shop" "origin" "165.968750 1832.067139 -127.968689" "angles" "0 -180 0" } SpawnTemplate { Name "shopcollide" "origin" "165.968750 1832.067139 -127.968689" "angles" "0 -180 0" } SpawnTemplate { Name "shop2" "origin" "165.968750 1832.067139 -127.968689" "angles" "0 -180 0" } SpawnTemplate { Name "upgradetemplate" "origin" "165.968750 1832.067139 -127.968689" "angles" "0 -180 0" } SpawnTemplate { Name "idiot" "origin" "145.989761 1743.196655 -117.968689" "angles" "0 -180 0" } //-------------------------- //SPAWN LOCATIONS //-------------------------- ExtraSpawnPoint { Name "gateAspawn" TeamNum 2 X -190.802933 Y 857.427673 Z -63 } // ExtraSpawnPoint { // Name "gateBspawn" // TeamNum 2 // X -2226.294189 // Y 1508.223267 // Z -118.968689 // } ExtraSpawnPoint { Name "gateBspawn" TeamNum 2 X -3521.326660 Y 1590.223267 Z -188.968689 } ExtraSpawnPoint { Name "frontrockspawn" TeamNum 2 X 1173.926758 Y 1057.95825 Z -12 } ExtraSpawnPoint { Name "hatchspawn" TeamNum 2 X -3846.489746 Y -268.957703 Z -299.256287 } ExtraSpawnPoint { Name "smallhatchspawn" TeamNum 2 X -3813.056396 Y -1315 Z -216 } ExtraSpawnPoint { Name "bighatchspawn" TeamNum 2 X -2877.944580 Y -321.738159 Z -24.968689 } ExtraSpawnPoint { Name "engispawn" TeamNum 2 X 1134.507935 Y -401.942322 Z -95 } ExtraSpawnPoint { Name "engispawn2" TeamNum 2 X 2000.484131 Y -165 Z -106 } ExtraSpawnPoint { Name "engispawn3" TeamNum 2 X -1989.669922 Y 906.348511 Z -227.968689 } ExtraSpawnPoint { Name "gatebotA" TeamNum 2 X -1989.669922 Y 906.348511 Z -227.968689 } ExtraSpawnPoint { Name "backcapA" TeamNum 2 X -335.981689 Y -319 Z -58 } ExtraSpawnPoint { Name "backcapB" TeamNum 2 X -964.054504 Y 2405 Z -86 } ExtraSpawnPoint { Name "frontlinespawn" TeamNum 2 X 1487.338867 Y -466.899872 Z -246.953644 } ExtraTankPath { Name "stickytank" Node "-2338 1890 -72" Node "-2228 1890 -72" } //-------------------------- //MISSION SUPPORT/BUSTERS //-------------------------- Mission { Objective DestroySentries InitialCooldown 60 Where spawnbot_mid0 Where spawnbot BeginAtWave 1 RunForThisManyWaves 9 CooldownTime 30 TFBot { Template T_TFBot_SentryBuster Tag bot_sentrybuster Skill Easy Attributes DisableDodge Attributes IgnoreEnemies } } //-------------------------- //WAVE 1 //-------------------------- Wave { StartWaveOutput { Target wave_start_relay_expert Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } Explanation { Line "{blue}Defend your giants and deploy the bomb!" Line "{red}Losing all of your giant support will fail the wave" Line "{0600A6}_____________________________" Line "{green}Your support this wave:" Line "" Line "{blue}- 3 Giant Pyros" Line "{blue}- 3 Giant Soldiers" Line "{blue}- ∞ Scout support {yellow} (Gate Bots)" Line "{0600A6}_____________________________" } SpawnTemplate "progressblocker1" SpawnTemplate "progressblocker2" SpawnTemplate "hatchblocker" //-------------------------- //COUNTDOWN //-------------------------- WaveSpawn { Name "countdown" Where "frontrockspawn" TotalCount 0 SpawnCount 0 MaxActive 0 FirstSpawnWarningSound "vo\announcer_begins_10sec.mp3" Squad{RandomChoice{TFBot{}}} } WaveSpawn { Name "countdown3" Where "frontrockspawn" TotalCount 0 SpawnCount 0 MaxActive 0 WaitBeforeStarting 7 FirstSpawnWarningSound "vo\announcer_begins_3sec.mp3" } WaveSpawn { Name "countdown2" Where "frontrockspawn" TotalCount 0 SpawnCount 0 MaxActive 0 WaitBeforeStarting 8 FirstSpawnWarningSound "vo\announcer_begins_2sec.mp3" Squad{RandomChoice{TFBot{}}} } WaveSpawn { Name "countdown1" Where "frontrockspawn" TotalCount 0 SpawnCount 0 MaxActive 0 waitbeforestarting 9 FirstSpawnWarningSound "vo\announcer_begins_1sec.mp3" Squad{RandomChoice{TFBot{}}} } //-------------------------- //BARRIER REMOVER/ENGI BOTS //-------------------------- WaveSpawn { //hatch guard Name "killbarrier1" Where "hatchspawn" TotalCount 1 MaxActive 1 SpawnCount 1 waitbeforestarting 10 Support Limited FirstSpawnOutput { Target barrier1 Action Disable } LastSpawnOutput { Target barrier1 Action DisableCollision } Squad{RandomChoice {TFBot{}}} } WaveSpawn { Name "killbarrier2" Where "gateAspawn" TotalCount 1 MaxActive 1 SpawnCount 1 waitbeforestarting 10 FirstSpawnOutput { Target barrier2 Action Disable } LastSpawnOutput { Target barrier2 Action DisableCollision } TFBot { Class Engineer Name Engineer Skill Expert Health 275 ExtAttr BuildDispenserAsTeleporter ClassIcon red2_lite TeleportWhere "gateAspawn" Item "The Jag" StripItemSlot 0 Item "The Wrangler" AddCond { Name TF_COND_REPROGRAMMED } CharacterAttributes { "engineer sentry build rate multiplier" 6 "mvm sentry ammo" 99 "building cost reduction" 0.01 "metal regen" 999 "maxammo metal increased" 999 "voice pitch scale" 0 } } } WaveSpawn { Name "killbarrier3" Where "engispawn2" TotalCount 1 MaxActive 1 SpawnCount 1 waitbeforestarting 10 FirstSpawnOutput { Target barrier3 Action Disable } LastSpawnOutput { Target barrier3 Action DisableCollision } TFBot { Class Engineer Name Engineer Skill Expert Health 275 ExtAttr BuildDispenserAsTeleporter ClassIcon red2_lite TeleportWhere "gateAspawn" Item "The Jag" StripItemSlot 0 Item "The Wrangler" AddCond { Name TF_COND_REPROGRAMMED } CharacterAttributes { "engineer sentry build rate multiplier" 6 "mvm sentry ammo" 99 "building cost reduction" 0.01 "metal regen" 999 "maxammo metal increased" 999 "voice pitch scale" 0 } } } WaveSpawn { Name "killbarrier4" Where "engispawn" TotalCount 1 MaxActive 1 SpawnCount 1 waitbeforestarting 10 FirstSpawnOutput { Target barrier4 Action Disable } LastSpawnOutput { Target barrier4 Action DisableCollision } TFBot { Class Engineer Name Engineer Skill Expert Health 275 ExtAttr BuildDispenserAsTeleporter ClassIcon red2_lite TeleportWhere "gateAspawn" Item "The Jag" StripItemSlot 0 StripItemSlot 1 AddCond { Name TF_COND_REPROGRAMMED } CharacterAttributes { "engineer sentry build rate multiplier" 6 "mvm sentry ammo" 99 "building cost reduction" 0.01 "metal regen" 999 "maxammo metal increased" 999 "voice pitch scale" 0 } } } WaveSpawn { //spawns playercap template Name "killbarrier5" Where "gateAspawn" TotalCount 1 MaxActive 1 SpawnCount 1 waitbeforestarting 10 FirstSpawnOutput { Target barrier5 Action Disable } LastSpawnOutput { Target barrier5 Action DisableCollision } TFBot { Class Engineer Name Engineer Skill Expert Health 275 ExtAttr BuildDispenserAsTeleporter ClassIcon red2_lite TeleportWhere "gateAspawn" Item "The Jag" StripItemSlot 0 StripItemSlot 1 AddCond { Name TF_COND_REPROGRAMMED } SpawnTemplate "playercap2" CharacterAttributes { "engineer sentry build rate multiplier" 6 "mvm sentry ammo" 99 "building cost reduction" 0.01 "metal regen" 999 "maxammo metal increased" 999 "voice pitch scale" 0 } } } WaveSpawn { //insta dies to save bot slots Name "killbarrier6" Where "gateAspawn" TotalCount 1 MaxActive 1 SpawnCount 1 waitbeforestarting 10 // TotalCurrency 19 FirstSpawnOutput { Target barrier6 Action Disable } LastSpawnOutput { Target barrier6 Action DisableCollision } TFBot { Class Engineer ClassIcon red2_lite Name "" AddCond { Name TF_COND_REPROGRAMMED } CharacterAttributes { "health drain" -125 "voice pitch scale" 0 "force distribute currency on death" 1} } } WaveSpawn { //insta dies to save bot slots Name "killbarrier7" Where "engispawn" TotalCount 1 MaxActive 1 SpawnCount 1 waitbeforestarting 10 FirstSpawnOutput { Target barrier7 Action Disable } LastSpawnOutput { Target barrier7 Action DisableCollision } TFBot { Class Engineer ClassIcon red2_lite Name "" AddCond { Name TF_COND_REPROGRAMMED } CharacterAttributes { "health drain" -125 "voice pitch scale" 0} } } WaveSpawn { //insta dies to save bot slots Name "killbarrier8" TotalCount 1 MaxActive 1 SpawnCount 1 Where "gateAspawn" waitbeforestarting 10 FirstSpawnOutput { Target barrier8 Action Disable } LastSpawnOutput { Target barrier8 Action DisableCollision } TFBot { Class Engineer ClassIcon red2_lite Name "" AddCond { Name TF_COND_REPROGRAMMED } CharacterAttributes { "health drain" -125 "voice pitch scale" 0} } } WaveSpawn { //insta dies to save bot slots Name "killbarrier9" TotalCount 1 MaxActive 1 SpawnCount 1 Where "gateAspawn" waitbeforestarting 10 FirstSpawnOutput { Target barrier9 Action DisableCollision } LastSpawnOutput { Target barrier9 Action Disable } DoneOutput { Target barrier10 Action DisableCollision } TFBot { Class Engineer ClassIcon red2_lite Name "" AddCond { Name TF_COND_REPROGRAMMED } CharacterAttributes { "health drain" -125 "voice pitch scale" 0} } } WaveSpawn { //part of red subwave 1 Name "rWave1a1" TotalCount 24 SpawnCount 2 MaxActive 8 WaitBetweenSpawns 2 TotalCurrency 140 Where "gateAspawn" waitbeforestarting 10 FirstSpawnOutput { Target barrier10 Action Disable } Squad { TFBot { Class Demoman Skill Expert Action Mobber WeaponRestrictions SecondaryOnly AddCond { Name TF_COND_REPROGRAMMED } ItemAttributes { ItemName "TF_WEAPON_GRENADELAUNCHER" "is_passive_weapon" 1 "override projectile type" 7 "fire rate penalty" 420 } ItemAttributes { ItemName "TF_WEAPON_PIPEBOMBLAUNCHER" "stickybomb charge rate" 0.001 "max pipebombs decreased" -5 "Projectile range increased" 0.35 } CharacterAttributes {"voice pitch scale" 0 "crit mod disabled" 0 "health from packs decreased" 0.01 "force distribute currency on death" 1 } } TFBot { Class Soldier AddCond { Name TF_COND_REPROGRAMMED } Action Mobber Skill Expert UseBestWeapon 1 CharacterAttributes {"voice pitch scale" 0 "crit mod disabled" 0 "health from packs decreased" 0.01 "force distribute currency on death" 1 } } } } WaveSpawn { //part of red subwave 1 Name "rWave1a" Where "frontrockspawn" TotalCount 1 MaxActive 1 SpawnCount 1 waitbeforestarting 10 TotalCurrency 56 StartWaveOutput { Target "gateBspawn" Action Disable } FirstSpawnOutput { Target barrier11 Action Disable } LastSpawnOutput { Target barrier11 Action DisableCollision } TFBot { Template T_TFBot_Giant_Demo_RapidFire CharacterAttributes {"voice pitch scale" 0 "crit mod disabled" 0 "health from packs decreased" 0.01 "force distribute currency on death" 1 } Attributes AlwaysCrit Action Mobber AddCond { Name TF_COND_REPROGRAMMED } } } //-------------------------- //RED WAVESPAWNS //-------------------------- WaveSpawn { Name "rWave1a1" Where "gateAspawn" TotalCount 2 SpawnCount 1 MaxActive 1 WaitForAllDead "wave1a" TotalCurrency 100 TFBot { Template T_TFBot_Giant_Heavyweapons_Shotgun AddCond { Name TF_COND_REPROGRAMMED } Action Mobber ClassIcon heavy_shotgun_red CharacterAttributes {"voice pitch scale" 0 "health from packs decreased" 0.01 "force distribute currency on death" 1 } } } WaveSpawn { Name "rWave1b" Where "gateBspawn" TotalCount 12 SpawnCount 1 MaxActive 3 WaitBetweenSpawns 4 WaitBeforeStarting 6 TotalCurrency 54 TFBot { Template T_TFBot_Heavyweapons_Fist Attributes AlwaysCrit Attributes DisableDodge Action Mobber StripItemSlot 0 StripItemSlot 1 AddCond { Name TF_COND_REPROGRAMMED } CharacterAttributes {"voice pitch scale" 0 "health from packs decreased" 0.01 "force distribute currency on death" 1 "crit mod disabled" 0} } } WaveSpawn { Name "rWave1b" Where "gateBspawn" TotalCount 32 SpawnCount 2 MaxActive 8 TotalCurrency 60 RandomChoice { TFBot { Class Engineer Health 275 Skill Expert ClassIcon engineer_frontier_justice_nys Item "The Frontier Justice" Item "The Data Mining Light" Attributes HoldFireUntilFullReload StripItemSlot 1 StripItemSlot 2 StripItemSlot 3 StripItemSlot 4 ItemAttributes { ItemName "The Frontier Justice" "killstreak tier" 2 "health from packs decreased" 0.01 "force distribute currency on death" 1 "crit mod disabled" 0 "voice pitch scale" 0 "critboost on kill" 3 } UseMeleeThreatPrioritization 1 AddCond { Name TF_COND_REPROGRAMMED } Action Mobber WeaponRestrictions PrimaryOnly } TFBot { Class Engineer Health 275 Skill Hard ClassIcon engineer_frontier_justice_nys Item "The Frontier Justice" Item "The Data Mining Light" Attributes HoldFireUntilFullReload StripItemSlot 1 StripItemSlot 2 StripItemSlot 3 StripItemSlot 4 ItemAttributes { ItemName "The Frontier Justice" "killstreak tier" 2 "health from packs decreased" 0.01 "force distribute currency on death" 1 "crit mod disabled" 0 "voice pitch scale" 0 "critboost on kill" 3 } AddCond { Name TF_COND_REPROGRAMMED } Action Mobber WeaponRestrictions PrimaryOnly } TFBot { Class Engineer Health 275 Skill Expert ClassIcon engineer_frontier_justice_nys Item "The Frontier Justice" Item "The Data Mining Light" Attributes HoldFireUntilFullReload StripItemSlot 1 StripItemSlot 2 StripItemSlot 3 StripItemSlot 4 ItemAttributes { ItemName "The Frontier Justice" "killstreak tier" 2 "health from packs decreased" 0.01 "force distribute currency on death" 1 "crit mod disabled" 0 "voice pitch scale" 0 "critboost on kill" 3 } AddCond { Name TF_COND_REPROGRAMMED } Action Mobber WeaponRestrictions PrimaryOnly } TFBot { Class Engineer Health 500 Skill Expert ClassIcon engineer_frontier_justice_nys Item "The Frontier Justice" Item "Golden Wrench" Item "The Data Mining Light" StripItemSlot 1 StripItemSlot 3 StripItemSlot 4 ItemAttributes { ItemName "The Frontier Justice" "killstreak tier" 2 "health from packs decreased" 0.01 "force distribute currency on death" 1 "crit mod disabled" 0 "voice pitch scale" 0 "critboost on kill" 3 } Attributes HoldFireUntilFullReload UseMeleeThreatPrioritization 1 Action Sniper AddCond { Name TF_COND_REPROGRAMMED } ItemAttributes { ItemName "The Frontier Justice" "killstreak tier" 2 "deploy time decreased" 0.01 "health from packs decreased" 0.01 "force distribute currency on death" 1 "crit mod disabled" 0 "voice pitch scale" 0 "critboost on kill" 3 } ItemAttributes { ItemName "Golden Wrench" "provide on active" 1 "melee bounds multiplier" 3 "crit vs non burning players" 1 "killstreak tier" 2 "kill forces attacker to laugh" 1 "critboost on kill" 10 } } } } WaveSpawn { Name "rWave1c" Where "bighatchspawn" TotalCount 3 SpawnCount 1 MaxActive 2 WaitBetweenSpawns 15 WaitForAllSpawned "rWave1b" TotalCurrency 90 FirstSpawnOutput { Target finalsubwave Action Show } DoneOutput { Target unblockhatch Action Trigger } TFBot { Template T_TFBot_Giant_Soldier_Spammer Action Mobber AddCond { Name TF_COND_REPROGRAMMED } CharacterAttributes { "health from packs decreased" 0.01 "voice pitch scale" 0 "crit mod disabled" 0 "force distribute currency on death" 1 } } } WaveSpawn { Name "rWave1c1" Where "red_spawn" TotalCount 991 SpawnCount 2 MaxActive 4 WaitBetweenSpawns 3 WaitForAllDead "rWave1b" RandomChoice { TFBot { Template T_TFBot_Soldier_Extended_Buff_Banner ClassIcon red2_lite Action Mobber Attributes DisableDodge AddCond { Name TF_COND_REPROGRAMMED } CharacterAttributes {"voice pitch scale" 0 "crit mod disabled" 0 "health from packs decreased" 0.01 } } TFBot { Class Soldier ClassIcon red2_lite AddCond { Name TF_COND_REPROGRAMMED } Action Mobber Skill Expert Attributes DisableDodge UseBestWeapon 1 CharacterAttributes {"voice pitch scale" 0 "crit mod disabled" 0 "health from packs decreased" 0.01 } } TFBot { Class Soldier ClassIcon red2_lite AddCond { Name TF_COND_REPROGRAMMED } Action Mobber Skill Expert Attributes DisableDodge UseBestWeapon 1 CharacterAttributes {"voice pitch scale" 0 "crit mod disabled" 0 "health from packs decreased" 0.01 } } TFBot { Class Demoman ClassIcon red2_lite Skill Expert AddCond { Name TF_COND_REPROGRAMMED } Action Mobber Attributes DisableDodge CharacterAttributes {"voice pitch scale" 0 "crit mod disabled" 0 "health from packs decreased" 0.01 } } TFBot { Class Demoman ClassIcon red2_lite Skill Expert AddCond { Name TF_COND_REPROGRAMMED } Action Mobber Attributes DisableDodge CharacterAttributes {"voice pitch scale" 0 "crit mod disabled" 0 "health from packs decreased" 0.01 } } } } //-------------------------- //BLUE WAVESPAWNS //-------------------------- WaveSpawn { Name "bWave1a" Where spawnbot TotalCount 999 MaxActive 4 SpawnCount 1 Support Limited WaitBeforeStarting 7 StartWaveOutput { Target escorttogate Action Show } RandomChoice { TFBot { Template T_TFGateBot_Scout_Hard } TFBot { Template T_TFGateBot_Scout_FaN ClassIcon scout } TFBot { Template T_TFGateBot_Scout_Melee } TFBot { Template T_TFGateBot_Scout_Melee } } } WaveSpawn { Name "bWave1a" Where spawnbot TotalCount 999 MaxActive 1 SpawnCount 1 WaitBetweenSpawns 6 WaitBeforeStarting 7 Support Limited TFBot { Class Scout Skill Expert UseBestWeapon 1 Attributes IgnoreFlag Tag bot_gatebot Tag nav_prefer_gate1_flank BehaviorModifiers Push Item "MvM GateBot Light Scout" } } WaveSpawn { Name "bWave1bgatebot" // Where spawnbot Where spawnbot TotalCount 1 MaxActive 1 SpawnCount 1 Support Limited LastSpawnOutput { Target resetfixendurance Action Trigger } LastSpawnOutput { Target protectgianthint Action Show } TFBot { Class Pyro Name "Giant Pyro" ClassIcon pyro_giant Tag nav_prefer_gate1_flank // having these will cause bots to run towards gates Tag bot_gatebot // having these will cause bots to run towards gates Attributes IgnoreFlag BehaviorModifiers Push Tag bot_giant Item "MvM GateBot Light Pyro" Skill Normal Health 3000 StripItemSlot 2 UseBestWeapon 1 UseMeleeThreatPrioritization 1 Item "The Flare Gun" Attributes MiniBoss Attributes UseBossHealthBar CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0 "airblast vulnerability multiplier" 0 "override footstep sound set" 6 } } } WaveSpawn { Name "bWave1b" // Where spawnbot Where spawnbot TotalCount 2 MaxActive 1 SpawnCount 1 Support Limited WaitForAllDead "bWave1bgatebot" FirstSpawnOutput { Target resetfixendurance Action Trigger } TFBot { Class Pyro Name "Giant Pyro" ClassIcon pyro_giant Skill Normal Health 3000 StripItemSlot 2 UseBestWeapon 1 UseMeleeThreatPrioritization 1 Item "The Flare Gun" Attributes MiniBoss Attributes UseBossHealthBar Action EscortFlag CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0 "airblast vulnerability multiplier" 0 "override footstep sound set" 6 "cannot pick up intelligence" 1 } } } WaveSpawn { Name "bWave1b1" // Where spawnbot Where spawnbot TotalCount 3 MaxActive 1 SpawnCount 1 WaitForAllDead "bWave1b" WaitBeforeStarting 5 Support Limited DoneWarningSound "vo\announcer_failure.mp3" LastSpawnWarningSound "ambient\machines\thumper_shutdown1.wav" LastSpawnOutput { Target onegiantleft Action Show } DoneOutput { Target redwin_relay Action Trigger } TFBot { Template T_TFBot_Giant_Soldier Attributes UseBossHealthBar Action EscortFlag Skill Normal CharacterAttributes { "cannot pick up intelligence" 1 } } } } //-------------------------- //WAVE 3 //-------------------------- Wave { StartWaveOutput { Target wave_start_relay_expert Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } Explanation { Line "{blue}Defend your giants and deploy the bomb!" Line "{red}Losing all of your giant support will fail the wave" Line "{0600A6}_____________________________" Line "{green}Your support this wave:" Line "" Line "{blue}- 3 Giant Pyros" Line "{blue}- 3 Giant Soldiers" Line "{blue}- ∞ Scout support {yellow} (Gate Bots)" Line "{0600A6}_____________________________" } SpawnTemplate "progressblocker1" SpawnTemplate "progressblocker2" SpawnTemplate "hatchblocker" //-------------------------- //COUNTDOWN //-------------------------- WaveSpawn { Name "countdown" Where "frontrockspawn" TotalCount 0 SpawnCount 0 MaxActive 0 FirstSpawnWarningSound "vo\announcer_begins_10sec.mp3" Squad{RandomChoice{TFBot{}}} } WaveSpawn { Name "countdown3" Where "frontrockspawn" TotalCount 0 SpawnCount 0 MaxActive 0 WaitBeforeStarting 7 FirstSpawnWarningSound "vo\announcer_begins_3sec.mp3" } WaveSpawn { Name "countdown2" Where "frontrockspawn" TotalCount 0 SpawnCount 0 MaxActive 0 WaitBeforeStarting 8 FirstSpawnWarningSound "vo\announcer_begins_2sec.mp3" Squad{RandomChoice{TFBot{}}} } WaveSpawn { Name "countdown1" Where "frontrockspawn" TotalCount 0 SpawnCount 0 MaxActive 0 waitbeforestarting 9 FirstSpawnWarningSound "vo\announcer_begins_1sec.mp3" Squad{RandomChoice{TFBot{}}} } //-------------------------- //BARRIER REMOVER/ENGI BOTS //-------------------------- WaveSpawn { //hatch guard Name "killbarrier1" Where "hatchspawn" TotalCount 1 MaxActive 1 SpawnCount 1 waitbeforestarting 10 Support Limited FirstSpawnOutput { Target barrier1 Action Disable } LastSpawnOutput { Target barrier1 Action DisableCollision } Squad{RandomChoice {TFBot{}}} } WaveSpawn { Name "killbarrier2" Where "gateAspawn" TotalCount 1 MaxActive 1 SpawnCount 1 waitbeforestarting 10 FirstSpawnOutput { Target barrier2 Action Disable } LastSpawnOutput { Target barrier2 Action DisableCollision } TFBot { Class Engineer Name Engineer Skill Expert Health 275 ExtAttr BuildDispenserAsTeleporter ClassIcon red2_lite TeleportWhere "gateAspawn" Item "The Jag" StripItemSlot 0 Item "The Wrangler" AddCond { Name TF_COND_REPROGRAMMED } CharacterAttributes { "engineer sentry build rate multiplier" 6 "mvm sentry ammo" 99 "building cost reduction" 0.01 "metal regen" 999 "maxammo metal increased" 999 "voice pitch scale" 0 } } } WaveSpawn { Name "killbarrier3" Where "engispawn2" TotalCount 1 MaxActive 1 SpawnCount 1 waitbeforestarting 10 FirstSpawnOutput { Target barrier3 Action Disable } LastSpawnOutput { Target barrier3 Action DisableCollision } TFBot { Class Engineer Name Engineer Skill Expert Health 275 ExtAttr BuildDispenserAsTeleporter ClassIcon red2_lite TeleportWhere "gateAspawn" Item "The Jag" StripItemSlot 0 Item "The Wrangler" AddCond { Name TF_COND_REPROGRAMMED } CharacterAttributes { "engineer sentry build rate multiplier" 6 "mvm sentry ammo" 99 "building cost reduction" 0.01 "metal regen" 999 "maxammo metal increased" 999 "voice pitch scale" 0 } } } WaveSpawn { Name "killbarrier4" Where "engispawn" TotalCount 1 MaxActive 1 SpawnCount 1 waitbeforestarting 10 FirstSpawnOutput { Target barrier4 Action Disable } LastSpawnOutput { Target barrier4 Action DisableCollision } TFBot { Class Engineer Name Engineer Skill Expert Health 275 ExtAttr BuildDispenserAsTeleporter ClassIcon red2_lite TeleportWhere "gateAspawn" Item "The Jag" StripItemSlot 0 StripItemSlot 1 AddCond { Name TF_COND_REPROGRAMMED } CharacterAttributes { "engineer sentry build rate multiplier" 6 "mvm sentry ammo" 99 "building cost reduction" 0.01 "metal regen" 999 "maxammo metal increased" 999 "voice pitch scale" 0 } } } WaveSpawn { //spawns playercap template Name "killbarrier5" Where "gateAspawn" TotalCount 1 MaxActive 1 SpawnCount 1 waitbeforestarting 10 FirstSpawnOutput { Target barrier5 Action Disable } LastSpawnOutput { Target barrier5 Action DisableCollision } TFBot { Class Engineer Name Engineer Skill Expert Health 275 ExtAttr BuildDispenserAsTeleporter ClassIcon red2_lite TeleportWhere "gateAspawn" Item "The Jag" StripItemSlot 0 StripItemSlot 1 AddCond { Name TF_COND_REPROGRAMMED } SpawnTemplate "playercap2" CharacterAttributes { "engineer sentry build rate multiplier" 6 "mvm sentry ammo" 99 "building cost reduction" 0.01 "metal regen" 999 "maxammo metal increased" 999 "voice pitch scale" 0 } } } WaveSpawn { //insta dies to save bot slots Name "killbarrier6" Where "gateAspawn" TotalCount 1 MaxActive 1 SpawnCount 1 waitbeforestarting 10 // TotalCurrency 19 FirstSpawnOutput { Target barrier6 Action Disable } LastSpawnOutput { Target barrier6 Action DisableCollision } TFBot { Class Engineer ClassIcon red2_lite Name "" AddCond { Name TF_COND_REPROGRAMMED } CharacterAttributes { "health drain" -125 "voice pitch scale" 0 "force distribute currency on death" 1} } } WaveSpawn { //insta dies to save bot slots Name "killbarrier7" Where "engispawn" TotalCount 1 MaxActive 1 SpawnCount 1 waitbeforestarting 10 FirstSpawnOutput { Target barrier7 Action Disable } LastSpawnOutput { Target barrier7 Action DisableCollision } TFBot { Class Engineer ClassIcon red2_lite Name "" AddCond { Name TF_COND_REPROGRAMMED } CharacterAttributes { "health drain" -125 "voice pitch scale" 0} } } WaveSpawn { //insta dies to save bot slots Name "killbarrier8" TotalCount 1 MaxActive 1 SpawnCount 1 Where "gateAspawn" waitbeforestarting 10 FirstSpawnOutput { Target barrier8 Action Disable } LastSpawnOutput { Target barrier8 Action DisableCollision } TFBot { Class Engineer ClassIcon red2_lite Name "" AddCond { Name TF_COND_REPROGRAMMED } CharacterAttributes { "health drain" -125 "voice pitch scale" 0} } } WaveSpawn { //insta dies to save bot slots Name "killbarrier9" TotalCount 1 MaxActive 1 SpawnCount 1 Where "gateAspawn" waitbeforestarting 10 FirstSpawnOutput { Target barrier9 Action DisableCollision } LastSpawnOutput { Target barrier9 Action Disable } DoneOutput { Target barrier10 Action DisableCollision } TFBot { Class Engineer ClassIcon red2_lite Name "" AddCond { Name TF_COND_REPROGRAMMED } CharacterAttributes { "health drain" -125 "voice pitch scale" 0} } } WaveSpawn { //part of red subwave 1 Name "rWave1a1" TotalCount 24 SpawnCount 2 MaxActive 8 WaitBetweenSpawns 2 TotalCurrency 140 Where "gateAspawn" waitbeforestarting 10 FirstSpawnOutput { Target barrier10 Action Disable } Squad { TFBot { Class Demoman Skill Expert Action Mobber WeaponRestrictions SecondaryOnly AddCond { Name TF_COND_REPROGRAMMED } ItemAttributes { ItemName "TF_WEAPON_GRENADELAUNCHER" "is_passive_weapon" 1 "override projectile type" 7 "fire rate penalty" 420 } ItemAttributes { ItemName "TF_WEAPON_PIPEBOMBLAUNCHER" "stickybomb charge rate" 0.001 "max pipebombs decreased" -5 "Projectile range increased" 0.35 } CharacterAttributes {"voice pitch scale" 0 "crit mod disabled" 0 "health from packs decreased" 0.01 "force distribute currency on death" 1 } } TFBot { Class Soldier AddCond { Name TF_COND_REPROGRAMMED } Action Mobber Skill Expert UseBestWeapon 1 CharacterAttributes {"voice pitch scale" 0 "crit mod disabled" 0 "health from packs decreased" 0.01 "force distribute currency on death" 1 } } } } WaveSpawn { //part of red subwave 1 Name "rWave1a" Where "frontrockspawn" TotalCount 1 MaxActive 1 SpawnCount 1 waitbeforestarting 10 TotalCurrency 56 StartWaveOutput { Target "gateBspawn" Action Disable } FirstSpawnOutput { Target barrier11 Action Disable } LastSpawnOutput { Target barrier11 Action DisableCollision } TFBot { Template T_TFBot_Giant_Demo_RapidFire CharacterAttributes {"voice pitch scale" 0 "crit mod disabled" 0 "health from packs decreased" 0.01 "force distribute currency on death" 1 } Attributes AlwaysCrit Action Mobber AddCond { Name TF_COND_REPROGRAMMED } } } //-------------------------- //RED WAVESPAWNS //-------------------------- WaveSpawn { Name "rWave1a1" Where "gateAspawn" TotalCount 2 SpawnCount 1 MaxActive 1 WaitForAllDead "wave1a" TotalCurrency 100 TFBot { Template T_TFBot_Giant_Heavyweapons_Shotgun AddCond { Name TF_COND_REPROGRAMMED } Action Mobber ClassIcon heavy_shotgun_red CharacterAttributes {"voice pitch scale" 0 "health from packs decreased" 0.01 "force distribute currency on death" 1 } } } WaveSpawn { Name "rWave1b" Where "gateBspawn" TotalCount 12 SpawnCount 1 MaxActive 3 WaitBetweenSpawns 4 WaitBeforeStarting 6 TotalCurrency 54 TFBot { Template T_TFBot_Heavyweapons_Fist Attributes AlwaysCrit Attributes DisableDodge Action Mobber StripItemSlot 0 StripItemSlot 1 AddCond { Name TF_COND_REPROGRAMMED } CharacterAttributes {"voice pitch scale" 0 "health from packs decreased" 0.01 "force distribute currency on death" 1 "crit mod disabled" 0} } } WaveSpawn { Name "rWave1b" Where "gateBspawn" TotalCount 32 SpawnCount 2 MaxActive 8 TotalCurrency 60 RandomChoice { TFBot { Class Engineer Health 275 Skill Expert ClassIcon engineer_frontier_justice_nys Item "The Frontier Justice" Item "The Data Mining Light" Attributes HoldFireUntilFullReload StripItemSlot 1 StripItemSlot 2 StripItemSlot 3 StripItemSlot 4 ItemAttributes { ItemName "The Frontier Justice" "killstreak tier" 2 "health from packs decreased" 0.01 "force distribute currency on death" 1 "crit mod disabled" 0 "voice pitch scale" 0 "critboost on kill" 3 } UseMeleeThreatPrioritization 1 AddCond { Name TF_COND_REPROGRAMMED } Action Mobber WeaponRestrictions PrimaryOnly } TFBot { Class Engineer Health 275 Skill Hard ClassIcon engineer_frontier_justice_nys Item "The Frontier Justice" Item "The Data Mining Light" Attributes HoldFireUntilFullReload StripItemSlot 1 StripItemSlot 2 StripItemSlot 3 StripItemSlot 4 ItemAttributes { ItemName "The Frontier Justice" "killstreak tier" 2 "health from packs decreased" 0.01 "force distribute currency on death" 1 "crit mod disabled" 0 "voice pitch scale" 0 "critboost on kill" 3 } AddCond { Name TF_COND_REPROGRAMMED } Action Mobber WeaponRestrictions PrimaryOnly } TFBot { Class Engineer Health 275 Skill Expert ClassIcon engineer_frontier_justice_nys Item "The Frontier Justice" Item "The Data Mining Light" Attributes HoldFireUntilFullReload StripItemSlot 1 StripItemSlot 2 StripItemSlot 3 StripItemSlot 4 ItemAttributes { ItemName "The Frontier Justice" "killstreak tier" 2 "health from packs decreased" 0.01 "force distribute currency on death" 1 "crit mod disabled" 0 "voice pitch scale" 0 "critboost on kill" 3 } AddCond { Name TF_COND_REPROGRAMMED } Action Mobber WeaponRestrictions PrimaryOnly } TFBot { Class Engineer Health 500 Skill Expert ClassIcon engineer_frontier_justice_nys Item "The Frontier Justice" Item "Golden Wrench" Item "The Data Mining Light" StripItemSlot 1 StripItemSlot 3 StripItemSlot 4 ItemAttributes { ItemName "The Frontier Justice" "killstreak tier" 2 "health from packs decreased" 0.01 "force distribute currency on death" 1 "crit mod disabled" 0 "voice pitch scale" 0 "critboost on kill" 3 } Attributes HoldFireUntilFullReload UseMeleeThreatPrioritization 1 Action Sniper AddCond { Name TF_COND_REPROGRAMMED } ItemAttributes { ItemName "The Frontier Justice" "killstreak tier" 2 "deploy time decreased" 0.01 "health from packs decreased" 0.01 "force distribute currency on death" 1 "crit mod disabled" 0 "voice pitch scale" 0 "critboost on kill" 3 } ItemAttributes { ItemName "Golden Wrench" "provide on active" 1 "melee bounds multiplier" 3 "crit vs non burning players" 1 "killstreak tier" 2 "kill forces attacker to laugh" 1 "critboost on kill" 10 } } } } WaveSpawn { Name "rWave1c" Where "bighatchspawn" TotalCount 3 SpawnCount 1 MaxActive 2 WaitBetweenSpawns 15 WaitForAllSpawned "rWave1b" TotalCurrency 90 FirstSpawnOutput { Target finalsubwave Action Show } DoneOutput { Target unblockhatch Action Trigger } TFBot { Template T_TFBot_Giant_Soldier_Spammer Action Mobber AddCond { Name TF_COND_REPROGRAMMED } CharacterAttributes { "health from packs decreased" 0.01 "voice pitch scale" 0 "crit mod disabled" 0 "force distribute currency on death" 1 } } } WaveSpawn { Name "rWave1c1" Where "red_spawn" TotalCount 991 SpawnCount 2 MaxActive 4 WaitBetweenSpawns 3 WaitForAllDead "rWave1b" RandomChoice { TFBot { Template T_TFBot_Soldier_Extended_Buff_Banner ClassIcon red2_lite Action Mobber Attributes DisableDodge AddCond { Name TF_COND_REPROGRAMMED } CharacterAttributes {"voice pitch scale" 0 "crit mod disabled" 0 "health from packs decreased" 0.01 } } TFBot { Class Soldier ClassIcon red2_lite AddCond { Name TF_COND_REPROGRAMMED } Action Mobber Skill Expert Attributes DisableDodge UseBestWeapon 1 CharacterAttributes {"voice pitch scale" 0 "crit mod disabled" 0 "health from packs decreased" 0.01 } } TFBot { Class Soldier ClassIcon red2_lite AddCond { Name TF_COND_REPROGRAMMED } Action Mobber Skill Expert Attributes DisableDodge UseBestWeapon 1 CharacterAttributes {"voice pitch scale" 0 "crit mod disabled" 0 "health from packs decreased" 0.01 } } TFBot { Class Demoman ClassIcon red2_lite Skill Expert AddCond { Name TF_COND_REPROGRAMMED } Action Mobber Attributes DisableDodge CharacterAttributes {"voice pitch scale" 0 "crit mod disabled" 0 "health from packs decreased" 0.01 } } TFBot { Class Demoman ClassIcon red2_lite Skill Expert AddCond { Name TF_COND_REPROGRAMMED } Action Mobber Attributes DisableDodge CharacterAttributes {"voice pitch scale" 0 "crit mod disabled" 0 "health from packs decreased" 0.01 } } } } //-------------------------- //BLUE WAVESPAWNS //-------------------------- WaveSpawn { Name "bWave1a" Where spawnbot TotalCount 999 MaxActive 4 SpawnCount 1 Support Limited WaitBeforeStarting 7 StartWaveOutput { Target escorttogate Action Show } RandomChoice { TFBot { Template T_TFGateBot_Scout_Hard } TFBot { Template T_TFGateBot_Scout_FaN ClassIcon scout } TFBot { Template T_TFGateBot_Scout_Melee } TFBot { Template T_TFGateBot_Scout_Melee } } } WaveSpawn { Name "bWave1a" Where spawnbot TotalCount 999 MaxActive 1 SpawnCount 1 WaitBetweenSpawns 6 WaitBeforeStarting 7 Support Limited TFBot { Class Scout Skill Expert UseBestWeapon 1 Attributes IgnoreFlag Tag bot_gatebot Tag nav_prefer_gate1_flank BehaviorModifiers Push Item "MvM GateBot Light Scout" } } WaveSpawn { Name "bWave1bgatebot" // Where spawnbot Where spawnbot TotalCount 1 MaxActive 1 SpawnCount 1 Support Limited LastSpawnOutput { Target resetfixendurance Action Trigger } LastSpawnOutput { Target protectgianthint Action Show } TFBot { Class Pyro Name "Giant Pyro" ClassIcon pyro_giant Tag nav_prefer_gate1_flank // having these will cause bots to run towards gates Tag bot_gatebot // having these will cause bots to run towards gates Attributes IgnoreFlag BehaviorModifiers Push Tag bot_giant Item "MvM GateBot Light Pyro" Skill Normal Health 3000 StripItemSlot 2 UseBestWeapon 1 UseMeleeThreatPrioritization 1 Item "The Flare Gun" Attributes MiniBoss Attributes UseBossHealthBar CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0 "airblast vulnerability multiplier" 0 "override footstep sound set" 6 } } } WaveSpawn { Name "bWave1b" // Where spawnbot Where spawnbot TotalCount 2 MaxActive 1 SpawnCount 1 Support Limited WaitForAllDead "bWave1bgatebot" FirstSpawnOutput { Target resetfixendurance Action Trigger } TFBot { Class Pyro Name "Giant Pyro" ClassIcon pyro_giant Skill Normal Health 3000 StripItemSlot 2 UseBestWeapon 1 UseMeleeThreatPrioritization 1 Item "The Flare Gun" Attributes MiniBoss Attributes UseBossHealthBar Action EscortFlag CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0 "airblast vulnerability multiplier" 0 "override footstep sound set" 6 "cannot pick up intelligence" 1 } } } WaveSpawn { Name "bWave1b1" // Where spawnbot Where spawnbot TotalCount 3 MaxActive 1 SpawnCount 1 WaitForAllDead "bWave1b" WaitBeforeStarting 5 Support Limited DoneWarningSound "vo\announcer_failure.mp3" LastSpawnWarningSound "ambient\machines\thumper_shutdown1.wav" LastSpawnOutput { Target onegiantleft Action Show } DoneOutput { Target redwin_relay Action Trigger } TFBot { Template T_TFBot_Giant_Soldier Attributes UseBossHealthBar Action EscortFlag Skill Normal CharacterAttributes { "cannot pick up intelligence" 1 } } } } //-------------------------- //WAVE 3 //-------------------------- Wave { StartWaveOutput { Target wave_start_relay_expert Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } Explanation { Line "{blue}Defend your giants and deploy the bomb!" Line "{red}Losing all of your giant support will fail the wave" Line "{0600A6}_____________________________" Line "{green}Your support this wave:" Line "" Line "{blue}- 3 Giant Pyros" Line "{blue}- 3 Giant Soldiers" Line "{blue}- ∞ Scout support {yellow} (Gate Bots)" Line "{0600A6}_____________________________" } SpawnTemplate "progressblocker1" SpawnTemplate "progressblocker2" SpawnTemplate "hatchblocker" //-------------------------- //COUNTDOWN //-------------------------- WaveSpawn { Name "countdown" Where "frontrockspawn" TotalCount 0 SpawnCount 0 MaxActive 0 FirstSpawnWarningSound "vo\announcer_begins_10sec.mp3" Squad{RandomChoice{TFBot{}}} } WaveSpawn { Name "countdown3" Where "frontrockspawn" TotalCount 0 SpawnCount 0 MaxActive 0 WaitBeforeStarting 7 FirstSpawnWarningSound "vo\announcer_begins_3sec.mp3" } WaveSpawn { Name "countdown2" Where "frontrockspawn" TotalCount 0 SpawnCount 0 MaxActive 0 WaitBeforeStarting 8 FirstSpawnWarningSound "vo\announcer_begins_2sec.mp3" Squad{RandomChoice{TFBot{}}} } WaveSpawn { Name "countdown1" Where "frontrockspawn" TotalCount 0 SpawnCount 0 MaxActive 0 waitbeforestarting 9 FirstSpawnWarningSound "vo\announcer_begins_1sec.mp3" Squad{RandomChoice{TFBot{}}} } //-------------------------- //BARRIER REMOVER/ENGI BOTS //-------------------------- WaveSpawn { //hatch guard Name "killbarrier1" Where "hatchspawn" TotalCount 1 MaxActive 1 SpawnCount 1 waitbeforestarting 10 Support Limited FirstSpawnOutput { Target barrier1 Action Disable } LastSpawnOutput { Target barrier1 Action DisableCollision } Squad{RandomChoice {TFBot{}}} } WaveSpawn { Name "killbarrier2" Where "gateAspawn" TotalCount 1 MaxActive 1 SpawnCount 1 waitbeforestarting 10 FirstSpawnOutput { Target barrier2 Action Disable } LastSpawnOutput { Target barrier2 Action DisableCollision } TFBot { Class Engineer Name Engineer Skill Expert Health 275 ExtAttr BuildDispenserAsTeleporter ClassIcon red2_lite TeleportWhere "gateAspawn" Item "The Jag" StripItemSlot 0 Item "The Wrangler" AddCond { Name TF_COND_REPROGRAMMED } CharacterAttributes { "engineer sentry build rate multiplier" 6 "mvm sentry ammo" 99 "building cost reduction" 0.01 "metal regen" 999 "maxammo metal increased" 999 "voice pitch scale" 0 } } } WaveSpawn { Name "killbarrier3" Where "engispawn2" TotalCount 1 MaxActive 1 SpawnCount 1 waitbeforestarting 10 FirstSpawnOutput { Target barrier3 Action Disable } LastSpawnOutput { Target barrier3 Action DisableCollision } TFBot { Class Engineer Name Engineer Skill Expert Health 275 ExtAttr BuildDispenserAsTeleporter ClassIcon red2_lite TeleportWhere "gateAspawn" Item "The Jag" StripItemSlot 0 Item "The Wrangler" AddCond { Name TF_COND_REPROGRAMMED } CharacterAttributes { "engineer sentry build rate multiplier" 6 "mvm sentry ammo" 99 "building cost reduction" 0.01 "metal regen" 999 "maxammo metal increased" 999 "voice pitch scale" 0 } } } WaveSpawn { Name "killbarrier4" Where "engispawn" TotalCount 1 MaxActive 1 SpawnCount 1 waitbeforestarting 10 FirstSpawnOutput { Target barrier4 Action Disable } LastSpawnOutput { Target barrier4 Action DisableCollision } TFBot { Class Engineer Name Engineer Skill Expert Health 275 ExtAttr BuildDispenserAsTeleporter ClassIcon red2_lite TeleportWhere "gateAspawn" Item "The Jag" StripItemSlot 0 StripItemSlot 1 AddCond { Name TF_COND_REPROGRAMMED } CharacterAttributes { "engineer sentry build rate multiplier" 6 "mvm sentry ammo" 99 "building cost reduction" 0.01 "metal regen" 999 "maxammo metal increased" 999 "voice pitch scale" 0 } } } WaveSpawn { //spawns playercap template Name "killbarrier5" Where "gateAspawn" TotalCount 1 MaxActive 1 SpawnCount 1 waitbeforestarting 10 FirstSpawnOutput { Target barrier5 Action Disable } LastSpawnOutput { Target barrier5 Action DisableCollision } TFBot { Class Engineer Name Engineer Skill Expert Health 275 ExtAttr BuildDispenserAsTeleporter ClassIcon red2_lite TeleportWhere "gateAspawn" Item "The Jag" StripItemSlot 0 StripItemSlot 1 AddCond { Name TF_COND_REPROGRAMMED } SpawnTemplate "playercap2" CharacterAttributes { "engineer sentry build rate multiplier" 6 "mvm sentry ammo" 99 "building cost reduction" 0.01 "metal regen" 999 "maxammo metal increased" 999 "voice pitch scale" 0 } } } WaveSpawn { //insta dies to save bot slots Name "killbarrier6" Where "gateAspawn" TotalCount 1 MaxActive 1 SpawnCount 1 waitbeforestarting 10 // TotalCurrency 19 FirstSpawnOutput { Target barrier6 Action Disable } LastSpawnOutput { Target barrier6 Action DisableCollision } TFBot { Class Engineer ClassIcon red2_lite Name "" AddCond { Name TF_COND_REPROGRAMMED } CharacterAttributes { "health drain" -125 "voice pitch scale" 0 "force distribute currency on death" 1} } } WaveSpawn { //insta dies to save bot slots Name "killbarrier7" Where "engispawn" TotalCount 1 MaxActive 1 SpawnCount 1 waitbeforestarting 10 FirstSpawnOutput { Target barrier7 Action Disable } LastSpawnOutput { Target barrier7 Action DisableCollision } TFBot { Class Engineer ClassIcon red2_lite Name "" AddCond { Name TF_COND_REPROGRAMMED } CharacterAttributes { "health drain" -125 "voice pitch scale" 0} } } WaveSpawn { //insta dies to save bot slots Name "killbarrier8" TotalCount 1 MaxActive 1 SpawnCount 1 Where "gateAspawn" waitbeforestarting 10 FirstSpawnOutput { Target barrier8 Action Disable } LastSpawnOutput { Target barrier8 Action DisableCollision } TFBot { Class Engineer ClassIcon red2_lite Name "" AddCond { Name TF_COND_REPROGRAMMED } CharacterAttributes { "health drain" -125 "voice pitch scale" 0} } } WaveSpawn { //insta dies to save bot slots Name "killbarrier9" TotalCount 1 MaxActive 1 SpawnCount 1 Where "gateAspawn" waitbeforestarting 10 FirstSpawnOutput { Target barrier9 Action DisableCollision } LastSpawnOutput { Target barrier9 Action Disable } DoneOutput { Target barrier10 Action DisableCollision } TFBot { Class Engineer ClassIcon red2_lite Name "" AddCond { Name TF_COND_REPROGRAMMED } CharacterAttributes { "health drain" -125 "voice pitch scale" 0} } } WaveSpawn { //part of red subwave 1 Name "rWave1a1" TotalCount 24 SpawnCount 2 MaxActive 8 WaitBetweenSpawns 2 TotalCurrency 140 Where "gateAspawn" waitbeforestarting 10 FirstSpawnOutput { Target barrier10 Action Disable } Squad { TFBot { Class Demoman Skill Expert Action Mobber WeaponRestrictions SecondaryOnly AddCond { Name TF_COND_REPROGRAMMED } ItemAttributes { ItemName "TF_WEAPON_GRENADELAUNCHER" "is_passive_weapon" 1 "override projectile type" 7 "fire rate penalty" 420 } ItemAttributes { ItemName "TF_WEAPON_PIPEBOMBLAUNCHER" "stickybomb charge rate" 0.001 "max pipebombs decreased" -5 "Projectile range increased" 0.35 } CharacterAttributes {"voice pitch scale" 0 "crit mod disabled" 0 "health from packs decreased" 0.01 "force distribute currency on death" 1 } } TFBot { Class Soldier AddCond { Name TF_COND_REPROGRAMMED } Action Mobber Skill Expert UseBestWeapon 1 CharacterAttributes {"voice pitch scale" 0 "crit mod disabled" 0 "health from packs decreased" 0.01 "force distribute currency on death" 1 } } } } WaveSpawn { //part of red subwave 1 Name "rWave1a" Where "frontrockspawn" TotalCount 1 MaxActive 1 SpawnCount 1 waitbeforestarting 10 TotalCurrency 56 StartWaveOutput { Target "gateBspawn" Action Disable } FirstSpawnOutput { Target barrier11 Action Disable } LastSpawnOutput { Target barrier11 Action DisableCollision } TFBot { Template T_TFBot_Giant_Demo_RapidFire CharacterAttributes {"voice pitch scale" 0 "crit mod disabled" 0 "health from packs decreased" 0.01 "force distribute currency on death" 1 } Attributes AlwaysCrit Action Mobber AddCond { Name TF_COND_REPROGRAMMED } } } //-------------------------- //RED WAVESPAWNS //-------------------------- WaveSpawn { Name "rWave1a1" Where "gateAspawn" TotalCount 2 SpawnCount 1 MaxActive 1 WaitForAllDead "wave1a" TotalCurrency 100 TFBot { Template T_TFBot_Giant_Heavyweapons_Shotgun AddCond { Name TF_COND_REPROGRAMMED } Action Mobber ClassIcon heavy_shotgun_red CharacterAttributes {"voice pitch scale" 0 "health from packs decreased" 0.01 "force distribute currency on death" 1 } } } WaveSpawn { Name "rWave1b" Where "gateBspawn" TotalCount 12 SpawnCount 1 MaxActive 3 WaitBetweenSpawns 4 WaitBeforeStarting 6 TotalCurrency 54 TFBot { Template T_TFBot_Heavyweapons_Fist Attributes AlwaysCrit Attributes DisableDodge Action Mobber StripItemSlot 0 StripItemSlot 1 AddCond { Name TF_COND_REPROGRAMMED } CharacterAttributes {"voice pitch scale" 0 "health from packs decreased" 0.01 "force distribute currency on death" 1 "crit mod disabled" 0} } } WaveSpawn { Name "rWave1b" Where "gateBspawn" TotalCount 32 SpawnCount 2 MaxActive 8 TotalCurrency 60 RandomChoice { TFBot { Class Engineer Health 275 Skill Expert ClassIcon engineer_frontier_justice_nys Item "The Frontier Justice" Item "The Data Mining Light" Attributes HoldFireUntilFullReload StripItemSlot 1 StripItemSlot 2 StripItemSlot 3 StripItemSlot 4 ItemAttributes { ItemName "The Frontier Justice" "killstreak tier" 2 "health from packs decreased" 0.01 "force distribute currency on death" 1 "crit mod disabled" 0 "voice pitch scale" 0 "critboost on kill" 3 } UseMeleeThreatPrioritization 1 AddCond { Name TF_COND_REPROGRAMMED } Action Mobber WeaponRestrictions PrimaryOnly } TFBot { Class Engineer Health 275 Skill Hard ClassIcon engineer_frontier_justice_nys Item "The Frontier Justice" Item "The Data Mining Light" Attributes HoldFireUntilFullReload StripItemSlot 1 StripItemSlot 2 StripItemSlot 3 StripItemSlot 4 ItemAttributes { ItemName "The Frontier Justice" "killstreak tier" 2 "health from packs decreased" 0.01 "force distribute currency on death" 1 "crit mod disabled" 0 "voice pitch scale" 0 "critboost on kill" 3 } AddCond { Name TF_COND_REPROGRAMMED } Action Mobber WeaponRestrictions PrimaryOnly } TFBot { Class Engineer Health 275 Skill Expert ClassIcon engineer_frontier_justice_nys Item "The Frontier Justice" Item "The Data Mining Light" Attributes HoldFireUntilFullReload StripItemSlot 1 StripItemSlot 2 StripItemSlot 3 StripItemSlot 4 ItemAttributes { ItemName "The Frontier Justice" "killstreak tier" 2 "health from packs decreased" 0.01 "force distribute currency on death" 1 "crit mod disabled" 0 "voice pitch scale" 0 "critboost on kill" 3 } AddCond { Name TF_COND_REPROGRAMMED } Action Mobber WeaponRestrictions PrimaryOnly } TFBot { Class Engineer Health 500 Skill Expert ClassIcon engineer_frontier_justice_nys Item "The Frontier Justice" Item "Golden Wrench" Item "The Data Mining Light" StripItemSlot 1 StripItemSlot 3 StripItemSlot 4 ItemAttributes { ItemName "The Frontier Justice" "killstreak tier" 2 "health from packs decreased" 0.01 "force distribute currency on death" 1 "crit mod disabled" 0 "voice pitch scale" 0 "critboost on kill" 3 } Attributes HoldFireUntilFullReload UseMeleeThreatPrioritization 1 Action Sniper AddCond { Name TF_COND_REPROGRAMMED } ItemAttributes { ItemName "The Frontier Justice" "killstreak tier" 2 "deploy time decreased" 0.01 "health from packs decreased" 0.01 "force distribute currency on death" 1 "crit mod disabled" 0 "voice pitch scale" 0 "critboost on kill" 3 } ItemAttributes { ItemName "Golden Wrench" "provide on active" 1 "melee bounds multiplier" 3 "crit vs non burning players" 1 "killstreak tier" 2 "kill forces attacker to laugh" 1 "critboost on kill" 10 } } } } WaveSpawn { Name "rWave1c" Where "bighatchspawn" TotalCount 3 SpawnCount 1 MaxActive 2 WaitBetweenSpawns 15 WaitForAllSpawned "rWave1b" TotalCurrency 90 FirstSpawnOutput { Target finalsubwave Action Show } DoneOutput { Target unblockhatch Action Trigger } TFBot { Template T_TFBot_Giant_Soldier_Spammer Action Mobber AddCond { Name TF_COND_REPROGRAMMED } CharacterAttributes { "health from packs decreased" 0.01 "voice pitch scale" 0 "crit mod disabled" 0 "force distribute currency on death" 1 } } } WaveSpawn { Name "rWave1c1" Where "red_spawn" TotalCount 991 SpawnCount 2 MaxActive 4 WaitBetweenSpawns 3 WaitForAllDead "rWave1b" RandomChoice { TFBot { Template T_TFBot_Soldier_Extended_Buff_Banner ClassIcon red2_lite Action Mobber Attributes DisableDodge AddCond { Name TF_COND_REPROGRAMMED } CharacterAttributes {"voice pitch scale" 0 "crit mod disabled" 0 "health from packs decreased" 0.01 } } TFBot { Class Soldier ClassIcon red2_lite AddCond { Name TF_COND_REPROGRAMMED } Action Mobber Skill Expert Attributes DisableDodge UseBestWeapon 1 CharacterAttributes {"voice pitch scale" 0 "crit mod disabled" 0 "health from packs decreased" 0.01 } } TFBot { Class Soldier ClassIcon red2_lite AddCond { Name TF_COND_REPROGRAMMED } Action Mobber Skill Expert Attributes DisableDodge UseBestWeapon 1 CharacterAttributes {"voice pitch scale" 0 "crit mod disabled" 0 "health from packs decreased" 0.01 } } TFBot { Class Demoman ClassIcon red2_lite Skill Expert AddCond { Name TF_COND_REPROGRAMMED } Action Mobber Attributes DisableDodge CharacterAttributes {"voice pitch scale" 0 "crit mod disabled" 0 "health from packs decreased" 0.01 } } TFBot { Class Demoman ClassIcon red2_lite Skill Expert AddCond { Name TF_COND_REPROGRAMMED } Action Mobber Attributes DisableDodge CharacterAttributes {"voice pitch scale" 0 "crit mod disabled" 0 "health from packs decreased" 0.01 } } } } //-------------------------- //BLUE WAVESPAWNS //-------------------------- WaveSpawn { Name "bWave1a" Where spawnbot TotalCount 999 MaxActive 4 SpawnCount 1 Support Limited WaitBeforeStarting 7 StartWaveOutput { Target escorttogate Action Show } RandomChoice { TFBot { Template T_TFGateBot_Scout_Hard } TFBot { Template T_TFGateBot_Scout_FaN ClassIcon scout } TFBot { Template T_TFGateBot_Scout_Melee } TFBot { Template T_TFGateBot_Scout_Melee } } } WaveSpawn { Name "bWave1a" Where spawnbot TotalCount 999 MaxActive 1 SpawnCount 1 WaitBetweenSpawns 6 WaitBeforeStarting 7 Support Limited TFBot { Class Scout Skill Expert UseBestWeapon 1 Attributes IgnoreFlag Tag bot_gatebot Tag nav_prefer_gate1_flank BehaviorModifiers Push Item "MvM GateBot Light Scout" } } WaveSpawn { Name "bWave1bgatebot" // Where spawnbot Where spawnbot TotalCount 1 MaxActive 1 SpawnCount 1 Support Limited LastSpawnOutput { Target resetfixendurance Action Trigger } LastSpawnOutput { Target protectgianthint Action Show } TFBot { Class Pyro Name "Giant Pyro" ClassIcon pyro_giant Tag nav_prefer_gate1_flank // having these will cause bots to run towards gates Tag bot_gatebot // having these will cause bots to run towards gates Attributes IgnoreFlag BehaviorModifiers Push Tag bot_giant Item "MvM GateBot Light Pyro" Skill Normal Health 3000 StripItemSlot 2 UseBestWeapon 1 UseMeleeThreatPrioritization 1 Item "The Flare Gun" Attributes MiniBoss Attributes UseBossHealthBar CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0 "airblast vulnerability multiplier" 0 "override footstep sound set" 6 } } } WaveSpawn { Name "bWave1b" // Where spawnbot Where spawnbot TotalCount 2 MaxActive 1 SpawnCount 1 Support Limited WaitForAllDead "bWave1bgatebot" FirstSpawnOutput { Target resetfixendurance Action Trigger } TFBot { Class Pyro Name "Giant Pyro" ClassIcon pyro_giant Skill Normal Health 3000 StripItemSlot 2 UseBestWeapon 1 UseMeleeThreatPrioritization 1 Item "The Flare Gun" Attributes MiniBoss Attributes UseBossHealthBar Action EscortFlag CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0 "airblast vulnerability multiplier" 0 "override footstep sound set" 6 "cannot pick up intelligence" 1 } } } WaveSpawn { Name "bWave1b1" // Where spawnbot Where spawnbot TotalCount 3 MaxActive 1 SpawnCount 1 WaitForAllDead "bWave1b" WaitBeforeStarting 5 Support Limited DoneWarningSound "vo\announcer_failure.mp3" LastSpawnWarningSound "ambient\machines\thumper_shutdown1.wav" LastSpawnOutput { Target onegiantleft Action Show } DoneOutput { Target redwin_relay Action Trigger } TFBot { Template T_TFBot_Giant_Soldier Attributes UseBossHealthBar Action EscortFlag Skill Normal CharacterAttributes { "cannot pick up intelligence" 1 } } } } //-------------------------- //WAVE 3 //-------------------------- Wave { StartWaveOutput { Target wave_start_relay_expert Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } Explanation { Line "{blue}Defend your giants and deploy the bomb!" Line "{red}Losing all of your giant support will fail the wave" Line "{0600A6}_____________________________" Line "{green}Your support this wave:" Line "" Line "{blue}- 3 Giant Pyros" Line "{blue}- 3 Giant Soldiers" Line "{blue}- ∞ Scout support {yellow} (Gate Bots)" Line "{0600A6}_____________________________" } SpawnTemplate "progressblocker1" SpawnTemplate "progressblocker2" SpawnTemplate "hatchblocker" //-------------------------- //COUNTDOWN //-------------------------- WaveSpawn { Name "countdown" Where "frontrockspawn" TotalCount 0 SpawnCount 0 MaxActive 0 FirstSpawnWarningSound "vo\announcer_begins_10sec.mp3" Squad{RandomChoice{TFBot{}}} } WaveSpawn { Name "countdown3" Where "frontrockspawn" TotalCount 0 SpawnCount 0 MaxActive 0 WaitBeforeStarting 7 FirstSpawnWarningSound "vo\announcer_begins_3sec.mp3" } WaveSpawn { Name "countdown2" Where "frontrockspawn" TotalCount 0 SpawnCount 0 MaxActive 0 WaitBeforeStarting 8 FirstSpawnWarningSound "vo\announcer_begins_2sec.mp3" Squad{RandomChoice{TFBot{}}} } WaveSpawn { Name "countdown1" Where "frontrockspawn" TotalCount 0 SpawnCount 0 MaxActive 0 waitbeforestarting 9 FirstSpawnWarningSound "vo\announcer_begins_1sec.mp3" Squad{RandomChoice{TFBot{}}} } //-------------------------- //BARRIER REMOVER/ENGI BOTS //-------------------------- WaveSpawn { //hatch guard Name "killbarrier1" Where "hatchspawn" TotalCount 1 MaxActive 1 SpawnCount 1 waitbeforestarting 10 Support Limited FirstSpawnOutput { Target barrier1 Action Disable } LastSpawnOutput { Target barrier1 Action DisableCollision } Squad{RandomChoice {TFBot{}}} } WaveSpawn { Name "killbarrier2" Where "gateAspawn" TotalCount 1 MaxActive 1 SpawnCount 1 waitbeforestarting 10 FirstSpawnOutput { Target barrier2 Action Disable } LastSpawnOutput { Target barrier2 Action DisableCollision } TFBot { Class Engineer Name Engineer Skill Expert Health 275 ExtAttr BuildDispenserAsTeleporter ClassIcon red2_lite TeleportWhere "gateAspawn" Item "The Jag" StripItemSlot 0 Item "The Wrangler" AddCond { Name TF_COND_REPROGRAMMED } CharacterAttributes { "engineer sentry build rate multiplier" 6 "mvm sentry ammo" 99 "building cost reduction" 0.01 "metal regen" 999 "maxammo metal increased" 999 "voice pitch scale" 0 } } } WaveSpawn { Name "killbarrier3" Where "engispawn2" TotalCount 1 MaxActive 1 SpawnCount 1 waitbeforestarting 10 FirstSpawnOutput { Target barrier3 Action Disable } LastSpawnOutput { Target barrier3 Action DisableCollision } TFBot { Class Engineer Name Engineer Skill Expert Health 275 ExtAttr BuildDispenserAsTeleporter ClassIcon red2_lite TeleportWhere "gateAspawn" Item "The Jag" StripItemSlot 0 Item "The Wrangler" AddCond { Name TF_COND_REPROGRAMMED } CharacterAttributes { "engineer sentry build rate multiplier" 6 "mvm sentry ammo" 99 "building cost reduction" 0.01 "metal regen" 999 "maxammo metal increased" 999 "voice pitch scale" 0 } } } WaveSpawn { Name "killbarrier4" Where "engispawn" TotalCount 1 MaxActive 1 SpawnCount 1 waitbeforestarting 10 FirstSpawnOutput { Target barrier4 Action Disable } LastSpawnOutput { Target barrier4 Action DisableCollision } TFBot { Class Engineer Name Engineer Skill Expert Health 275 ExtAttr BuildDispenserAsTeleporter ClassIcon red2_lite TeleportWhere "gateAspawn" Item "The Jag" StripItemSlot 0 StripItemSlot 1 AddCond { Name TF_COND_REPROGRAMMED } CharacterAttributes { "engineer sentry build rate multiplier" 6 "mvm sentry ammo" 99 "building cost reduction" 0.01 "metal regen" 999 "maxammo metal increased" 999 "voice pitch scale" 0 } } } WaveSpawn { //spawns playercap template Name "killbarrier5" Where "gateAspawn" TotalCount 1 MaxActive 1 SpawnCount 1 waitbeforestarting 10 FirstSpawnOutput { Target barrier5 Action Disable } LastSpawnOutput { Target barrier5 Action DisableCollision } TFBot { Class Engineer Name Engineer Skill Expert Health 275 ExtAttr BuildDispenserAsTeleporter ClassIcon red2_lite TeleportWhere "gateAspawn" Item "The Jag" StripItemSlot 0 StripItemSlot 1 AddCond { Name TF_COND_REPROGRAMMED } SpawnTemplate "playercap2" CharacterAttributes { "engineer sentry build rate multiplier" 6 "mvm sentry ammo" 99 "building cost reduction" 0.01 "metal regen" 999 "maxammo metal increased" 999 "voice pitch scale" 0 } } } WaveSpawn { //insta dies to save bot slots Name "killbarrier6" Where "gateAspawn" TotalCount 1 MaxActive 1 SpawnCount 1 waitbeforestarting 10 // TotalCurrency 19 FirstSpawnOutput { Target barrier6 Action Disable } LastSpawnOutput { Target barrier6 Action DisableCollision } TFBot { Class Engineer ClassIcon red2_lite Name "" AddCond { Name TF_COND_REPROGRAMMED } CharacterAttributes { "health drain" -125 "voice pitch scale" 0 "force distribute currency on death" 1} } } WaveSpawn { //insta dies to save bot slots Name "killbarrier7" Where "engispawn" TotalCount 1 MaxActive 1 SpawnCount 1 waitbeforestarting 10 FirstSpawnOutput { Target barrier7 Action Disable } LastSpawnOutput { Target barrier7 Action DisableCollision } TFBot { Class Engineer ClassIcon red2_lite Name "" AddCond { Name TF_COND_REPROGRAMMED } CharacterAttributes { "health drain" -125 "voice pitch scale" 0} } } WaveSpawn { //insta dies to save bot slots Name "killbarrier8" TotalCount 1 MaxActive 1 SpawnCount 1 Where "gateAspawn" waitbeforestarting 10 FirstSpawnOutput { Target barrier8 Action Disable } LastSpawnOutput { Target barrier8 Action DisableCollision } TFBot { Class Engineer ClassIcon red2_lite Name "" AddCond { Name TF_COND_REPROGRAMMED } CharacterAttributes { "health drain" -125 "voice pitch scale" 0} } } WaveSpawn { //insta dies to save bot slots Name "killbarrier9" TotalCount 1 MaxActive 1 SpawnCount 1 Where "gateAspawn" waitbeforestarting 10 FirstSpawnOutput { Target barrier9 Action DisableCollision } LastSpawnOutput { Target barrier9 Action Disable } DoneOutput { Target barrier10 Action DisableCollision } TFBot { Class Engineer ClassIcon red2_lite Name "" AddCond { Name TF_COND_REPROGRAMMED } CharacterAttributes { "health drain" -125 "voice pitch scale" 0} } } WaveSpawn { //part of red subwave 1 Name "rWave1a1" TotalCount 24 SpawnCount 2 MaxActive 8 WaitBetweenSpawns 2 TotalCurrency 140 Where "gateAspawn" waitbeforestarting 10 FirstSpawnOutput { Target barrier10 Action Disable } Squad { TFBot { Class Demoman Skill Expert Action Mobber WeaponRestrictions SecondaryOnly AddCond { Name TF_COND_REPROGRAMMED } ItemAttributes { ItemName "TF_WEAPON_GRENADELAUNCHER" "is_passive_weapon" 1 "override projectile type" 7 "fire rate penalty" 420 } ItemAttributes { ItemName "TF_WEAPON_PIPEBOMBLAUNCHER" "stickybomb charge rate" 0.001 "max pipebombs decreased" -5 "Projectile range increased" 0.35 } CharacterAttributes {"voice pitch scale" 0 "crit mod disabled" 0 "health from packs decreased" 0.01 "force distribute currency on death" 1 } } TFBot { Class Soldier AddCond { Name TF_COND_REPROGRAMMED } Action Mobber Skill Expert UseBestWeapon 1 CharacterAttributes {"voice pitch scale" 0 "crit mod disabled" 0 "health from packs decreased" 0.01 "force distribute currency on death" 1 } } } } WaveSpawn { //part of red subwave 1 Name "rWave1a" Where "frontrockspawn" TotalCount 1 MaxActive 1 SpawnCount 1 waitbeforestarting 10 TotalCurrency 56 StartWaveOutput { Target "gateBspawn" Action Disable } FirstSpawnOutput { Target barrier11 Action Disable } LastSpawnOutput { Target barrier11 Action DisableCollision } TFBot { Template T_TFBot_Giant_Demo_RapidFire CharacterAttributes {"voice pitch scale" 0 "crit mod disabled" 0 "health from packs decreased" 0.01 "force distribute currency on death" 1 } Attributes AlwaysCrit Action Mobber AddCond { Name TF_COND_REPROGRAMMED } } } //-------------------------- //RED WAVESPAWNS //-------------------------- WaveSpawn { Name "rWave1a1" Where "gateAspawn" TotalCount 2 SpawnCount 1 MaxActive 1 WaitForAllDead "wave1a" TotalCurrency 100 TFBot { Template T_TFBot_Giant_Heavyweapons_Shotgun AddCond { Name TF_COND_REPROGRAMMED } Action Mobber ClassIcon heavy_shotgun_red CharacterAttributes {"voice pitch scale" 0 "health from packs decreased" 0.01 "force distribute currency on death" 1 } } } WaveSpawn { Name "rWave1b" Where "gateBspawn" TotalCount 12 SpawnCount 1 MaxActive 3 WaitBetweenSpawns 4 WaitBeforeStarting 6 TotalCurrency 54 TFBot { Template T_TFBot_Heavyweapons_Fist Attributes AlwaysCrit Attributes DisableDodge Action Mobber StripItemSlot 0 StripItemSlot 1 AddCond { Name TF_COND_REPROGRAMMED } CharacterAttributes {"voice pitch scale" 0 "health from packs decreased" 0.01 "force distribute currency on death" 1 "crit mod disabled" 0} } } WaveSpawn { Name "rWave1b" Where "gateBspawn" TotalCount 32 SpawnCount 2 MaxActive 8 TotalCurrency 60 RandomChoice { TFBot { Class Engineer Health 275 Skill Expert ClassIcon engineer_frontier_justice_nys Item "The Frontier Justice" Item "The Data Mining Light" Attributes HoldFireUntilFullReload StripItemSlot 1 StripItemSlot 2 StripItemSlot 3 StripItemSlot 4 ItemAttributes { ItemName "The Frontier Justice" "killstreak tier" 2 "health from packs decreased" 0.01 "force distribute currency on death" 1 "crit mod disabled" 0 "voice pitch scale" 0 "critboost on kill" 3 } UseMeleeThreatPrioritization 1 AddCond { Name TF_COND_REPROGRAMMED } Action Mobber WeaponRestrictions PrimaryOnly } TFBot { Class Engineer Health 275 Skill Hard ClassIcon engineer_frontier_justice_nys Item "The Frontier Justice" Item "The Data Mining Light" Attributes HoldFireUntilFullReload StripItemSlot 1 StripItemSlot 2 StripItemSlot 3 StripItemSlot 4 ItemAttributes { ItemName "The Frontier Justice" "killstreak tier" 2 "health from packs decreased" 0.01 "force distribute currency on death" 1 "crit mod disabled" 0 "voice pitch scale" 0 "critboost on kill" 3 } AddCond { Name TF_COND_REPROGRAMMED } Action Mobber WeaponRestrictions PrimaryOnly } TFBot { Class Engineer Health 275 Skill Expert ClassIcon engineer_frontier_justice_nys Item "The Frontier Justice" Item "The Data Mining Light" Attributes HoldFireUntilFullReload StripItemSlot 1 StripItemSlot 2 StripItemSlot 3 StripItemSlot 4 ItemAttributes { ItemName "The Frontier Justice" "killstreak tier" 2 "health from packs decreased" 0.01 "force distribute currency on death" 1 "crit mod disabled" 0 "voice pitch scale" 0 "critboost on kill" 3 } AddCond { Name TF_COND_REPROGRAMMED } Action Mobber WeaponRestrictions PrimaryOnly } TFBot { Class Engineer Health 500 Skill Expert ClassIcon engineer_frontier_justice_nys Item "The Frontier Justice" Item "Golden Wrench" Item "The Data Mining Light" StripItemSlot 1 StripItemSlot 3 StripItemSlot 4 ItemAttributes { ItemName "The Frontier Justice" "killstreak tier" 2 "health from packs decreased" 0.01 "force distribute currency on death" 1 "crit mod disabled" 0 "voice pitch scale" 0 "critboost on kill" 3 } Attributes HoldFireUntilFullReload UseMeleeThreatPrioritization 1 Action Sniper AddCond { Name TF_COND_REPROGRAMMED } ItemAttributes { ItemName "The Frontier Justice" "killstreak tier" 2 "deploy time decreased" 0.01 "health from packs decreased" 0.01 "force distribute currency on death" 1 "crit mod disabled" 0 "voice pitch scale" 0 "critboost on kill" 3 } ItemAttributes { ItemName "Golden Wrench" "provide on active" 1 "melee bounds multiplier" 3 "crit vs non burning players" 1 "killstreak tier" 2 "kill forces attacker to laugh" 1 "critboost on kill" 10 } } } } WaveSpawn { Name "rWave1c" Where "bighatchspawn" TotalCount 3 SpawnCount 1 MaxActive 2 WaitBetweenSpawns 15 WaitForAllSpawned "rWave1b" TotalCurrency 90 FirstSpawnOutput { Target finalsubwave Action Show } DoneOutput { Target unblockhatch Action Trigger } TFBot { Template T_TFBot_Giant_Soldier_Spammer Action Mobber AddCond { Name TF_COND_REPROGRAMMED } CharacterAttributes { "health from packs decreased" 0.01 "voice pitch scale" 0 "crit mod disabled" 0 "force distribute currency on death" 1 } } } WaveSpawn { Name "rWave1c1" Where "red_spawn" TotalCount 991 SpawnCount 2 MaxActive 4 WaitBetweenSpawns 3 WaitForAllDead "rWave1b" RandomChoice { TFBot { Template T_TFBot_Soldier_Extended_Buff_Banner ClassIcon red2_lite Action Mobber Attributes DisableDodge AddCond { Name TF_COND_REPROGRAMMED } CharacterAttributes {"voice pitch scale" 0 "crit mod disabled" 0 "health from packs decreased" 0.01 } } TFBot { Class Soldier ClassIcon red2_lite AddCond { Name TF_COND_REPROGRAMMED } Action Mobber Skill Expert Attributes DisableDodge UseBestWeapon 1 CharacterAttributes {"voice pitch scale" 0 "crit mod disabled" 0 "health from packs decreased" 0.01 } } TFBot { Class Soldier ClassIcon red2_lite AddCond { Name TF_COND_REPROGRAMMED } Action Mobber Skill Expert Attributes DisableDodge UseBestWeapon 1 CharacterAttributes {"voice pitch scale" 0 "crit mod disabled" 0 "health from packs decreased" 0.01 } } TFBot { Class Demoman ClassIcon red2_lite Skill Expert AddCond { Name TF_COND_REPROGRAMMED } Action Mobber Attributes DisableDodge CharacterAttributes {"voice pitch scale" 0 "crit mod disabled" 0 "health from packs decreased" 0.01 } } TFBot { Class Demoman ClassIcon red2_lite Skill Expert AddCond { Name TF_COND_REPROGRAMMED } Action Mobber Attributes DisableDodge CharacterAttributes {"voice pitch scale" 0 "crit mod disabled" 0 "health from packs decreased" 0.01 } } } } //-------------------------- //BLUE WAVESPAWNS //-------------------------- WaveSpawn { Name "bWave1a" Where spawnbot TotalCount 999 MaxActive 4 SpawnCount 1 Support Limited WaitBeforeStarting 7 StartWaveOutput { Target escorttogate Action Show } RandomChoice { TFBot { Template T_TFGateBot_Scout_Hard } TFBot { Template T_TFGateBot_Scout_FaN ClassIcon scout } TFBot { Template T_TFGateBot_Scout_Melee } TFBot { Template T_TFGateBot_Scout_Melee } } } WaveSpawn { Name "bWave1a" Where spawnbot TotalCount 999 MaxActive 1 SpawnCount 1 WaitBetweenSpawns 6 WaitBeforeStarting 7 Support Limited TFBot { Class Scout Skill Expert UseBestWeapon 1 Attributes IgnoreFlag Tag bot_gatebot Tag nav_prefer_gate1_flank BehaviorModifiers Push Item "MvM GateBot Light Scout" } } WaveSpawn { Name "bWave1bgatebot" // Where spawnbot Where spawnbot TotalCount 1 MaxActive 1 SpawnCount 1 Support Limited LastSpawnOutput { Target resetfixendurance Action Trigger } LastSpawnOutput { Target protectgianthint Action Show } TFBot { Class Pyro Name "Giant Pyro" ClassIcon pyro_giant Tag nav_prefer_gate1_flank // having these will cause bots to run towards gates Tag bot_gatebot // having these will cause bots to run towards gates Attributes IgnoreFlag BehaviorModifiers Push Tag bot_giant Item "MvM GateBot Light Pyro" Skill Normal Health 3000 StripItemSlot 2 UseBestWeapon 1 UseMeleeThreatPrioritization 1 Item "The Flare Gun" Attributes MiniBoss Attributes UseBossHealthBar CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0 "airblast vulnerability multiplier" 0 "override footstep sound set" 6 } } } WaveSpawn { Name "bWave1b" // Where spawnbot Where spawnbot TotalCount 2 MaxActive 1 SpawnCount 1 Support Limited WaitForAllDead "bWave1bgatebot" FirstSpawnOutput { Target resetfixendurance Action Trigger } TFBot { Class Pyro Name "Giant Pyro" ClassIcon pyro_giant Skill Normal Health 3000 StripItemSlot 2 UseBestWeapon 1 UseMeleeThreatPrioritization 1 Item "The Flare Gun" Attributes MiniBoss Attributes UseBossHealthBar Action EscortFlag CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0 "airblast vulnerability multiplier" 0 "override footstep sound set" 6 "cannot pick up intelligence" 1 } } } WaveSpawn { Name "bWave1b1" // Where spawnbot Where spawnbot TotalCount 3 MaxActive 1 SpawnCount 1 WaitForAllDead "bWave1b" WaitBeforeStarting 5 Support Limited DoneWarningSound "vo\announcer_failure.mp3" LastSpawnWarningSound "ambient\machines\thumper_shutdown1.wav" LastSpawnOutput { Target onegiantleft Action Show } DoneOutput { Target redwin_relay Action Trigger } TFBot { Template T_TFBot_Giant_Soldier Attributes UseBossHealthBar Action EscortFlag Skill Normal CharacterAttributes { "cannot pick up intelligence" 1 } } } } Wave { StartWaveOutput { Target wave_start_relay_expert Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } Explanation { Line "{blue}Defend your giants and deploy the bomb!" Line "{red}Losing all of your giant support will fail the wave" Line "{0600A6}_____________________________" Line "{green}Your support this wave:" Line "" Line "{blue}- 3 Giant Pyros" Line "{blue}- 3 Giant Soldiers" Line "{blue}- ∞ Scout support {yellow} (Gate Bots)" Line "{0600A6}_____________________________" } SpawnTemplate "progressblocker1" SpawnTemplate "progressblocker2" SpawnTemplate "hatchblocker" //-------------------------- //COUNTDOWN //-------------------------- WaveSpawn { Name "countdown" Where "frontrockspawn" TotalCount 0 SpawnCount 0 MaxActive 0 FirstSpawnWarningSound "vo\announcer_begins_10sec.mp3" Squad{RandomChoice{TFBot{}}} } WaveSpawn { Name "countdown3" Where "frontrockspawn" TotalCount 0 SpawnCount 0 MaxActive 0 WaitBeforeStarting 7 FirstSpawnWarningSound "vo\announcer_begins_3sec.mp3" } WaveSpawn { Name "countdown2" Where "frontrockspawn" TotalCount 0 SpawnCount 0 MaxActive 0 WaitBeforeStarting 8 FirstSpawnWarningSound "vo\announcer_begins_2sec.mp3" Squad{RandomChoice{TFBot{}}} } WaveSpawn { Name "countdown1" Where "frontrockspawn" TotalCount 0 SpawnCount 0 MaxActive 0 waitbeforestarting 9 FirstSpawnWarningSound "vo\announcer_begins_1sec.mp3" Squad{RandomChoice{TFBot{}}} } //-------------------------- //BARRIER REMOVER/ENGI BOTS //-------------------------- WaveSpawn { //hatch guard Name "killbarrier1" Where "hatchspawn" TotalCount 1 MaxActive 1 SpawnCount 1 waitbeforestarting 10 Support Limited FirstSpawnOutput { Target barrier1 Action Disable } LastSpawnOutput { Target barrier1 Action DisableCollision } Squad{RandomChoice {TFBot{}}} } WaveSpawn { Name "killbarrier2" Where "gateAspawn" TotalCount 1 MaxActive 1 SpawnCount 1 waitbeforestarting 10 FirstSpawnOutput { Target barrier2 Action Disable } LastSpawnOutput { Target barrier2 Action DisableCollision } TFBot { Class Engineer Name Engineer Skill Expert Health 275 ExtAttr BuildDispenserAsTeleporter ClassIcon red2_lite TeleportWhere "gateAspawn" Item "The Jag" StripItemSlot 0 Item "The Wrangler" AddCond { Name TF_COND_REPROGRAMMED } CharacterAttributes { "engineer sentry build rate multiplier" 6 "mvm sentry ammo" 99 "building cost reduction" 0.01 "metal regen" 999 "maxammo metal increased" 999 "voice pitch scale" 0 } } } WaveSpawn { Name "killbarrier3" Where "engispawn2" TotalCount 1 MaxActive 1 SpawnCount 1 waitbeforestarting 10 FirstSpawnOutput { Target barrier3 Action Disable } LastSpawnOutput { Target barrier3 Action DisableCollision } TFBot { Class Engineer Name Engineer Skill Expert Health 275 ExtAttr BuildDispenserAsTeleporter ClassIcon red2_lite TeleportWhere "gateAspawn" Item "The Jag" StripItemSlot 0 Item "The Wrangler" AddCond { Name TF_COND_REPROGRAMMED } CharacterAttributes { "engineer sentry build rate multiplier" 6 "mvm sentry ammo" 99 "building cost reduction" 0.01 "metal regen" 999 "maxammo metal increased" 999 "voice pitch scale" 0 } } } WaveSpawn { Name "killbarrier4" Where "engispawn" TotalCount 1 MaxActive 1 SpawnCount 1 waitbeforestarting 10 FirstSpawnOutput { Target barrier4 Action Disable } LastSpawnOutput { Target barrier4 Action DisableCollision } TFBot { Class Engineer Name Engineer Skill Expert Health 275 ExtAttr BuildDispenserAsTeleporter ClassIcon red2_lite TeleportWhere "gateAspawn" Item "The Jag" StripItemSlot 0 StripItemSlot 1 AddCond { Name TF_COND_REPROGRAMMED } CharacterAttributes { "engineer sentry build rate multiplier" 6 "mvm sentry ammo" 99 "building cost reduction" 0.01 "metal regen" 999 "maxammo metal increased" 999 "voice pitch scale" 0 } } } WaveSpawn { //spawns playercap template Name "killbarrier5" Where "gateAspawn" TotalCount 1 MaxActive 1 SpawnCount 1 waitbeforestarting 10 FirstSpawnOutput { Target barrier5 Action Disable } LastSpawnOutput { Target barrier5 Action DisableCollision } TFBot { Class Engineer Name Engineer Skill Expert Health 275 ExtAttr BuildDispenserAsTeleporter ClassIcon red2_lite TeleportWhere "gateAspawn" Item "The Jag" StripItemSlot 0 StripItemSlot 1 AddCond { Name TF_COND_REPROGRAMMED } SpawnTemplate "playercap2" CharacterAttributes { "engineer sentry build rate multiplier" 6 "mvm sentry ammo" 99 "building cost reduction" 0.01 "metal regen" 999 "maxammo metal increased" 999 "voice pitch scale" 0 } } } WaveSpawn { //insta dies to save bot slots Name "killbarrier6" Where "gateAspawn" TotalCount 1 MaxActive 1 SpawnCount 1 waitbeforestarting 10 // TotalCurrency 19 FirstSpawnOutput { Target barrier6 Action Disable } LastSpawnOutput { Target barrier6 Action DisableCollision } TFBot { Class Engineer ClassIcon red2_lite Name "" AddCond { Name TF_COND_REPROGRAMMED } CharacterAttributes { "health drain" -125 "voice pitch scale" 0 "force distribute currency on death" 1} } } WaveSpawn { //insta dies to save bot slots Name "killbarrier7" Where "engispawn" TotalCount 1 MaxActive 1 SpawnCount 1 waitbeforestarting 10 FirstSpawnOutput { Target barrier7 Action Disable } LastSpawnOutput { Target barrier7 Action DisableCollision } TFBot { Class Engineer ClassIcon red2_lite Name "" AddCond { Name TF_COND_REPROGRAMMED } CharacterAttributes { "health drain" -125 "voice pitch scale" 0} } } WaveSpawn { //insta dies to save bot slots Name "killbarrier8" TotalCount 1 MaxActive 1 SpawnCount 1 Where "gateAspawn" waitbeforestarting 10 FirstSpawnOutput { Target barrier8 Action Disable } LastSpawnOutput { Target barrier8 Action DisableCollision } TFBot { Class Engineer ClassIcon red2_lite Name "" AddCond { Name TF_COND_REPROGRAMMED } CharacterAttributes { "health drain" -125 "voice pitch scale" 0} } } WaveSpawn { //insta dies to save bot slots Name "killbarrier9" TotalCount 1 MaxActive 1 SpawnCount 1 Where "gateAspawn" waitbeforestarting 10 FirstSpawnOutput { Target barrier9 Action DisableCollision } LastSpawnOutput { Target barrier9 Action Disable } DoneOutput { Target barrier10 Action DisableCollision } TFBot { Class Engineer ClassIcon red2_lite Name "" AddCond { Name TF_COND_REPROGRAMMED } CharacterAttributes { "health drain" -125 "voice pitch scale" 0} } } WaveSpawn { //part of red subwave 1 Name "rWave1a1" TotalCount 24 SpawnCount 2 MaxActive 8 WaitBetweenSpawns 2 TotalCurrency 140 Where "gateAspawn" waitbeforestarting 10 FirstSpawnOutput { Target barrier10 Action Disable } Squad { TFBot { Class Demoman Skill Expert Action Mobber WeaponRestrictions SecondaryOnly AddCond { Name TF_COND_REPROGRAMMED } ItemAttributes { ItemName "TF_WEAPON_GRENADELAUNCHER" "is_passive_weapon" 1 "override projectile type" 7 "fire rate penalty" 420 } ItemAttributes { ItemName "TF_WEAPON_PIPEBOMBLAUNCHER" "stickybomb charge rate" 0.001 "max pipebombs decreased" -5 "Projectile range increased" 0.35 } CharacterAttributes {"voice pitch scale" 0 "crit mod disabled" 0 "health from packs decreased" 0.01 "force distribute currency on death" 1 } } TFBot { Class Soldier AddCond { Name TF_COND_REPROGRAMMED } Action Mobber Skill Expert UseBestWeapon 1 CharacterAttributes {"voice pitch scale" 0 "crit mod disabled" 0 "health from packs decreased" 0.01 "force distribute currency on death" 1 } } } } WaveSpawn { //part of red subwave 1 Name "rWave1a" Where "frontrockspawn" TotalCount 1 MaxActive 1 SpawnCount 1 waitbeforestarting 10 TotalCurrency 56 StartWaveOutput { Target "gateBspawn" Action Disable } FirstSpawnOutput { Target barrier11 Action Disable } LastSpawnOutput { Target barrier11 Action DisableCollision } TFBot { Template T_TFBot_Giant_Demo_RapidFire CharacterAttributes {"voice pitch scale" 0 "crit mod disabled" 0 "health from packs decreased" 0.01 "force distribute currency on death" 1 } Attributes AlwaysCrit Action Mobber AddCond { Name TF_COND_REPROGRAMMED } } } //-------------------------- //RED WAVESPAWNS //-------------------------- WaveSpawn { Name "rWave1a1" Where "gateAspawn" TotalCount 2 SpawnCount 1 MaxActive 1 WaitForAllDead "wave1a" TotalCurrency 100 TFBot { Template T_TFBot_Giant_Heavyweapons_Shotgun AddCond { Name TF_COND_REPROGRAMMED } Action Mobber ClassIcon heavy_shotgun_red CharacterAttributes {"voice pitch scale" 0 "health from packs decreased" 0.01 "force distribute currency on death" 1 } } } WaveSpawn { Name "rWave1b" Where "gateBspawn" TotalCount 12 SpawnCount 1 MaxActive 3 WaitBetweenSpawns 4 WaitBeforeStarting 6 TotalCurrency 54 TFBot { Template T_TFBot_Heavyweapons_Fist Attributes AlwaysCrit Attributes DisableDodge Action Mobber StripItemSlot 0 StripItemSlot 1 AddCond { Name TF_COND_REPROGRAMMED } CharacterAttributes {"voice pitch scale" 0 "health from packs decreased" 0.01 "force distribute currency on death" 1 "crit mod disabled" 0} } } WaveSpawn { Name "rWave1b" Where "gateBspawn" TotalCount 32 SpawnCount 2 MaxActive 8 TotalCurrency 60 RandomChoice { TFBot { Class Engineer Health 275 Skill Expert ClassIcon engineer_frontier_justice_nys Item "The Frontier Justice" Item "The Data Mining Light" Attributes HoldFireUntilFullReload StripItemSlot 1 StripItemSlot 2 StripItemSlot 3 StripItemSlot 4 ItemAttributes { ItemName "The Frontier Justice" "killstreak tier" 2 "health from packs decreased" 0.01 "force distribute currency on death" 1 "crit mod disabled" 0 "voice pitch scale" 0 "critboost on kill" 3 } UseMeleeThreatPrioritization 1 AddCond { Name TF_COND_REPROGRAMMED } Action Mobber WeaponRestrictions PrimaryOnly } TFBot { Class Engineer Health 275 Skill Hard ClassIcon engineer_frontier_justice_nys Item "The Frontier Justice" Item "The Data Mining Light" Attributes HoldFireUntilFullReload StripItemSlot 1 StripItemSlot 2 StripItemSlot 3 StripItemSlot 4 ItemAttributes { ItemName "The Frontier Justice" "killstreak tier" 2 "health from packs decreased" 0.01 "force distribute currency on death" 1 "crit mod disabled" 0 "voice pitch scale" 0 "critboost on kill" 3 } AddCond { Name TF_COND_REPROGRAMMED } Action Mobber WeaponRestrictions PrimaryOnly } TFBot { Class Engineer Health 275 Skill Expert ClassIcon engineer_frontier_justice_nys Item "The Frontier Justice" Item "The Data Mining Light" Attributes HoldFireUntilFullReload StripItemSlot 1 StripItemSlot 2 StripItemSlot 3 StripItemSlot 4 ItemAttributes { ItemName "The Frontier Justice" "killstreak tier" 2 "health from packs decreased" 0.01 "force distribute currency on death" 1 "crit mod disabled" 0 "voice pitch scale" 0 "critboost on kill" 3 } AddCond { Name TF_COND_REPROGRAMMED } Action Mobber WeaponRestrictions PrimaryOnly } TFBot { Class Engineer Health 500 Skill Expert ClassIcon engineer_frontier_justice_nys Item "The Frontier Justice" Item "Golden Wrench" Item "The Data Mining Light" StripItemSlot 1 StripItemSlot 3 StripItemSlot 4 ItemAttributes { ItemName "The Frontier Justice" "killstreak tier" 2 "health from packs decreased" 0.01 "force distribute currency on death" 1 "crit mod disabled" 0 "voice pitch scale" 0 "critboost on kill" 3 } Attributes HoldFireUntilFullReload UseMeleeThreatPrioritization 1 Action Sniper AddCond { Name TF_COND_REPROGRAMMED } ItemAttributes { ItemName "The Frontier Justice" "killstreak tier" 2 "deploy time decreased" 0.01 "health from packs decreased" 0.01 "force distribute currency on death" 1 "crit mod disabled" 0 "voice pitch scale" 0 "critboost on kill" 3 } ItemAttributes { ItemName "Golden Wrench" "provide on active" 1 "melee bounds multiplier" 3 "crit vs non burning players" 1 "killstreak tier" 2 "kill forces attacker to laugh" 1 "critboost on kill" 10 } } } } WaveSpawn { Name "rWave1c" Where "bighatchspawn" TotalCount 3 SpawnCount 1 MaxActive 2 WaitBetweenSpawns 15 WaitForAllSpawned "rWave1b" TotalCurrency 90 FirstSpawnOutput { Target finalsubwave Action Show } DoneOutput { Target unblockhatch Action Trigger } TFBot { Template T_TFBot_Giant_Soldier_Spammer Action Mobber AddCond { Name TF_COND_REPROGRAMMED } CharacterAttributes { "health from packs decreased" 0.01 "voice pitch scale" 0 "crit mod disabled" 0 "force distribute currency on death" 1 } } } WaveSpawn { Name "rWave1c1" Where "red_spawn" TotalCount 991 SpawnCount 2 MaxActive 4 WaitBetweenSpawns 3 WaitForAllDead "rWave1b" RandomChoice { TFBot { Template T_TFBot_Soldier_Extended_Buff_Banner ClassIcon red2_lite Action Mobber Attributes DisableDodge AddCond { Name TF_COND_REPROGRAMMED } CharacterAttributes {"voice pitch scale" 0 "crit mod disabled" 0 "health from packs decreased" 0.01 } } TFBot { Class Soldier ClassIcon red2_lite AddCond { Name TF_COND_REPROGRAMMED } Action Mobber Skill Expert Attributes DisableDodge UseBestWeapon 1 CharacterAttributes {"voice pitch scale" 0 "crit mod disabled" 0 "health from packs decreased" 0.01 } } TFBot { Class Soldier ClassIcon red2_lite AddCond { Name TF_COND_REPROGRAMMED } Action Mobber Skill Expert Attributes DisableDodge UseBestWeapon 1 CharacterAttributes {"voice pitch scale" 0 "crit mod disabled" 0 "health from packs decreased" 0.01 } } TFBot { Class Demoman ClassIcon red2_lite Skill Expert AddCond { Name TF_COND_REPROGRAMMED } Action Mobber Attributes DisableDodge CharacterAttributes {"voice pitch scale" 0 "crit mod disabled" 0 "health from packs decreased" 0.01 } } TFBot { Class Demoman ClassIcon red2_lite Skill Expert AddCond { Name TF_COND_REPROGRAMMED } Action Mobber Attributes DisableDodge CharacterAttributes {"voice pitch scale" 0 "crit mod disabled" 0 "health from packs decreased" 0.01 } } } } //-------------------------- //BLUE WAVESPAWNS //-------------------------- WaveSpawn { Name "bWave1a" Where spawnbot TotalCount 999 MaxActive 4 SpawnCount 1 Support Limited WaitBeforeStarting 7 StartWaveOutput { Target escorttogate Action Show } RandomChoice { TFBot { Template T_TFGateBot_Scout_Hard } TFBot { Template T_TFGateBot_Scout_FaN ClassIcon scout } TFBot { Template T_TFGateBot_Scout_Melee } TFBot { Template T_TFGateBot_Scout_Melee } } } WaveSpawn { Name "bWave1a" Where spawnbot TotalCount 999 MaxActive 1 SpawnCount 1 WaitBetweenSpawns 6 WaitBeforeStarting 7 Support Limited TFBot { Class Scout Skill Expert UseBestWeapon 1 Attributes IgnoreFlag Tag bot_gatebot Tag nav_prefer_gate1_flank BehaviorModifiers Push Item "MvM GateBot Light Scout" } } WaveSpawn { Name "bWave1bgatebot" // Where spawnbot Where spawnbot TotalCount 1 MaxActive 1 SpawnCount 1 Support Limited LastSpawnOutput { Target resetfixendurance Action Trigger } LastSpawnOutput { Target protectgianthint Action Show } TFBot { Class Pyro Name "Giant Pyro" ClassIcon pyro_giant Tag nav_prefer_gate1_flank // having these will cause bots to run towards gates Tag bot_gatebot // having these will cause bots to run towards gates Attributes IgnoreFlag BehaviorModifiers Push Tag bot_giant Item "MvM GateBot Light Pyro" Skill Normal Health 3000 StripItemSlot 2 UseBestWeapon 1 UseMeleeThreatPrioritization 1 Item "The Flare Gun" Attributes MiniBoss Attributes UseBossHealthBar CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0 "airblast vulnerability multiplier" 0 "override footstep sound set" 6 } } } WaveSpawn { Name "bWave1b" // Where spawnbot Where spawnbot TotalCount 2 MaxActive 1 SpawnCount 1 Support Limited WaitForAllDead "bWave1bgatebot" FirstSpawnOutput { Target resetfixendurance Action Trigger } TFBot { Class Pyro Name "Giant Pyro" ClassIcon pyro_giant Skill Normal Health 3000 StripItemSlot 2 UseBestWeapon 1 UseMeleeThreatPrioritization 1 Item "The Flare Gun" Attributes MiniBoss Attributes UseBossHealthBar Action EscortFlag CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0 "airblast vulnerability multiplier" 0 "override footstep sound set" 6 "cannot pick up intelligence" 1 } } } WaveSpawn { Name "bWave1b1" // Where spawnbot Where spawnbot TotalCount 3 MaxActive 1 SpawnCount 1 WaitForAllDead "bWave1b" WaitBeforeStarting 5 Support Limited DoneWarningSound "vo\announcer_failure.mp3" LastSpawnWarningSound "ambient\machines\thumper_shutdown1.wav" LastSpawnOutput { Target onegiantleft Action Show } DoneOutput { Target redwin_relay Action Trigger } TFBot { Template T_TFBot_Giant_Soldier Attributes UseBossHealthBar Action EscortFlag Skill Normal CharacterAttributes { "cannot pick up intelligence" 1 } } } } Wave { StartWaveOutput { Target wave_start_relay_expert Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } Explanation { Line "{blue}Defend your giants and deploy the bomb!" Line "{red}Losing all of your giant support will fail the wave" Line "{0600A6}_____________________________" Line "{green}Your support this wave:" Line "" Line "{blue}- 3 Giant Pyros" Line "{blue}- 3 Giant Soldiers" Line "{blue}- ∞ Scout support {yellow} (Gate Bots)" Line "{0600A6}_____________________________" } SpawnTemplate "progressblocker1" SpawnTemplate "progressblocker2" SpawnTemplate "hatchblocker" //-------------------------- //COUNTDOWN //-------------------------- WaveSpawn { Name "countdown" Where "frontrockspawn" TotalCount 0 SpawnCount 0 MaxActive 0 FirstSpawnWarningSound "vo\announcer_begins_10sec.mp3" Squad{RandomChoice{TFBot{}}} } WaveSpawn { Name "countdown3" Where "frontrockspawn" TotalCount 0 SpawnCount 0 MaxActive 0 WaitBeforeStarting 7 FirstSpawnWarningSound "vo\announcer_begins_3sec.mp3" } WaveSpawn { Name "countdown2" Where "frontrockspawn" TotalCount 0 SpawnCount 0 MaxActive 0 WaitBeforeStarting 8 FirstSpawnWarningSound "vo\announcer_begins_2sec.mp3" Squad{RandomChoice{TFBot{}}} } WaveSpawn { Name "countdown1" Where "frontrockspawn" TotalCount 0 SpawnCount 0 MaxActive 0 waitbeforestarting 9 FirstSpawnWarningSound "vo\announcer_begins_1sec.mp3" Squad{RandomChoice{TFBot{}}} } //-------------------------- //BARRIER REMOVER/ENGI BOTS //-------------------------- WaveSpawn { //hatch guard Name "killbarrier1" Where "hatchspawn" TotalCount 1 MaxActive 1 SpawnCount 1 waitbeforestarting 10 Support Limited FirstSpawnOutput { Target barrier1 Action Disable } LastSpawnOutput { Target barrier1 Action DisableCollision } Squad{RandomChoice {TFBot{}}} } WaveSpawn { Name "killbarrier2" Where "gateAspawn" TotalCount 1 MaxActive 1 SpawnCount 1 waitbeforestarting 10 FirstSpawnOutput { Target barrier2 Action Disable } LastSpawnOutput { Target barrier2 Action DisableCollision } TFBot { Class Engineer Name Engineer Skill Expert Health 275 ExtAttr BuildDispenserAsTeleporter ClassIcon red2_lite TeleportWhere "gateAspawn" Item "The Jag" StripItemSlot 0 Item "The Wrangler" AddCond { Name TF_COND_REPROGRAMMED } CharacterAttributes { "engineer sentry build rate multiplier" 6 "mvm sentry ammo" 99 "building cost reduction" 0.01 "metal regen" 999 "maxammo metal increased" 999 "voice pitch scale" 0 } } } WaveSpawn { Name "killbarrier3" Where "engispawn2" TotalCount 1 MaxActive 1 SpawnCount 1 waitbeforestarting 10 FirstSpawnOutput { Target barrier3 Action Disable } LastSpawnOutput { Target barrier3 Action DisableCollision } TFBot { Class Engineer Name Engineer Skill Expert Health 275 ExtAttr BuildDispenserAsTeleporter ClassIcon red2_lite TeleportWhere "gateAspawn" Item "The Jag" StripItemSlot 0 Item "The Wrangler" AddCond { Name TF_COND_REPROGRAMMED } CharacterAttributes { "engineer sentry build rate multiplier" 6 "mvm sentry ammo" 99 "building cost reduction" 0.01 "metal regen" 999 "maxammo metal increased" 999 "voice pitch scale" 0 } } } WaveSpawn { Name "killbarrier4" Where "engispawn" TotalCount 1 MaxActive 1 SpawnCount 1 waitbeforestarting 10 FirstSpawnOutput { Target barrier4 Action Disable } LastSpawnOutput { Target barrier4 Action DisableCollision } TFBot { Class Engineer Name Engineer Skill Expert Health 275 ExtAttr BuildDispenserAsTeleporter ClassIcon red2_lite TeleportWhere "gateAspawn" Item "The Jag" StripItemSlot 0 StripItemSlot 1 AddCond { Name TF_COND_REPROGRAMMED } CharacterAttributes { "engineer sentry build rate multiplier" 6 "mvm sentry ammo" 99 "building cost reduction" 0.01 "metal regen" 999 "maxammo metal increased" 999 "voice pitch scale" 0 } } } WaveSpawn { //spawns playercap template Name "killbarrier5" Where "gateAspawn" TotalCount 1 MaxActive 1 SpawnCount 1 waitbeforestarting 10 FirstSpawnOutput { Target barrier5 Action Disable } LastSpawnOutput { Target barrier5 Action DisableCollision } TFBot { Class Engineer Name Engineer Skill Expert Health 275 ExtAttr BuildDispenserAsTeleporter ClassIcon red2_lite TeleportWhere "gateAspawn" Item "The Jag" StripItemSlot 0 StripItemSlot 1 AddCond { Name TF_COND_REPROGRAMMED } SpawnTemplate "playercap2" CharacterAttributes { "engineer sentry build rate multiplier" 6 "mvm sentry ammo" 99 "building cost reduction" 0.01 "metal regen" 999 "maxammo metal increased" 999 "voice pitch scale" 0 } } } WaveSpawn { //insta dies to save bot slots Name "killbarrier6" Where "gateAspawn" TotalCount 1 MaxActive 1 SpawnCount 1 waitbeforestarting 10 // TotalCurrency 19 FirstSpawnOutput { Target barrier6 Action Disable } LastSpawnOutput { Target barrier6 Action DisableCollision } TFBot { Class Engineer ClassIcon red2_lite Name "" AddCond { Name TF_COND_REPROGRAMMED } CharacterAttributes { "health drain" -125 "voice pitch scale" 0 "force distribute currency on death" 1} } } WaveSpawn { //insta dies to save bot slots Name "killbarrier7" Where "engispawn" TotalCount 1 MaxActive 1 SpawnCount 1 waitbeforestarting 10 FirstSpawnOutput { Target barrier7 Action Disable } LastSpawnOutput { Target barrier7 Action DisableCollision } TFBot { Class Engineer ClassIcon red2_lite Name "" AddCond { Name TF_COND_REPROGRAMMED } CharacterAttributes { "health drain" -125 "voice pitch scale" 0} } } WaveSpawn { //insta dies to save bot slots Name "killbarrier8" TotalCount 1 MaxActive 1 SpawnCount 1 Where "gateAspawn" waitbeforestarting 10 FirstSpawnOutput { Target barrier8 Action Disable } LastSpawnOutput { Target barrier8 Action DisableCollision } TFBot { Class Engineer ClassIcon red2_lite Name "" AddCond { Name TF_COND_REPROGRAMMED } CharacterAttributes { "health drain" -125 "voice pitch scale" 0} } } WaveSpawn { //insta dies to save bot slots Name "killbarrier9" TotalCount 1 MaxActive 1 SpawnCount 1 Where "gateAspawn" waitbeforestarting 10 FirstSpawnOutput { Target barrier9 Action DisableCollision } LastSpawnOutput { Target barrier9 Action Disable } DoneOutput { Target barrier10 Action DisableCollision } TFBot { Class Engineer ClassIcon red2_lite Name "" AddCond { Name TF_COND_REPROGRAMMED } CharacterAttributes { "health drain" -125 "voice pitch scale" 0} } } WaveSpawn { //part of red subwave 1 Name "rWave1a1" TotalCount 24 SpawnCount 2 MaxActive 8 WaitBetweenSpawns 2 TotalCurrency 140 Where "gateAspawn" waitbeforestarting 10 FirstSpawnOutput { Target barrier10 Action Disable } Squad { TFBot { Class Demoman Skill Expert Action Mobber WeaponRestrictions SecondaryOnly AddCond { Name TF_COND_REPROGRAMMED } ItemAttributes { ItemName "TF_WEAPON_GRENADELAUNCHER" "is_passive_weapon" 1 "override projectile type" 7 "fire rate penalty" 420 } ItemAttributes { ItemName "TF_WEAPON_PIPEBOMBLAUNCHER" "stickybomb charge rate" 0.001 "max pipebombs decreased" -5 "Projectile range increased" 0.35 } CharacterAttributes {"voice pitch scale" 0 "crit mod disabled" 0 "health from packs decreased" 0.01 "force distribute currency on death" 1 } } TFBot { Class Soldier AddCond { Name TF_COND_REPROGRAMMED } Action Mobber Skill Expert UseBestWeapon 1 CharacterAttributes {"voice pitch scale" 0 "crit mod disabled" 0 "health from packs decreased" 0.01 "force distribute currency on death" 1 } } } } WaveSpawn { //part of red subwave 1 Name "rWave1a" Where "frontrockspawn" TotalCount 1 MaxActive 1 SpawnCount 1 waitbeforestarting 10 TotalCurrency 56 StartWaveOutput { Target "gateBspawn" Action Disable } FirstSpawnOutput { Target barrier11 Action Disable } LastSpawnOutput { Target barrier11 Action DisableCollision } TFBot { Template T_TFBot_Giant_Demo_RapidFire CharacterAttributes {"voice pitch scale" 0 "crit mod disabled" 0 "health from packs decreased" 0.01 "force distribute currency on death" 1 } Attributes AlwaysCrit Action Mobber AddCond { Name TF_COND_REPROGRAMMED } } } //-------------------------- //RED WAVESPAWNS //-------------------------- WaveSpawn { Name "rWave1a1" Where "gateAspawn" TotalCount 2 SpawnCount 1 MaxActive 1 WaitForAllDead "wave1a" TotalCurrency 100 TFBot { Template T_TFBot_Giant_Heavyweapons_Shotgun AddCond { Name TF_COND_REPROGRAMMED } Action Mobber ClassIcon heavy_shotgun_red CharacterAttributes {"voice pitch scale" 0 "health from packs decreased" 0.01 "force distribute currency on death" 1 } } } WaveSpawn { Name "rWave1b" Where "gateBspawn" TotalCount 12 SpawnCount 1 MaxActive 3 WaitBetweenSpawns 4 WaitBeforeStarting 6 TotalCurrency 54 TFBot { Template T_TFBot_Heavyweapons_Fist Attributes AlwaysCrit Attributes DisableDodge Action Mobber StripItemSlot 0 StripItemSlot 1 AddCond { Name TF_COND_REPROGRAMMED } CharacterAttributes {"voice pitch scale" 0 "health from packs decreased" 0.01 "force distribute currency on death" 1 "crit mod disabled" 0} } } WaveSpawn { Name "rWave1b" Where "gateBspawn" TotalCount 32 SpawnCount 2 MaxActive 8 TotalCurrency 60 RandomChoice { TFBot { Class Engineer Health 275 Skill Expert ClassIcon engineer_frontier_justice_nys Item "The Frontier Justice" Item "The Data Mining Light" Attributes HoldFireUntilFullReload StripItemSlot 1 StripItemSlot 2 StripItemSlot 3 StripItemSlot 4 ItemAttributes { ItemName "The Frontier Justice" "killstreak tier" 2 "health from packs decreased" 0.01 "force distribute currency on death" 1 "crit mod disabled" 0 "voice pitch scale" 0 "critboost on kill" 3 } UseMeleeThreatPrioritization 1 AddCond { Name TF_COND_REPROGRAMMED } Action Mobber WeaponRestrictions PrimaryOnly } TFBot { Class Engineer Health 275 Skill Hard ClassIcon engineer_frontier_justice_nys Item "The Frontier Justice" Item "The Data Mining Light" Attributes HoldFireUntilFullReload StripItemSlot 1 StripItemSlot 2 StripItemSlot 3 StripItemSlot 4 ItemAttributes { ItemName "The Frontier Justice" "killstreak tier" 2 "health from packs decreased" 0.01 "force distribute currency on death" 1 "crit mod disabled" 0 "voice pitch scale" 0 "critboost on kill" 3 } AddCond { Name TF_COND_REPROGRAMMED } Action Mobber WeaponRestrictions PrimaryOnly } TFBot { Class Engineer Health 275 Skill Expert ClassIcon engineer_frontier_justice_nys Item "The Frontier Justice" Item "The Data Mining Light" Attributes HoldFireUntilFullReload StripItemSlot 1 StripItemSlot 2 StripItemSlot 3 StripItemSlot 4 ItemAttributes { ItemName "The Frontier Justice" "killstreak tier" 2 "health from packs decreased" 0.01 "force distribute currency on death" 1 "crit mod disabled" 0 "voice pitch scale" 0 "critboost on kill" 3 } AddCond { Name TF_COND_REPROGRAMMED } Action Mobber WeaponRestrictions PrimaryOnly } TFBot { Class Engineer Health 500 Skill Expert ClassIcon engineer_frontier_justice_nys Item "The Frontier Justice" Item "Golden Wrench" Item "The Data Mining Light" StripItemSlot 1 StripItemSlot 3 StripItemSlot 4 ItemAttributes { ItemName "The Frontier Justice" "killstreak tier" 2 "health from packs decreased" 0.01 "force distribute currency on death" 1 "crit mod disabled" 0 "voice pitch scale" 0 "critboost on kill" 3 } Attributes HoldFireUntilFullReload UseMeleeThreatPrioritization 1 Action Sniper AddCond { Name TF_COND_REPROGRAMMED } ItemAttributes { ItemName "The Frontier Justice" "killstreak tier" 2 "deploy time decreased" 0.01 "health from packs decreased" 0.01 "force distribute currency on death" 1 "crit mod disabled" 0 "voice pitch scale" 0 "critboost on kill" 3 } ItemAttributes { ItemName "Golden Wrench" "provide on active" 1 "melee bounds multiplier" 3 "crit vs non burning players" 1 "killstreak tier" 2 "kill forces attacker to laugh" 1 "critboost on kill" 10 } } } } WaveSpawn { Name "rWave1c" Where "bighatchspawn" TotalCount 3 SpawnCount 1 MaxActive 2 WaitBetweenSpawns 15 WaitForAllSpawned "rWave1b" TotalCurrency 90 FirstSpawnOutput { Target finalsubwave Action Show } DoneOutput { Target unblockhatch Action Trigger } TFBot { Template T_TFBot_Giant_Soldier_Spammer Action Mobber AddCond { Name TF_COND_REPROGRAMMED } CharacterAttributes { "health from packs decreased" 0.01 "voice pitch scale" 0 "crit mod disabled" 0 "force distribute currency on death" 1 } } } WaveSpawn { Name "rWave1c1" Where "red_spawn" TotalCount 991 SpawnCount 2 MaxActive 4 WaitBetweenSpawns 3 WaitForAllDead "rWave1b" RandomChoice { TFBot { Template T_TFBot_Soldier_Extended_Buff_Banner ClassIcon red2_lite Action Mobber Attributes DisableDodge AddCond { Name TF_COND_REPROGRAMMED } CharacterAttributes {"voice pitch scale" 0 "crit mod disabled" 0 "health from packs decreased" 0.01 } } TFBot { Class Soldier ClassIcon red2_lite AddCond { Name TF_COND_REPROGRAMMED } Action Mobber Skill Expert Attributes DisableDodge UseBestWeapon 1 CharacterAttributes {"voice pitch scale" 0 "crit mod disabled" 0 "health from packs decreased" 0.01 } } TFBot { Class Soldier ClassIcon red2_lite AddCond { Name TF_COND_REPROGRAMMED } Action Mobber Skill Expert Attributes DisableDodge UseBestWeapon 1 CharacterAttributes {"voice pitch scale" 0 "crit mod disabled" 0 "health from packs decreased" 0.01 } } TFBot { Class Demoman ClassIcon red2_lite Skill Expert AddCond { Name TF_COND_REPROGRAMMED } Action Mobber Attributes DisableDodge CharacterAttributes {"voice pitch scale" 0 "crit mod disabled" 0 "health from packs decreased" 0.01 } } TFBot { Class Demoman ClassIcon red2_lite Skill Expert AddCond { Name TF_COND_REPROGRAMMED } Action Mobber Attributes DisableDodge CharacterAttributes {"voice pitch scale" 0 "crit mod disabled" 0 "health from packs decreased" 0.01 } } } } //-------------------------- //BLUE WAVESPAWNS //-------------------------- WaveSpawn { Name "bWave1a" Where spawnbot TotalCount 999 MaxActive 4 SpawnCount 1 Support Limited WaitBeforeStarting 7 StartWaveOutput { Target escorttogate Action Show } RandomChoice { TFBot { Template T_TFGateBot_Scout_Hard } TFBot { Template T_TFGateBot_Scout_FaN ClassIcon scout } TFBot { Template T_TFGateBot_Scout_Melee } TFBot { Template T_TFGateBot_Scout_Melee } } } WaveSpawn { Name "bWave1a" Where spawnbot TotalCount 999 MaxActive 1 SpawnCount 1 WaitBetweenSpawns 6 WaitBeforeStarting 7 Support Limited TFBot { Class Scout Skill Expert UseBestWeapon 1 Attributes IgnoreFlag Tag bot_gatebot Tag nav_prefer_gate1_flank BehaviorModifiers Push Item "MvM GateBot Light Scout" } } WaveSpawn { Name "bWave1bgatebot" // Where spawnbot Where spawnbot TotalCount 1 MaxActive 1 SpawnCount 1 Support Limited LastSpawnOutput { Target resetfixendurance Action Trigger } LastSpawnOutput { Target protectgianthint Action Show } TFBot { Class Pyro Name "Giant Pyro" ClassIcon pyro_giant Tag nav_prefer_gate1_flank // having these will cause bots to run towards gates Tag bot_gatebot // having these will cause bots to run towards gates Attributes IgnoreFlag BehaviorModifiers Push Tag bot_giant Item "MvM GateBot Light Pyro" Skill Normal Health 3000 StripItemSlot 2 UseBestWeapon 1 UseMeleeThreatPrioritization 1 Item "The Flare Gun" Attributes MiniBoss Attributes UseBossHealthBar CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0 "airblast vulnerability multiplier" 0 "override footstep sound set" 6 } } } WaveSpawn { Name "bWave1b" // Where spawnbot Where spawnbot TotalCount 2 MaxActive 1 SpawnCount 1 Support Limited WaitForAllDead "bWave1bgatebot" FirstSpawnOutput { Target resetfixendurance Action Trigger } TFBot { Class Pyro Name "Giant Pyro" ClassIcon pyro_giant Skill Normal Health 3000 StripItemSlot 2 UseBestWeapon 1 UseMeleeThreatPrioritization 1 Item "The Flare Gun" Attributes MiniBoss Attributes UseBossHealthBar Action EscortFlag CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0 "airblast vulnerability multiplier" 0 "override footstep sound set" 6 "cannot pick up intelligence" 1 } } } WaveSpawn { Name "bWave1b1" // Where spawnbot Where spawnbot TotalCount 3 MaxActive 1 SpawnCount 1 WaitForAllDead "bWave1b" WaitBeforeStarting 5 Support Limited DoneWarningSound "vo\announcer_failure.mp3" LastSpawnWarningSound "ambient\machines\thumper_shutdown1.wav" LastSpawnOutput { Target onegiantleft Action Show } DoneOutput { Target redwin_relay Action Trigger } TFBot { Template T_TFBot_Giant_Soldier Attributes UseBossHealthBar Action EscortFlag Skill Normal CharacterAttributes { "cannot pick up intelligence" 1 } } } } Wave { StartWaveOutput { Target wave_start_relay_expert Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } Explanation { Line "{blue}Defend your giants and deploy the bomb!" Line "{red}Losing all of your giant support will fail the wave" Line "{0600A6}_____________________________" Line "{green}Your support this wave:" Line "" Line "{blue}- 3 Giant Pyros" Line "{blue}- 3 Giant Soldiers" Line "{blue}- ∞ Scout support {yellow} (Gate Bots)" Line "{0600A6}_____________________________" } SpawnTemplate "progressblocker1" SpawnTemplate "progressblocker2" SpawnTemplate "hatchblocker" //-------------------------- //COUNTDOWN //-------------------------- WaveSpawn { Name "countdown" Where "frontrockspawn" TotalCount 0 SpawnCount 0 MaxActive 0 FirstSpawnWarningSound "vo\announcer_begins_10sec.mp3" Squad{RandomChoice{TFBot{}}} } WaveSpawn { Name "countdown3" Where "frontrockspawn" TotalCount 0 SpawnCount 0 MaxActive 0 WaitBeforeStarting 7 FirstSpawnWarningSound "vo\announcer_begins_3sec.mp3" } WaveSpawn { Name "countdown2" Where "frontrockspawn" TotalCount 0 SpawnCount 0 MaxActive 0 WaitBeforeStarting 8 FirstSpawnWarningSound "vo\announcer_begins_2sec.mp3" Squad{RandomChoice{TFBot{}}} } WaveSpawn { Name "countdown1" Where "frontrockspawn" TotalCount 0 SpawnCount 0 MaxActive 0 waitbeforestarting 9 FirstSpawnWarningSound "vo\announcer_begins_1sec.mp3" Squad{RandomChoice{TFBot{}}} } //-------------------------- //BARRIER REMOVER/ENGI BOTS //-------------------------- WaveSpawn { //hatch guard Name "killbarrier1" Where "hatchspawn" TotalCount 1 MaxActive 1 SpawnCount 1 waitbeforestarting 10 Support Limited FirstSpawnOutput { Target barrier1 Action Disable } LastSpawnOutput { Target barrier1 Action DisableCollision } Squad{RandomChoice {TFBot{}}} } WaveSpawn { Name "killbarrier2" Where "gateAspawn" TotalCount 1 MaxActive 1 SpawnCount 1 waitbeforestarting 10 FirstSpawnOutput { Target barrier2 Action Disable } LastSpawnOutput { Target barrier2 Action DisableCollision } TFBot { Class Engineer Name Engineer Skill Expert Health 275 ExtAttr BuildDispenserAsTeleporter ClassIcon red2_lite TeleportWhere "gateAspawn" Item "The Jag" StripItemSlot 0 Item "The Wrangler" AddCond { Name TF_COND_REPROGRAMMED } CharacterAttributes { "engineer sentry build rate multiplier" 6 "mvm sentry ammo" 99 "building cost reduction" 0.01 "metal regen" 999 "maxammo metal increased" 999 "voice pitch scale" 0 } } } WaveSpawn { Name "killbarrier3" Where "engispawn2" TotalCount 1 MaxActive 1 SpawnCount 1 waitbeforestarting 10 FirstSpawnOutput { Target barrier3 Action Disable } LastSpawnOutput { Target barrier3 Action DisableCollision } TFBot { Class Engineer Name Engineer Skill Expert Health 275 ExtAttr BuildDispenserAsTeleporter ClassIcon red2_lite TeleportWhere "gateAspawn" Item "The Jag" StripItemSlot 0 Item "The Wrangler" AddCond { Name TF_COND_REPROGRAMMED } CharacterAttributes { "engineer sentry build rate multiplier" 6 "mvm sentry ammo" 99 "building cost reduction" 0.01 "metal regen" 999 "maxammo metal increased" 999 "voice pitch scale" 0 } } } WaveSpawn { Name "killbarrier4" Where "engispawn" TotalCount 1 MaxActive 1 SpawnCount 1 waitbeforestarting 10 FirstSpawnOutput { Target barrier4 Action Disable } LastSpawnOutput { Target barrier4 Action DisableCollision } TFBot { Class Engineer Name Engineer Skill Expert Health 275 ExtAttr BuildDispenserAsTeleporter ClassIcon red2_lite TeleportWhere "gateAspawn" Item "The Jag" StripItemSlot 0 StripItemSlot 1 AddCond { Name TF_COND_REPROGRAMMED } CharacterAttributes { "engineer sentry build rate multiplier" 6 "mvm sentry ammo" 99 "building cost reduction" 0.01 "metal regen" 999 "maxammo metal increased" 999 "voice pitch scale" 0 } } } WaveSpawn { //spawns playercap template Name "killbarrier5" Where "gateAspawn" TotalCount 1 MaxActive 1 SpawnCount 1 waitbeforestarting 10 FirstSpawnOutput { Target barrier5 Action Disable } LastSpawnOutput { Target barrier5 Action DisableCollision } TFBot { Class Engineer Name Engineer Skill Expert Health 275 ExtAttr BuildDispenserAsTeleporter ClassIcon red2_lite TeleportWhere "gateAspawn" Item "The Jag" StripItemSlot 0 StripItemSlot 1 AddCond { Name TF_COND_REPROGRAMMED } SpawnTemplate "playercap2" CharacterAttributes { "engineer sentry build rate multiplier" 6 "mvm sentry ammo" 99 "building cost reduction" 0.01 "metal regen" 999 "maxammo metal increased" 999 "voice pitch scale" 0 } } } WaveSpawn { //insta dies to save bot slots Name "killbarrier6" Where "gateAspawn" TotalCount 1 MaxActive 1 SpawnCount 1 waitbeforestarting 10 // TotalCurrency 19 FirstSpawnOutput { Target barrier6 Action Disable } LastSpawnOutput { Target barrier6 Action DisableCollision } TFBot { Class Engineer ClassIcon red2_lite Name "" AddCond { Name TF_COND_REPROGRAMMED } CharacterAttributes { "health drain" -125 "voice pitch scale" 0 "force distribute currency on death" 1} } } WaveSpawn { //insta dies to save bot slots Name "killbarrier7" Where "engispawn" TotalCount 1 MaxActive 1 SpawnCount 1 waitbeforestarting 10 FirstSpawnOutput { Target barrier7 Action Disable } LastSpawnOutput { Target barrier7 Action DisableCollision } TFBot { Class Engineer ClassIcon red2_lite Name "" AddCond { Name TF_COND_REPROGRAMMED } CharacterAttributes { "health drain" -125 "voice pitch scale" 0} } } WaveSpawn { //insta dies to save bot slots Name "killbarrier8" TotalCount 1 MaxActive 1 SpawnCount 1 Where "gateAspawn" waitbeforestarting 10 FirstSpawnOutput { Target barrier8 Action Disable } LastSpawnOutput { Target barrier8 Action DisableCollision } TFBot { Class Engineer ClassIcon red2_lite Name "" AddCond { Name TF_COND_REPROGRAMMED } CharacterAttributes { "health drain" -125 "voice pitch scale" 0} } } WaveSpawn { //insta dies to save bot slots Name "killbarrier9" TotalCount 1 MaxActive 1 SpawnCount 1 Where "gateAspawn" waitbeforestarting 10 FirstSpawnOutput { Target barrier9 Action DisableCollision } LastSpawnOutput { Target barrier9 Action Disable } DoneOutput { Target barrier10 Action DisableCollision } TFBot { Class Engineer ClassIcon red2_lite Name "" AddCond { Name TF_COND_REPROGRAMMED } CharacterAttributes { "health drain" -125 "voice pitch scale" 0} } } WaveSpawn { //part of red subwave 1 Name "rWave1a1" TotalCount 24 SpawnCount 2 MaxActive 8 WaitBetweenSpawns 2 TotalCurrency 140 Where "gateAspawn" waitbeforestarting 10 FirstSpawnOutput { Target barrier10 Action Disable } Squad { TFBot { Class Demoman Skill Expert Action Mobber WeaponRestrictions SecondaryOnly AddCond { Name TF_COND_REPROGRAMMED } ItemAttributes { ItemName "TF_WEAPON_GRENADELAUNCHER" "is_passive_weapon" 1 "override projectile type" 7 "fire rate penalty" 420 } ItemAttributes { ItemName "TF_WEAPON_PIPEBOMBLAUNCHER" "stickybomb charge rate" 0.001 "max pipebombs decreased" -5 "Projectile range increased" 0.35 } CharacterAttributes {"voice pitch scale" 0 "crit mod disabled" 0 "health from packs decreased" 0.01 "force distribute currency on death" 1 } } TFBot { Class Soldier AddCond { Name TF_COND_REPROGRAMMED } Action Mobber Skill Expert UseBestWeapon 1 CharacterAttributes {"voice pitch scale" 0 "crit mod disabled" 0 "health from packs decreased" 0.01 "force distribute currency on death" 1 } } } } WaveSpawn { //part of red subwave 1 Name "rWave1a" Where "frontrockspawn" TotalCount 1 MaxActive 1 SpawnCount 1 waitbeforestarting 10 TotalCurrency 56 StartWaveOutput { Target "gateBspawn" Action Disable } FirstSpawnOutput { Target barrier11 Action Disable } LastSpawnOutput { Target barrier11 Action DisableCollision } TFBot { Template T_TFBot_Giant_Demo_RapidFire CharacterAttributes {"voice pitch scale" 0 "crit mod disabled" 0 "health from packs decreased" 0.01 "force distribute currency on death" 1 } Attributes AlwaysCrit Action Mobber AddCond { Name TF_COND_REPROGRAMMED } } } //-------------------------- //RED WAVESPAWNS //-------------------------- WaveSpawn { Name "rWave1a1" Where "gateAspawn" TotalCount 2 SpawnCount 1 MaxActive 1 WaitForAllDead "wave1a" TotalCurrency 100 TFBot { Template T_TFBot_Giant_Heavyweapons_Shotgun AddCond { Name TF_COND_REPROGRAMMED } Action Mobber ClassIcon heavy_shotgun_red CharacterAttributes {"voice pitch scale" 0 "health from packs decreased" 0.01 "force distribute currency on death" 1 } } } WaveSpawn { Name "rWave1b" Where "gateBspawn" TotalCount 12 SpawnCount 1 MaxActive 3 WaitBetweenSpawns 4 WaitBeforeStarting 6 TotalCurrency 54 TFBot { Template T_TFBot_Heavyweapons_Fist Attributes AlwaysCrit Attributes DisableDodge Action Mobber StripItemSlot 0 StripItemSlot 1 AddCond { Name TF_COND_REPROGRAMMED } CharacterAttributes {"voice pitch scale" 0 "health from packs decreased" 0.01 "force distribute currency on death" 1 "crit mod disabled" 0} } } WaveSpawn { Name "rWave1b" Where "gateBspawn" TotalCount 32 SpawnCount 2 MaxActive 8 TotalCurrency 60 RandomChoice { TFBot { Class Engineer Health 275 Skill Expert ClassIcon engineer_frontier_justice_nys Item "The Frontier Justice" Item "The Data Mining Light" Attributes HoldFireUntilFullReload StripItemSlot 1 StripItemSlot 2 StripItemSlot 3 StripItemSlot 4 ItemAttributes { ItemName "The Frontier Justice" "killstreak tier" 2 "health from packs decreased" 0.01 "force distribute currency on death" 1 "crit mod disabled" 0 "voice pitch scale" 0 "critboost on kill" 3 } UseMeleeThreatPrioritization 1 AddCond { Name TF_COND_REPROGRAMMED } Action Mobber WeaponRestrictions PrimaryOnly } TFBot { Class Engineer Health 275 Skill Hard ClassIcon engineer_frontier_justice_nys Item "The Frontier Justice" Item "The Data Mining Light" Attributes HoldFireUntilFullReload StripItemSlot 1 StripItemSlot 2 StripItemSlot 3 StripItemSlot 4 ItemAttributes { ItemName "The Frontier Justice" "killstreak tier" 2 "health from packs decreased" 0.01 "force distribute currency on death" 1 "crit mod disabled" 0 "voice pitch scale" 0 "critboost on kill" 3 } AddCond { Name TF_COND_REPROGRAMMED } Action Mobber WeaponRestrictions PrimaryOnly } TFBot { Class Engineer Health 275 Skill Expert ClassIcon engineer_frontier_justice_nys Item "The Frontier Justice" Item "The Data Mining Light" Attributes HoldFireUntilFullReload StripItemSlot 1 StripItemSlot 2 StripItemSlot 3 StripItemSlot 4 ItemAttributes { ItemName "The Frontier Justice" "killstreak tier" 2 "health from packs decreased" 0.01 "force distribute currency on death" 1 "crit mod disabled" 0 "voice pitch scale" 0 "critboost on kill" 3 } AddCond { Name TF_COND_REPROGRAMMED } Action Mobber WeaponRestrictions PrimaryOnly } TFBot { Class Engineer Health 500 Skill Expert ClassIcon engineer_frontier_justice_nys Item "The Frontier Justice" Item "Golden Wrench" Item "The Data Mining Light" StripItemSlot 1 StripItemSlot 3 StripItemSlot 4 ItemAttributes { ItemName "The Frontier Justice" "killstreak tier" 2 "health from packs decreased" 0.01 "force distribute currency on death" 1 "crit mod disabled" 0 "voice pitch scale" 0 "critboost on kill" 3 } Attributes HoldFireUntilFullReload UseMeleeThreatPrioritization 1 Action Sniper AddCond { Name TF_COND_REPROGRAMMED } ItemAttributes { ItemName "The Frontier Justice" "killstreak tier" 2 "deploy time decreased" 0.01 "health from packs decreased" 0.01 "force distribute currency on death" 1 "crit mod disabled" 0 "voice pitch scale" 0 "critboost on kill" 3 } ItemAttributes { ItemName "Golden Wrench" "provide on active" 1 "melee bounds multiplier" 3 "crit vs non burning players" 1 "killstreak tier" 2 "kill forces attacker to laugh" 1 "critboost on kill" 10 } } } } WaveSpawn { Name "rWave1c" Where "bighatchspawn" TotalCount 3 SpawnCount 1 MaxActive 2 WaitBetweenSpawns 15 WaitForAllSpawned "rWave1b" TotalCurrency 90 FirstSpawnOutput { Target finalsubwave Action Show } DoneOutput { Target unblockhatch Action Trigger } TFBot { Template T_TFBot_Giant_Soldier_Spammer Action Mobber AddCond { Name TF_COND_REPROGRAMMED } CharacterAttributes { "health from packs decreased" 0.01 "voice pitch scale" 0 "crit mod disabled" 0 "force distribute currency on death" 1 } } } WaveSpawn { Name "rWave1c1" Where "red_spawn" TotalCount 991 SpawnCount 2 MaxActive 4 WaitBetweenSpawns 3 WaitForAllDead "rWave1b" RandomChoice { TFBot { Template T_TFBot_Soldier_Extended_Buff_Banner ClassIcon red2_lite Action Mobber Attributes DisableDodge AddCond { Name TF_COND_REPROGRAMMED } CharacterAttributes {"voice pitch scale" 0 "crit mod disabled" 0 "health from packs decreased" 0.01 } } TFBot { Class Soldier ClassIcon red2_lite AddCond { Name TF_COND_REPROGRAMMED } Action Mobber Skill Expert Attributes DisableDodge UseBestWeapon 1 CharacterAttributes {"voice pitch scale" 0 "crit mod disabled" 0 "health from packs decreased" 0.01 } } TFBot { Class Soldier ClassIcon red2_lite AddCond { Name TF_COND_REPROGRAMMED } Action Mobber Skill Expert Attributes DisableDodge UseBestWeapon 1 CharacterAttributes {"voice pitch scale" 0 "crit mod disabled" 0 "health from packs decreased" 0.01 } } TFBot { Class Demoman ClassIcon red2_lite Skill Expert AddCond { Name TF_COND_REPROGRAMMED } Action Mobber Attributes DisableDodge CharacterAttributes {"voice pitch scale" 0 "crit mod disabled" 0 "health from packs decreased" 0.01 } } TFBot { Class Demoman ClassIcon red2_lite Skill Expert AddCond { Name TF_COND_REPROGRAMMED } Action Mobber Attributes DisableDodge CharacterAttributes {"voice pitch scale" 0 "crit mod disabled" 0 "health from packs decreased" 0.01 } } } } //-------------------------- //BLUE WAVESPAWNS //-------------------------- WaveSpawn { Name "bWave1a" Where spawnbot TotalCount 999 MaxActive 4 SpawnCount 1 Support Limited WaitBeforeStarting 7 StartWaveOutput { Target escorttogate Action Show } RandomChoice { TFBot { Template T_TFGateBot_Scout_Hard } TFBot { Template T_TFGateBot_Scout_FaN ClassIcon scout } TFBot { Template T_TFGateBot_Scout_Melee } TFBot { Template T_TFGateBot_Scout_Melee } } } WaveSpawn { Name "bWave1a" Where spawnbot TotalCount 999 MaxActive 1 SpawnCount 1 WaitBetweenSpawns 6 WaitBeforeStarting 7 Support Limited TFBot { Class Scout Skill Expert UseBestWeapon 1 Attributes IgnoreFlag Tag bot_gatebot Tag nav_prefer_gate1_flank BehaviorModifiers Push Item "MvM GateBot Light Scout" } } WaveSpawn { Name "bWave1bgatebot" // Where spawnbot Where spawnbot TotalCount 1 MaxActive 1 SpawnCount 1 Support Limited LastSpawnOutput { Target resetfixendurance Action Trigger } LastSpawnOutput { Target protectgianthint Action Show } TFBot { Class Pyro Name "Giant Pyro" ClassIcon pyro_giant Tag nav_prefer_gate1_flank // having these will cause bots to run towards gates Tag bot_gatebot // having these will cause bots to run towards gates Attributes IgnoreFlag BehaviorModifiers Push Tag bot_giant Item "MvM GateBot Light Pyro" Skill Normal Health 3000 StripItemSlot 2 UseBestWeapon 1 UseMeleeThreatPrioritization 1 Item "The Flare Gun" Attributes MiniBoss Attributes UseBossHealthBar CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0 "airblast vulnerability multiplier" 0 "override footstep sound set" 6 } } } WaveSpawn { Name "bWave1b" // Where spawnbot Where spawnbot TotalCount 2 MaxActive 1 SpawnCount 1 Support Limited WaitForAllDead "bWave1bgatebot" FirstSpawnOutput { Target resetfixendurance Action Trigger } TFBot { Class Pyro Name "Giant Pyro" ClassIcon pyro_giant Skill Normal Health 3000 StripItemSlot 2 UseBestWeapon 1 UseMeleeThreatPrioritization 1 Item "The Flare Gun" Attributes MiniBoss Attributes UseBossHealthBar Action EscortFlag CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0 "airblast vulnerability multiplier" 0 "override footstep sound set" 6 "cannot pick up intelligence" 1 } } } WaveSpawn { Name "bWave1b1" // Where spawnbot Where spawnbot TotalCount 3 MaxActive 1 SpawnCount 1 WaitForAllDead "bWave1b" WaitBeforeStarting 5 Support Limited DoneWarningSound "vo\announcer_failure.mp3" LastSpawnWarningSound "ambient\machines\thumper_shutdown1.wav" LastSpawnOutput { Target onegiantleft Action Show } DoneOutput { Target redwin_relay Action Trigger } TFBot { Template T_TFBot_Giant_Soldier Attributes UseBossHealthBar Action EscortFlag Skill Normal CharacterAttributes { "cannot pick up intelligence" 1 } } } } Wave { StartWaveOutput { Target wave_start_relay_expert Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } Explanation { Line "{blue}Defend your giants and deploy the bomb!" Line "{red}Losing all of your giant support will fail the wave" Line "{0600A6}_____________________________" Line "{green}Your support this wave:" Line "" Line "{blue}- 3 Giant Pyros" Line "{blue}- 3 Giant Soldiers" Line "{blue}- ∞ Scout support {yellow} (Gate Bots)" Line "{0600A6}_____________________________" } SpawnTemplate "progressblocker1" SpawnTemplate "progressblocker2" SpawnTemplate "hatchblocker" //-------------------------- //COUNTDOWN //-------------------------- WaveSpawn { Name "countdown" Where "frontrockspawn" TotalCount 0 SpawnCount 0 MaxActive 0 FirstSpawnWarningSound "vo\announcer_begins_10sec.mp3" Squad{RandomChoice{TFBot{}}} } WaveSpawn { Name "countdown3" Where "frontrockspawn" TotalCount 0 SpawnCount 0 MaxActive 0 WaitBeforeStarting 7 FirstSpawnWarningSound "vo\announcer_begins_3sec.mp3" } WaveSpawn { Name "countdown2" Where "frontrockspawn" TotalCount 0 SpawnCount 0 MaxActive 0 WaitBeforeStarting 8 FirstSpawnWarningSound "vo\announcer_begins_2sec.mp3" Squad{RandomChoice{TFBot{}}} } WaveSpawn { Name "countdown1" Where "frontrockspawn" TotalCount 0 SpawnCount 0 MaxActive 0 waitbeforestarting 9 FirstSpawnWarningSound "vo\announcer_begins_1sec.mp3" Squad{RandomChoice{TFBot{}}} } //-------------------------- //BARRIER REMOVER/ENGI BOTS //-------------------------- WaveSpawn { //hatch guard Name "killbarrier1" Where "hatchspawn" TotalCount 1 MaxActive 1 SpawnCount 1 waitbeforestarting 10 Support Limited FirstSpawnOutput { Target barrier1 Action Disable } LastSpawnOutput { Target barrier1 Action DisableCollision } Squad{RandomChoice {TFBot{}}} } WaveSpawn { Name "killbarrier2" Where "gateAspawn" TotalCount 1 MaxActive 1 SpawnCount 1 waitbeforestarting 10 FirstSpawnOutput { Target barrier2 Action Disable } LastSpawnOutput { Target barrier2 Action DisableCollision } TFBot { Class Engineer Name Engineer Skill Expert Health 275 ExtAttr BuildDispenserAsTeleporter ClassIcon red2_lite TeleportWhere "gateAspawn" Item "The Jag" StripItemSlot 0 Item "The Wrangler" AddCond { Name TF_COND_REPROGRAMMED } CharacterAttributes { "engineer sentry build rate multiplier" 6 "mvm sentry ammo" 99 "building cost reduction" 0.01 "metal regen" 999 "maxammo metal increased" 999 "voice pitch scale" 0 } } } WaveSpawn { Name "killbarrier3" Where "engispawn2" TotalCount 1 MaxActive 1 SpawnCount 1 waitbeforestarting 10 FirstSpawnOutput { Target barrier3 Action Disable } LastSpawnOutput { Target barrier3 Action DisableCollision } TFBot { Class Engineer Name Engineer Skill Expert Health 275 ExtAttr BuildDispenserAsTeleporter ClassIcon red2_lite TeleportWhere "gateAspawn" Item "The Jag" StripItemSlot 0 Item "The Wrangler" AddCond { Name TF_COND_REPROGRAMMED } CharacterAttributes { "engineer sentry build rate multiplier" 6 "mvm sentry ammo" 99 "building cost reduction" 0.01 "metal regen" 999 "maxammo metal increased" 999 "voice pitch scale" 0 } } } WaveSpawn { Name "killbarrier4" Where "engispawn" TotalCount 1 MaxActive 1 SpawnCount 1 waitbeforestarting 10 FirstSpawnOutput { Target barrier4 Action Disable } LastSpawnOutput { Target barrier4 Action DisableCollision } TFBot { Class Engineer Name Engineer Skill Expert Health 275 ExtAttr BuildDispenserAsTeleporter ClassIcon red2_lite TeleportWhere "gateAspawn" Item "The Jag" StripItemSlot 0 StripItemSlot 1 AddCond { Name TF_COND_REPROGRAMMED } CharacterAttributes { "engineer sentry build rate multiplier" 6 "mvm sentry ammo" 99 "building cost reduction" 0.01 "metal regen" 999 "maxammo metal increased" 999 "voice pitch scale" 0 } } } WaveSpawn { //spawns playercap template Name "killbarrier5" Where "gateAspawn" TotalCount 1 MaxActive 1 SpawnCount 1 waitbeforestarting 10 FirstSpawnOutput { Target barrier5 Action Disable } LastSpawnOutput { Target barrier5 Action DisableCollision } TFBot { Class Engineer Name Engineer Skill Expert Health 275 ExtAttr BuildDispenserAsTeleporter ClassIcon red2_lite TeleportWhere "gateAspawn" Item "The Jag" StripItemSlot 0 StripItemSlot 1 AddCond { Name TF_COND_REPROGRAMMED } SpawnTemplate "playercap2" CharacterAttributes { "engineer sentry build rate multiplier" 6 "mvm sentry ammo" 99 "building cost reduction" 0.01 "metal regen" 999 "maxammo metal increased" 999 "voice pitch scale" 0 } } } WaveSpawn { //insta dies to save bot slots Name "killbarrier6" Where "gateAspawn" TotalCount 1 MaxActive 1 SpawnCount 1 waitbeforestarting 10 // TotalCurrency 19 FirstSpawnOutput { Target barrier6 Action Disable } LastSpawnOutput { Target barrier6 Action DisableCollision } TFBot { Class Engineer ClassIcon red2_lite Name "" AddCond { Name TF_COND_REPROGRAMMED } CharacterAttributes { "health drain" -125 "voice pitch scale" 0 "force distribute currency on death" 1} } } WaveSpawn { //insta dies to save bot slots Name "killbarrier7" Where "engispawn" TotalCount 1 MaxActive 1 SpawnCount 1 waitbeforestarting 10 FirstSpawnOutput { Target barrier7 Action Disable } LastSpawnOutput { Target barrier7 Action DisableCollision } TFBot { Class Engineer ClassIcon red2_lite Name "" AddCond { Name TF_COND_REPROGRAMMED } CharacterAttributes { "health drain" -125 "voice pitch scale" 0} } } WaveSpawn { //insta dies to save bot slots Name "killbarrier8" TotalCount 1 MaxActive 1 SpawnCount 1 Where "gateAspawn" waitbeforestarting 10 FirstSpawnOutput { Target barrier8 Action Disable } LastSpawnOutput { Target barrier8 Action DisableCollision } TFBot { Class Engineer ClassIcon red2_lite Name "" AddCond { Name TF_COND_REPROGRAMMED } CharacterAttributes { "health drain" -125 "voice pitch scale" 0} } } WaveSpawn { //insta dies to save bot slots Name "killbarrier9" TotalCount 1 MaxActive 1 SpawnCount 1 Where "gateAspawn" waitbeforestarting 10 FirstSpawnOutput { Target barrier9 Action DisableCollision } LastSpawnOutput { Target barrier9 Action Disable } DoneOutput { Target barrier10 Action DisableCollision } TFBot { Class Engineer ClassIcon red2_lite Name "" AddCond { Name TF_COND_REPROGRAMMED } CharacterAttributes { "health drain" -125 "voice pitch scale" 0} } } WaveSpawn { //part of red subwave 1 Name "rWave1a1" TotalCount 24 SpawnCount 2 MaxActive 8 WaitBetweenSpawns 2 TotalCurrency 140 Where "gateAspawn" waitbeforestarting 10 FirstSpawnOutput { Target barrier10 Action Disable } Squad { TFBot { Class Demoman Skill Expert Action Mobber WeaponRestrictions SecondaryOnly AddCond { Name TF_COND_REPROGRAMMED } ItemAttributes { ItemName "TF_WEAPON_GRENADELAUNCHER" "is_passive_weapon" 1 "override projectile type" 7 "fire rate penalty" 420 } ItemAttributes { ItemName "TF_WEAPON_PIPEBOMBLAUNCHER" "stickybomb charge rate" 0.001 "max pipebombs decreased" -5 "Projectile range increased" 0.35 } CharacterAttributes {"voice pitch scale" 0 "crit mod disabled" 0 "health from packs decreased" 0.01 "force distribute currency on death" 1 } } TFBot { Class Soldier AddCond { Name TF_COND_REPROGRAMMED } Action Mobber Skill Expert UseBestWeapon 1 CharacterAttributes {"voice pitch scale" 0 "crit mod disabled" 0 "health from packs decreased" 0.01 "force distribute currency on death" 1 } } } } WaveSpawn { //part of red subwave 1 Name "rWave1a" Where "frontrockspawn" TotalCount 1 MaxActive 1 SpawnCount 1 waitbeforestarting 10 TotalCurrency 56 StartWaveOutput { Target "gateBspawn" Action Disable } FirstSpawnOutput { Target barrier11 Action Disable } LastSpawnOutput { Target barrier11 Action DisableCollision } TFBot { Template T_TFBot_Giant_Demo_RapidFire CharacterAttributes {"voice pitch scale" 0 "crit mod disabled" 0 "health from packs decreased" 0.01 "force distribute currency on death" 1 } Attributes AlwaysCrit Action Mobber AddCond { Name TF_COND_REPROGRAMMED } } } //-------------------------- //RED WAVESPAWNS //-------------------------- WaveSpawn { Name "rWave1a1" Where "gateAspawn" TotalCount 2 SpawnCount 1 MaxActive 1 WaitForAllDead "wave1a" TotalCurrency 100 TFBot { Template T_TFBot_Giant_Heavyweapons_Shotgun AddCond { Name TF_COND_REPROGRAMMED } Action Mobber ClassIcon heavy_shotgun_red CharacterAttributes {"voice pitch scale" 0 "health from packs decreased" 0.01 "force distribute currency on death" 1 } } } WaveSpawn { Name "rWave1b" Where "gateBspawn" TotalCount 12 SpawnCount 1 MaxActive 3 WaitBetweenSpawns 4 WaitBeforeStarting 6 TotalCurrency 54 TFBot { Template T_TFBot_Heavyweapons_Fist Attributes AlwaysCrit Attributes DisableDodge Action Mobber StripItemSlot 0 StripItemSlot 1 AddCond { Name TF_COND_REPROGRAMMED } CharacterAttributes {"voice pitch scale" 0 "health from packs decreased" 0.01 "force distribute currency on death" 1 "crit mod disabled" 0} } } WaveSpawn { Name "rWave1b" Where "gateBspawn" TotalCount 32 SpawnCount 2 MaxActive 8 TotalCurrency 60 RandomChoice { TFBot { Class Engineer Health 275 Skill Expert ClassIcon engineer_frontier_justice_nys Item "The Frontier Justice" Item "The Data Mining Light" Attributes HoldFireUntilFullReload StripItemSlot 1 StripItemSlot 2 StripItemSlot 3 StripItemSlot 4 ItemAttributes { ItemName "The Frontier Justice" "killstreak tier" 2 "health from packs decreased" 0.01 "force distribute currency on death" 1 "crit mod disabled" 0 "voice pitch scale" 0 "critboost on kill" 3 } UseMeleeThreatPrioritization 1 AddCond { Name TF_COND_REPROGRAMMED } Action Mobber WeaponRestrictions PrimaryOnly } TFBot { Class Engineer Health 275 Skill Hard ClassIcon engineer_frontier_justice_nys Item "The Frontier Justice" Item "The Data Mining Light" Attributes HoldFireUntilFullReload StripItemSlot 1 StripItemSlot 2 StripItemSlot 3 StripItemSlot 4 ItemAttributes { ItemName "The Frontier Justice" "killstreak tier" 2 "health from packs decreased" 0.01 "force distribute currency on death" 1 "crit mod disabled" 0 "voice pitch scale" 0 "critboost on kill" 3 } AddCond { Name TF_COND_REPROGRAMMED } Action Mobber WeaponRestrictions PrimaryOnly } TFBot { Class Engineer Health 275 Skill Expert ClassIcon engineer_frontier_justice_nys Item "The Frontier Justice" Item "The Data Mining Light" Attributes HoldFireUntilFullReload StripItemSlot 1 StripItemSlot 2 StripItemSlot 3 StripItemSlot 4 ItemAttributes { ItemName "The Frontier Justice" "killstreak tier" 2 "health from packs decreased" 0.01 "force distribute currency on death" 1 "crit mod disabled" 0 "voice pitch scale" 0 "critboost on kill" 3 } AddCond { Name TF_COND_REPROGRAMMED } Action Mobber WeaponRestrictions PrimaryOnly } TFBot { Class Engineer Health 500 Skill Expert ClassIcon engineer_frontier_justice_nys Item "The Frontier Justice" Item "Golden Wrench" Item "The Data Mining Light" StripItemSlot 1 StripItemSlot 3 StripItemSlot 4 ItemAttributes { ItemName "The Frontier Justice" "killstreak tier" 2 "health from packs decreased" 0.01 "force distribute currency on death" 1 "crit mod disabled" 0 "voice pitch scale" 0 "critboost on kill" 3 } Attributes HoldFireUntilFullReload UseMeleeThreatPrioritization 1 Action Sniper AddCond { Name TF_COND_REPROGRAMMED } ItemAttributes { ItemName "The Frontier Justice" "killstreak tier" 2 "deploy time decreased" 0.01 "health from packs decreased" 0.01 "force distribute currency on death" 1 "crit mod disabled" 0 "voice pitch scale" 0 "critboost on kill" 3 } ItemAttributes { ItemName "Golden Wrench" "provide on active" 1 "melee bounds multiplier" 3 "crit vs non burning players" 1 "killstreak tier" 2 "kill forces attacker to laugh" 1 "critboost on kill" 10 } } } } WaveSpawn { Name "rWave1c" Where "bighatchspawn" TotalCount 3 SpawnCount 1 MaxActive 2 WaitBetweenSpawns 15 WaitForAllSpawned "rWave1b" TotalCurrency 90 FirstSpawnOutput { Target finalsubwave Action Show } DoneOutput { Target unblockhatch Action Trigger } TFBot { Template T_TFBot_Giant_Soldier_Spammer Action Mobber AddCond { Name TF_COND_REPROGRAMMED } CharacterAttributes { "health from packs decreased" 0.01 "voice pitch scale" 0 "crit mod disabled" 0 "force distribute currency on death" 1 } } } WaveSpawn { Name "rWave1c1" Where "red_spawn" TotalCount 991 SpawnCount 2 MaxActive 4 WaitBetweenSpawns 3 WaitForAllDead "rWave1b" RandomChoice { TFBot { Template T_TFBot_Soldier_Extended_Buff_Banner ClassIcon red2_lite Action Mobber Attributes DisableDodge AddCond { Name TF_COND_REPROGRAMMED } CharacterAttributes {"voice pitch scale" 0 "crit mod disabled" 0 "health from packs decreased" 0.01 } } TFBot { Class Soldier ClassIcon red2_lite AddCond { Name TF_COND_REPROGRAMMED } Action Mobber Skill Expert Attributes DisableDodge UseBestWeapon 1 CharacterAttributes {"voice pitch scale" 0 "crit mod disabled" 0 "health from packs decreased" 0.01 } } TFBot { Class Soldier ClassIcon red2_lite AddCond { Name TF_COND_REPROGRAMMED } Action Mobber Skill Expert Attributes DisableDodge UseBestWeapon 1 CharacterAttributes {"voice pitch scale" 0 "crit mod disabled" 0 "health from packs decreased" 0.01 } } TFBot { Class Demoman ClassIcon red2_lite Skill Expert AddCond { Name TF_COND_REPROGRAMMED } Action Mobber Attributes DisableDodge CharacterAttributes {"voice pitch scale" 0 "crit mod disabled" 0 "health from packs decreased" 0.01 } } TFBot { Class Demoman ClassIcon red2_lite Skill Expert AddCond { Name TF_COND_REPROGRAMMED } Action Mobber Attributes DisableDodge CharacterAttributes {"voice pitch scale" 0 "crit mod disabled" 0 "health from packs decreased" 0.01 } } } } //-------------------------- //BLUE WAVESPAWNS //-------------------------- WaveSpawn { Name "bWave1a" Where spawnbot TotalCount 999 MaxActive 4 SpawnCount 1 Support Limited WaitBeforeStarting 7 StartWaveOutput { Target escorttogate Action Show } RandomChoice { TFBot { Template T_TFGateBot_Scout_Hard } TFBot { Template T_TFGateBot_Scout_FaN ClassIcon scout } TFBot { Template T_TFGateBot_Scout_Melee } TFBot { Template T_TFGateBot_Scout_Melee } } } WaveSpawn { Name "bWave1a" Where spawnbot TotalCount 999 MaxActive 1 SpawnCount 1 WaitBetweenSpawns 6 WaitBeforeStarting 7 Support Limited TFBot { Class Scout Skill Expert UseBestWeapon 1 Attributes IgnoreFlag Tag bot_gatebot Tag nav_prefer_gate1_flank BehaviorModifiers Push Item "MvM GateBot Light Scout" } } WaveSpawn { Name "bWave1bgatebot" // Where spawnbot Where spawnbot TotalCount 1 MaxActive 1 SpawnCount 1 Support Limited LastSpawnOutput { Target resetfixendurance Action Trigger } LastSpawnOutput { Target protectgianthint Action Show } TFBot { Class Pyro Name "Giant Pyro" ClassIcon pyro_giant Tag nav_prefer_gate1_flank // having these will cause bots to run towards gates Tag bot_gatebot // having these will cause bots to run towards gates Attributes IgnoreFlag BehaviorModifiers Push Tag bot_giant Item "MvM GateBot Light Pyro" Skill Normal Health 3000 StripItemSlot 2 UseBestWeapon 1 UseMeleeThreatPrioritization 1 Item "The Flare Gun" Attributes MiniBoss Attributes UseBossHealthBar CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0 "airblast vulnerability multiplier" 0 "override footstep sound set" 6 } } } WaveSpawn { Name "bWave1b" // Where spawnbot Where spawnbot TotalCount 2 MaxActive 1 SpawnCount 1 Support Limited WaitForAllDead "bWave1bgatebot" FirstSpawnOutput { Target resetfixendurance Action Trigger } TFBot { Class Pyro Name "Giant Pyro" ClassIcon pyro_giant Skill Normal Health 3000 StripItemSlot 2 UseBestWeapon 1 UseMeleeThreatPrioritization 1 Item "The Flare Gun" Attributes MiniBoss Attributes UseBossHealthBar Action EscortFlag CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0 "airblast vulnerability multiplier" 0 "override footstep sound set" 6 "cannot pick up intelligence" 1 } } } WaveSpawn { Name "bWave1b1" // Where spawnbot Where spawnbot TotalCount 3 MaxActive 1 SpawnCount 1 WaitForAllDead "bWave1b" WaitBeforeStarting 5 Support Limited DoneWarningSound "vo\announcer_failure.mp3" LastSpawnWarningSound "ambient\machines\thumper_shutdown1.wav" LastSpawnOutput { Target onegiantleft Action Show } DoneOutput { Target redwin_relay Action Trigger } TFBot { Template T_TFBot_Giant_Soldier Attributes UseBossHealthBar Action EscortFlag Skill Normal CharacterAttributes { "cannot pick up intelligence" 1 } } } } Wave { StartWaveOutput { Target wave_start_relay_expert Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } Explanation { Line "{blue}Defend your giants and deploy the bomb!" Line "{red}Losing all of your giant support will fail the wave" Line "{0600A6}_____________________________" Line "{green}Your support this wave:" Line "" Line "{blue}- 3 Giant Pyros" Line "{blue}- 3 Giant Soldiers" Line "{blue}- ∞ Scout support {yellow} (Gate Bots)" Line "{0600A6}_____________________________" } SpawnTemplate "progressblocker1" SpawnTemplate "progressblocker2" SpawnTemplate "hatchblocker" //-------------------------- //COUNTDOWN //-------------------------- WaveSpawn { Name "countdown" Where "frontrockspawn" TotalCount 0 SpawnCount 0 MaxActive 0 FirstSpawnWarningSound "vo\announcer_begins_10sec.mp3" Squad{RandomChoice{TFBot{}}} } WaveSpawn { Name "countdown3" Where "frontrockspawn" TotalCount 0 SpawnCount 0 MaxActive 0 WaitBeforeStarting 7 FirstSpawnWarningSound "vo\announcer_begins_3sec.mp3" } WaveSpawn { Name "countdown2" Where "frontrockspawn" TotalCount 0 SpawnCount 0 MaxActive 0 WaitBeforeStarting 8 FirstSpawnWarningSound "vo\announcer_begins_2sec.mp3" Squad{RandomChoice{TFBot{}}} } WaveSpawn { Name "countdown1" Where "frontrockspawn" TotalCount 0 SpawnCount 0 MaxActive 0 waitbeforestarting 9 FirstSpawnWarningSound "vo\announcer_begins_1sec.mp3" Squad{RandomChoice{TFBot{}}} } //-------------------------- //BARRIER REMOVER/ENGI BOTS //-------------------------- WaveSpawn { //hatch guard Name "killbarrier1" Where "hatchspawn" TotalCount 1 MaxActive 1 SpawnCount 1 waitbeforestarting 10 Support Limited FirstSpawnOutput { Target barrier1 Action Disable } LastSpawnOutput { Target barrier1 Action DisableCollision } Squad{RandomChoice {TFBot{}}} } WaveSpawn { Name "killbarrier2" Where "gateAspawn" TotalCount 1 MaxActive 1 SpawnCount 1 waitbeforestarting 10 FirstSpawnOutput { Target barrier2 Action Disable } LastSpawnOutput { Target barrier2 Action DisableCollision } TFBot { Class Engineer Name Engineer Skill Expert Health 275 ExtAttr BuildDispenserAsTeleporter ClassIcon red2_lite TeleportWhere "gateAspawn" Item "The Jag" StripItemSlot 0 Item "The Wrangler" AddCond { Name TF_COND_REPROGRAMMED } CharacterAttributes { "engineer sentry build rate multiplier" 6 "mvm sentry ammo" 99 "building cost reduction" 0.01 "metal regen" 999 "maxammo metal increased" 999 "voice pitch scale" 0 } } } WaveSpawn { Name "killbarrier3" Where "engispawn2" TotalCount 1 MaxActive 1 SpawnCount 1 waitbeforestarting 10 FirstSpawnOutput { Target barrier3 Action Disable } LastSpawnOutput { Target barrier3 Action DisableCollision } TFBot { Class Engineer Name Engineer Skill Expert Health 275 ExtAttr BuildDispenserAsTeleporter ClassIcon red2_lite TeleportWhere "gateAspawn" Item "The Jag" StripItemSlot 0 Item "The Wrangler" AddCond { Name TF_COND_REPROGRAMMED } CharacterAttributes { "engineer sentry build rate multiplier" 6 "mvm sentry ammo" 99 "building cost reduction" 0.01 "metal regen" 999 "maxammo metal increased" 999 "voice pitch scale" 0 } } } WaveSpawn { Name "killbarrier4" Where "engispawn" TotalCount 1 MaxActive 1 SpawnCount 1 waitbeforestarting 10 FirstSpawnOutput { Target barrier4 Action Disable } LastSpawnOutput { Target barrier4 Action DisableCollision } TFBot { Class Engineer Name Engineer Skill Expert Health 275 ExtAttr BuildDispenserAsTeleporter ClassIcon red2_lite TeleportWhere "gateAspawn" Item "The Jag" StripItemSlot 0 StripItemSlot 1 AddCond { Name TF_COND_REPROGRAMMED } CharacterAttributes { "engineer sentry build rate multiplier" 6 "mvm sentry ammo" 99 "building cost reduction" 0.01 "metal regen" 999 "maxammo metal increased" 999 "voice pitch scale" 0 } } } WaveSpawn { //spawns playercap template Name "killbarrier5" Where "gateAspawn" TotalCount 1 MaxActive 1 SpawnCount 1 waitbeforestarting 10 FirstSpawnOutput { Target barrier5 Action Disable } LastSpawnOutput { Target barrier5 Action DisableCollision } TFBot { Class Engineer Name Engineer Skill Expert Health 275 ExtAttr BuildDispenserAsTeleporter ClassIcon red2_lite TeleportWhere "gateAspawn" Item "The Jag" StripItemSlot 0 StripItemSlot 1 AddCond { Name TF_COND_REPROGRAMMED } SpawnTemplate "playercap2" CharacterAttributes { "engineer sentry build rate multiplier" 6 "mvm sentry ammo" 99 "building cost reduction" 0.01 "metal regen" 999 "maxammo metal increased" 999 "voice pitch scale" 0 } } } WaveSpawn { //insta dies to save bot slots Name "killbarrier6" Where "gateAspawn" TotalCount 1 MaxActive 1 SpawnCount 1 waitbeforestarting 10 // TotalCurrency 19 FirstSpawnOutput { Target barrier6 Action Disable } LastSpawnOutput { Target barrier6 Action DisableCollision } TFBot { Class Engineer ClassIcon red2_lite Name "" AddCond { Name TF_COND_REPROGRAMMED } CharacterAttributes { "health drain" -125 "voice pitch scale" 0 "force distribute currency on death" 1} } } WaveSpawn { //insta dies to save bot slots Name "killbarrier7" Where "engispawn" TotalCount 1 MaxActive 1 SpawnCount 1 waitbeforestarting 10 FirstSpawnOutput { Target barrier7 Action Disable } LastSpawnOutput { Target barrier7 Action DisableCollision } TFBot { Class Engineer ClassIcon red2_lite Name "" AddCond { Name TF_COND_REPROGRAMMED } CharacterAttributes { "health drain" -125 "voice pitch scale" 0} } } WaveSpawn { //insta dies to save bot slots Name "killbarrier8" TotalCount 1 MaxActive 1 SpawnCount 1 Where "gateAspawn" waitbeforestarting 10 FirstSpawnOutput { Target barrier8 Action Disable } LastSpawnOutput { Target barrier8 Action DisableCollision } TFBot { Class Engineer ClassIcon red2_lite Name "" AddCond { Name TF_COND_REPROGRAMMED } CharacterAttributes { "health drain" -125 "voice pitch scale" 0} } } WaveSpawn { //insta dies to save bot slots Name "killbarrier9" TotalCount 1 MaxActive 1 SpawnCount 1 Where "gateAspawn" waitbeforestarting 10 FirstSpawnOutput { Target barrier9 Action DisableCollision } LastSpawnOutput { Target barrier9 Action Disable } DoneOutput { Target barrier10 Action DisableCollision } TFBot { Class Engineer ClassIcon red2_lite Name "" AddCond { Name TF_COND_REPROGRAMMED } CharacterAttributes { "health drain" -125 "voice pitch scale" 0} } } WaveSpawn { //part of red subwave 1 Name "rWave1a1" TotalCount 24 SpawnCount 2 MaxActive 8 WaitBetweenSpawns 2 TotalCurrency 140 Where "gateAspawn" waitbeforestarting 10 FirstSpawnOutput { Target barrier10 Action Disable } Squad { TFBot { Class Demoman Skill Expert Action Mobber WeaponRestrictions SecondaryOnly AddCond { Name TF_COND_REPROGRAMMED } ItemAttributes { ItemName "TF_WEAPON_GRENADELAUNCHER" "is_passive_weapon" 1 "override projectile type" 7 "fire rate penalty" 420 } ItemAttributes { ItemName "TF_WEAPON_PIPEBOMBLAUNCHER" "stickybomb charge rate" 0.001 "max pipebombs decreased" -5 "Projectile range increased" 0.35 } CharacterAttributes {"voice pitch scale" 0 "crit mod disabled" 0 "health from packs decreased" 0.01 "force distribute currency on death" 1 } } TFBot { Class Soldier AddCond { Name TF_COND_REPROGRAMMED } Action Mobber Skill Expert UseBestWeapon 1 CharacterAttributes {"voice pitch scale" 0 "crit mod disabled" 0 "health from packs decreased" 0.01 "force distribute currency on death" 1 } } } } WaveSpawn { //part of red subwave 1 Name "rWave1a" Where "frontrockspawn" TotalCount 1 MaxActive 1 SpawnCount 1 waitbeforestarting 10 TotalCurrency 56 StartWaveOutput { Target "gateBspawn" Action Disable } FirstSpawnOutput { Target barrier11 Action Disable } LastSpawnOutput { Target barrier11 Action DisableCollision } TFBot { Template T_TFBot_Giant_Demo_RapidFire CharacterAttributes {"voice pitch scale" 0 "crit mod disabled" 0 "health from packs decreased" 0.01 "force distribute currency on death" 1 } Attributes AlwaysCrit Action Mobber AddCond { Name TF_COND_REPROGRAMMED } } } //-------------------------- //RED WAVESPAWNS //-------------------------- WaveSpawn { Name "rWave1a1" Where "gateAspawn" TotalCount 2 SpawnCount 1 MaxActive 1 WaitForAllDead "wave1a" TotalCurrency 100 TFBot { Template T_TFBot_Giant_Heavyweapons_Shotgun AddCond { Name TF_COND_REPROGRAMMED } Action Mobber ClassIcon heavy_shotgun_red CharacterAttributes {"voice pitch scale" 0 "health from packs decreased" 0.01 "force distribute currency on death" 1 } } } WaveSpawn { Name "rWave1b" Where "gateBspawn" TotalCount 12 SpawnCount 1 MaxActive 3 WaitBetweenSpawns 4 WaitBeforeStarting 6 TotalCurrency 54 TFBot { Template T_TFBot_Heavyweapons_Fist Attributes AlwaysCrit Attributes DisableDodge Action Mobber StripItemSlot 0 StripItemSlot 1 AddCond { Name TF_COND_REPROGRAMMED } CharacterAttributes {"voice pitch scale" 0 "health from packs decreased" 0.01 "force distribute currency on death" 1 "crit mod disabled" 0} } } WaveSpawn { Name "rWave1b" Where "gateBspawn" TotalCount 32 SpawnCount 2 MaxActive 8 TotalCurrency 60 RandomChoice { TFBot { Class Engineer Health 275 Skill Expert ClassIcon engineer_frontier_justice_nys Item "The Frontier Justice" Item "The Data Mining Light" Attributes HoldFireUntilFullReload StripItemSlot 1 StripItemSlot 2 StripItemSlot 3 StripItemSlot 4 ItemAttributes { ItemName "The Frontier Justice" "killstreak tier" 2 "health from packs decreased" 0.01 "force distribute currency on death" 1 "crit mod disabled" 0 "voice pitch scale" 0 "critboost on kill" 3 } UseMeleeThreatPrioritization 1 AddCond { Name TF_COND_REPROGRAMMED } Action Mobber WeaponRestrictions PrimaryOnly } TFBot { Class Engineer Health 275 Skill Hard ClassIcon engineer_frontier_justice_nys Item "The Frontier Justice" Item "The Data Mining Light" Attributes HoldFireUntilFullReload StripItemSlot 1 StripItemSlot 2 StripItemSlot 3 StripItemSlot 4 ItemAttributes { ItemName "The Frontier Justice" "killstreak tier" 2 "health from packs decreased" 0.01 "force distribute currency on death" 1 "crit mod disabled" 0 "voice pitch scale" 0 "critboost on kill" 3 } AddCond { Name TF_COND_REPROGRAMMED } Action Mobber WeaponRestrictions PrimaryOnly } TFBot { Class Engineer Health 275 Skill Expert ClassIcon engineer_frontier_justice_nys Item "The Frontier Justice" Item "The Data Mining Light" Attributes HoldFireUntilFullReload StripItemSlot 1 StripItemSlot 2 StripItemSlot 3 StripItemSlot 4 ItemAttributes { ItemName "The Frontier Justice" "killstreak tier" 2 "health from packs decreased" 0.01 "force distribute currency on death" 1 "crit mod disabled" 0 "voice pitch scale" 0 "critboost on kill" 3 } AddCond { Name TF_COND_REPROGRAMMED } Action Mobber WeaponRestrictions PrimaryOnly } TFBot { Class Engineer Health 500 Skill Expert ClassIcon engineer_frontier_justice_nys Item "The Frontier Justice" Item "Golden Wrench" Item "The Data Mining Light" StripItemSlot 1 StripItemSlot 3 StripItemSlot 4 ItemAttributes { ItemName "The Frontier Justice" "killstreak tier" 2 "health from packs decreased" 0.01 "force distribute currency on death" 1 "crit mod disabled" 0 "voice pitch scale" 0 "critboost on kill" 3 } Attributes HoldFireUntilFullReload UseMeleeThreatPrioritization 1 Action Sniper AddCond { Name TF_COND_REPROGRAMMED } ItemAttributes { ItemName "The Frontier Justice" "killstreak tier" 2 "deploy time decreased" 0.01 "health from packs decreased" 0.01 "force distribute currency on death" 1 "crit mod disabled" 0 "voice pitch scale" 0 "critboost on kill" 3 } ItemAttributes { ItemName "Golden Wrench" "provide on active" 1 "melee bounds multiplier" 3 "crit vs non burning players" 1 "killstreak tier" 2 "kill forces attacker to laugh" 1 "critboost on kill" 10 } } } } WaveSpawn { Name "rWave1c" Where "bighatchspawn" TotalCount 3 SpawnCount 1 MaxActive 2 WaitBetweenSpawns 15 WaitForAllSpawned "rWave1b" TotalCurrency 90 FirstSpawnOutput { Target finalsubwave Action Show } DoneOutput { Target unblockhatch Action Trigger } TFBot { Template T_TFBot_Giant_Soldier_Spammer Action Mobber AddCond { Name TF_COND_REPROGRAMMED } CharacterAttributes { "health from packs decreased" 0.01 "voice pitch scale" 0 "crit mod disabled" 0 "force distribute currency on death" 1 } } } WaveSpawn { Name "rWave1c1" Where "red_spawn" TotalCount 991 SpawnCount 2 MaxActive 4 WaitBetweenSpawns 3 WaitForAllDead "rWave1b" RandomChoice { TFBot { Template T_TFBot_Soldier_Extended_Buff_Banner ClassIcon red2_lite Action Mobber Attributes DisableDodge AddCond { Name TF_COND_REPROGRAMMED } CharacterAttributes {"voice pitch scale" 0 "crit mod disabled" 0 "health from packs decreased" 0.01 } } TFBot { Class Soldier ClassIcon red2_lite AddCond { Name TF_COND_REPROGRAMMED } Action Mobber Skill Expert Attributes DisableDodge UseBestWeapon 1 CharacterAttributes {"voice pitch scale" 0 "crit mod disabled" 0 "health from packs decreased" 0.01 } } TFBot { Class Soldier ClassIcon red2_lite AddCond { Name TF_COND_REPROGRAMMED } Action Mobber Skill Expert Attributes DisableDodge UseBestWeapon 1 CharacterAttributes {"voice pitch scale" 0 "crit mod disabled" 0 "health from packs decreased" 0.01 } } TFBot { Class Demoman ClassIcon red2_lite Skill Expert AddCond { Name TF_COND_REPROGRAMMED } Action Mobber Attributes DisableDodge CharacterAttributes {"voice pitch scale" 0 "crit mod disabled" 0 "health from packs decreased" 0.01 } } TFBot { Class Demoman ClassIcon red2_lite Skill Expert AddCond { Name TF_COND_REPROGRAMMED } Action Mobber Attributes DisableDodge CharacterAttributes {"voice pitch scale" 0 "crit mod disabled" 0 "health from packs decreased" 0.01 } } } } //-------------------------- //BLUE WAVESPAWNS //-------------------------- WaveSpawn { Name "bWave1a" Where spawnbot TotalCount 999 MaxActive 4 SpawnCount 1 Support Limited WaitBeforeStarting 7 StartWaveOutput { Target escorttogate Action Show } RandomChoice { TFBot { Template T_TFGateBot_Scout_Hard } TFBot { Template T_TFGateBot_Scout_FaN ClassIcon scout } TFBot { Template T_TFGateBot_Scout_Melee } TFBot { Template T_TFGateBot_Scout_Melee } } } WaveSpawn { Name "bWave1a" Where spawnbot TotalCount 999 MaxActive 1 SpawnCount 1 WaitBetweenSpawns 6 WaitBeforeStarting 7 Support Limited TFBot { Class Scout Skill Expert UseBestWeapon 1 Attributes IgnoreFlag Tag bot_gatebot Tag nav_prefer_gate1_flank BehaviorModifiers Push Item "MvM GateBot Light Scout" } } WaveSpawn { Name "bWave1bgatebot" // Where spawnbot Where spawnbot TotalCount 1 MaxActive 1 SpawnCount 1 Support Limited LastSpawnOutput { Target resetfixendurance Action Trigger } LastSpawnOutput { Target protectgianthint Action Show } TFBot { Class Pyro Name "Giant Pyro" ClassIcon pyro_giant Tag nav_prefer_gate1_flank // having these will cause bots to run towards gates Tag bot_gatebot // having these will cause bots to run towards gates Attributes IgnoreFlag BehaviorModifiers Push Tag bot_giant Item "MvM GateBot Light Pyro" Skill Normal Health 3000 StripItemSlot 2 UseBestWeapon 1 UseMeleeThreatPrioritization 1 Item "The Flare Gun" Attributes MiniBoss Attributes UseBossHealthBar CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0 "airblast vulnerability multiplier" 0 "override footstep sound set" 6 } } } WaveSpawn { Name "bWave1b" // Where spawnbot Where spawnbot TotalCount 2 MaxActive 1 SpawnCount 1 Support Limited WaitForAllDead "bWave1bgatebot" FirstSpawnOutput { Target resetfixendurance Action Trigger } TFBot { Class Pyro Name "Giant Pyro" ClassIcon pyro_giant Skill Normal Health 3000 StripItemSlot 2 UseBestWeapon 1 UseMeleeThreatPrioritization 1 Item "The Flare Gun" Attributes MiniBoss Attributes UseBossHealthBar Action EscortFlag CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0 "airblast vulnerability multiplier" 0 "override footstep sound set" 6 "cannot pick up intelligence" 1 } } } WaveSpawn { Name "bWave1b1" // Where spawnbot Where spawnbot TotalCount 3 MaxActive 1 SpawnCount 1 WaitForAllDead "bWave1b" WaitBeforeStarting 5 Support Limited DoneWarningSound "vo\announcer_failure.mp3" LastSpawnWarningSound "ambient\machines\thumper_shutdown1.wav" LastSpawnOutput { Target onegiantleft Action Show } DoneOutput { Target redwin_relay Action Trigger } TFBot { Template T_TFBot_Giant_Soldier Attributes UseBossHealthBar Action EscortFlag Skill Normal CharacterAttributes { "cannot pick up intelligence" 1 } } } } }