#base robot_standard.pop #base robot_giant.pop #base robot_stardust.pop #base reverse_timer.pop #base robot_sequoia_reverse.pop #base robot_damno.pop //Made by DaMno //Engineer model being made by NemTieLea and roquett WaveSchedule { StartingCurrency 800 CanBotsAttackWhileInSpawnRoom yes RespawnWaveTimeBlue 10 FixedRespawnWaveTimeBlue 1 PlayerMiniBossMinRespawnTime 60 NoRomevisionCosmetics 1 // FixedRespawnWaveTime 1 // AddSentryBusterWhenDamageDealtExceeds 3000 // AddSentryBusterWhenKillCountExceeds 15 // Advanced 1 // EventPopfile Halloween // Essential stuff ReverseWinConditions 1 AllowJoinTeamBlueMax 6 BluHumanTeleportOnSpawn 1 BluHumanBotTeleporter 1 AllowJoinTeamBlue 1 HumansMustJoinTeam Blue SetCreditTeam 3 SniperAllowHeadshots 1 SendBotsToSpectatorImmediately 1 //keeps the populator less clogged, bot projectiles vanish on death + causes weird killcams NoMvMDeathTune 1 NoRomevisionCosmetics 1 // fuck romevision cosmetics, many of em look ugly WaveStartCountdown 5 RobotLimit 26 AllowMultipleSappers 0 MaxSpectators 1 MedigunShieldDamage 1 RedPlayersAreRobots 1 //MedievalMode 1 BotsRandomCrit 1 // allows BLU team to random crit. BluHumanInfiniteAmmo 1 RemoveBluVelocityLimit 0 BluPlayersAreRobots 1 FixHuntsmanDamageBonus 1 FlagCarrierMovementPenalty 1 // removes flag carrier penalty BluHumanFlagCapture 1 // people having to wait for bots to cap generally isnt very fun. BluHumanFlagPickup 1 // see above //Precache Models/Sounds PrecacheModel "models/bots/boss_bot/boss_tankred_damage1.mdl" PrecacheModel "models/bots/boss_bot/boss_tankred_damage2.mdl" PrecacheModel "models/bots/boss_bot/boss_tankred_damage3.mdl" PrecacheModel "models/bots/boss_bot/boss_tankred_part1_destruction.mdl" PrecacheModel "models/bots/boss_bot/tankred_track_l.mdl" PrecacheModel "models/bots/boss_bot/tankred_track_r.mdl" PrecacheModel "models/bots/boss_bot/bombblue_mechanism.mdl" PrecacheModel "models\props_mvm\mvm_upgrade_blu.mdl" PrecacheModel "models\bots\boss_bot\boss_tankred.mdl" PrecacheModel "models\props_mvm\robot_spawnpoint.mdl" DisallowUpgrade "critboost" DisallowUpgrade "ubercharge" DisallowUpgrade "engy dispenser radius increased" DisallowUpgrade "maxammo primary increased" DisallowUpgrade "maxammo secondary increased" DisallowUpgrade "maxammo metal increased" DisallowUpgrade "maxammo grenades1 increased" DisallowUpgrade "applies snare effect" DisallowUpgrade "uber duration bonus" //Tank paths are a set of coordinates that a tank must reach before getting to the hatch //The first node will be where the tank will spawn, make sure players cant stand where a tank spawns before said tank has spawned //The last node will always be the node where the tank starts to deploy //Due to Sequoia's weird tank capping gate layout this was the best path i could think of, which might be a bit dodgy but should work ExtraTankPath { Name "tank_path_last" Node "-356.1 -515.8 -303.0" Node "-332.8 -1076.0 -303.0 " Node "-1596.4 -1070.7 -33.1" Node "-1596.4 -845 5.0" Node "-1930 -845 -50.0" Node "-1930 -2240 -200" Node "-4030 -2240 -39.0" Node "-4030 -1070 -111.0" Node "-5000 -1073 -40.2" Node "-5770 -2110 -60.5" Node "-5770 -2600 -30" } ExtraTankPath { Name "tank_path_river_door_red" Node "-3400 -740 -111" Node "-4030 -740 -111" Node "-4030 -1070 -111" Node "-5000 -1073 -40.2" Node "-5770 -2110 -60.5" Node "-5770 -2600 -30" } ExtraTankPath { Name "tank_path_tree_flank" Node "-2320 -2900 50" Node "-2320 -3540 0" Node "-2800 -3890 0" Node "-3280 -3940 -60" Node "-4230 -3130 -70" Node "-4230 -2260 -170" Node "-4030 -2240 -39.0" Node "-4030 -1070 -111.0" Node "-5000 -1073 -40.2" Node "-5770 -2110 -60.5" Node "-5770 -2600 -30" } ///////////////////////////////////////BALANCING //////////////////////////////////////////////// PlayerAttributes { Scout { "crit mod disabled" 0 "head scale" 0.7 "cannot upgrade" 1 "damage bonus" 1.5 "hidden maxhealth non buffed" 525 "cancel falling damage" 1 "overheal bonus" 0.01 "dmg taken from crit reduced" 0.85 } Soldier { "is miniboss" 1 "cannot upgrade" 1 "crit mod disabled" 0 "voice pitch scale" 0.7 "overheal bonus" 0.01 "damage force reduction" 0.5 "airblast vulnerability multiplier" 0.25 "hidden maxhealth non buffed" 3600 "move speed bonus" 0.65 "override footstep sound set" 3 "increase buff duration" 2.0 // "cancel falling damage" 1 "dmg taken increased" 1 //falldmg resist "dmg taken from crit reduced" 0.75 } Pyro { "cannot upgrade" 1 "flame_speed" 520 "overheal bonus" 0.5 "crit mod disabled" 0 "voice pitch scale" 0.7 "damage force reduction" 0.5 "airblast vulnerability multiplier" 0.5 "hidden maxhealth non buffed" 775 "move speed bonus" 0.9 "model scale" 1.4 "override footstep sound set" 6 "cancel falling damage" 1 "dmg taken from crit reduced" 0.85 } Demoman { "is miniboss" 1 "cannot upgrade" 1 "hidden maxhealth non buffed" 2825 "crit mod disabled" 0 "overheal bonus" 0.01 "charge time increased" 2 "Attack not cancel charge" 1 "lose demo charge on damage when charging" 0 "voice pitch scale" 0.7 "damage force reduction" 0.5 "airblast vulnerability multiplier" 0.25 "move speed bonus" 0.65 "override footstep sound set" 4 "cancel falling damage" 1 "dmg taken from crit reduced" 0.75 } HeavyWeapons { "is miniboss" 1 "cannot upgrade" 1 "crit mod disabled" 0 "overheal bonus" 0.01 "voice pitch scale" 0.7 "damage force reduction" 0.5 "airblast vulnerability multiplier" 0 "hidden maxhealth non buffed" 4700 "health from healers reduced" 0.2 "move speed bonus" 0.65 "override footstep sound set" 2 "ammo regen" 10 "cancel falling damage" 1 "dmg taken from crit reduced" 0.75 } Engineer { "max health additive bonus" 150 "mult dispenser rate" 2 "upgrade rate decrease" 2 "dmg taken from crit reduced" 0.1 "engy dispenser radius increased" 4 "dmg taken from crit reduced" 0.1 } Medic { "dmg taken from crit reduced" 0.1 "uber duration bonus" -3 } Spy { "dmg taken from crit reduced" 0.1 } Sniper { "dmg taken from crit reduced" 0.1 } } //Item Changes //Important ItemAttributes { ItemName "The Widowmaker" "mult dmg vs tanks" 0.65 } ItemAttributes { ItemName "The Short Circuit" "fire rate penalty" 3.25 } ItemAttributes { ItemName "The Pain Train" "increase player capture value" 3 } //Scout ItemAttributes { ItemName "The Boston Basher" "subtract victim medigun charge on hit" 25 } ItemAttributes { ClassName "tf_weapon_bat_fish" "max health additive bonus" -150 "provide on active" 1 "move speed bonus" 1.3 "switch from wep deploy time decreased" 2 } ItemAttributes { ItemName "The Fan O'War" "single wep deploy time decreased" 2 } ItemAttributes //stock bat { ClassName "tf_weapon_bat" "provide on active" 1 "always crit" 1 "damage bonus" 0.75 "health from packs decreased" 0.5 } ItemAttributes { ClassName "tf_weapon_bat_giftwrap" "effect bar recharge rate increased" 0.1 } ItemAttributes //jump sandman { ClassName "tf_weapon_bat_wood" "provide on active" 1 "max health additive penalty" 0 "always crit" 1 "damage bonus" 0.75 "increased jump height" 2 "effect bar recharge rate increased" 0.1 "cancel falling damage" 1 } //ItemAttributes //milk //{ // ClassName "tf_weapon_jar_milk" // "effect bar recharge rate increased" 2.5 // "applies snare effect" 0.8 //} ItemAttributes //fan { ItemName "The Force-a-Nature" "bullets per shot bonus" 2.5 "fire rate bonus" 0.5 "model scale" 1.4 "move speed bonus" 0.8 "faster reload rate" 1.7 "weapon spread bonus" 2.5 } ItemAttributes //backscatter { ItemName "The Back Scatter" "minicrits become crits" 1 "weapon spread bonus" 0.6 "mult crit dmg" 0.66 // crits deals only 200% dmg instead of 300% } ItemAttributes //shortstop { ClassName "tf_weapon_handgun_scout_primary" "dmg bonus vs buildings" 1.5 "mult dmg vs giants" 1.25 "mult dmg vs tanks" 1.5 "weapon spread bonus" 0.8 "fire rate bonus" 0.8 } ItemAttributes //soda popper { ClassName "tf_weapon_soda_popper" "faster reload rate" 2 "damage bonus" 1.5 "weapon spread bonus" 1.25 "clip size bonus" 2 } ItemAttributes { ClassName "tf_weapon_pep_brawler_blaster" "damage bonus" 1.25 "weapon spread bonus" 0 "clip size bonus" 2 } ItemAttributes //stock scatter { ClassName "tf_weapon_scattergun" "faster reload rate" 6 "reload full clip at once" 1 "max health additive bonus" -150 //"fire rate bonus" 0.8 } ItemAttributes { ClassName "tf_weapon_cleaver" "always crit" 1 } ItemAttributes { ItemName "Pretty Boy's Pocket Pistol" "heal on hit for slowfire" 7 "fire rate bonus HIDDEN" 1.3 } ItemAttributes { ClassName "tf_weapon_pistol" "minicritboost on kill" 5 //"critboost on kill" 3 //"switch from wep deploy time decreased" 2 } ItemAttributes { ItemName "Crit-a-Cola" "effect bar recharge rate increased" 0.75 } ItemAttributes { ClassName "tf_weapon_lunchbox_drink" "effect cond override" 26 "effect bar recharge rate increased" 0.75 } //Soldier ItemAttributes { ItemName "The Reserve Shooter" "minicrits become crits" 1 } ItemAttributes //directhit { ClassName "tf_weapon_rocketlauncher_directhit" "faster reload rate" -0.8 "rocket specialist" 1 "blast radius increased" 0.1 "clip size bonus" 2 } ItemAttributes //mangler { ClassName "tf_weapon_particle_cannon" "faster reload rate" -0.8 "fire rate bonus" 0.5 "clip size bonus upgrade" 2 } ItemAttributes //black box { ItemName "The Black Box" "damage bonus" 0.8 "max health additive bonus" -500 "mult dmg vs tanks" 2.25 "fire rate bonus" 0.001 "clip size upgrade atomic" 0 "faster reload rate" 1.6 "blast radius increased" 1.25 "projectile spread angle penalty" 4 "heal on hit for rapidfire" 150 } ItemAttributes //black box { ItemName "Festive Black Box" "damage bonus" 0.8 "max health additive bonus" -500 "fire rate bonus" 0.001 "mult dmg vs tanks" 2.25 "clip size upgrade atomic" 0 "faster reload rate" 1.6 "blast radius increased" 1.25 "projectile spread angle penalty" 4 "heal on hit for rapidfire" 150 } ItemAttributes //charged { ItemName "The Original" "always crit" 1 "faster reload rate" 0.2 "fire rate bonus" 2 "Projectile speed increased" 0.5 } ItemAttributes //liberty { ItemName "The Liberty Launcher" //"reload full clip at once" 1 "faster reload rate" 0.75 "damage bonus" 1.4 "fire rate bonus" 0.25 "clip size upgrade atomic" 5 "Blast radius decreased" 1.3 "projectile spread angle penalty" 4 } ItemAttributes { ItemName "The Beggar's Bazooka" "damage bonus" 2 "crits_become_minicrits" 1 "faster reload rate" 0.7 "fire rate bonus" 0.6 "clip size bonus" 2 } ItemAttributes { ClassName "tf_weapon_rocketlauncher_airstrike" //hellmet airstike "mod no reload DISPLAY ONLY" 1 "mod max primary clip override" -1 "clip size upgrade atomic" 96 "fire rate bonus" 0.5 "Projectile speed decreased" 0.65 "blast dmg to self increased" 5 "increased jump height" 1.5 } ItemAttributes //stock rl { ClassName "TF_WEAPON_ROCKETLAUNCHER" "faster reload rate" -0.8 "fire rate bonus" 0.5 } ItemAttributes { ItemName "The Battalion's Backup" //batts "max health additive bonus" -100 } ItemAttributes { ClassName "TF_WEAPON_BUFF_ITEM" //buff "max health additive bonus" -300 } ItemAttributes { ItemName "The Concheror" //conch "health regen" 0 "max health additive bonus" -500 } ItemAttributes //mantreads { ItemName "The Mantreads" "max health additive bonus" 200 } ItemAttributes //gunboats { ItemName "The Gunboats" "max health additive bonus" 200 } ItemAttributes //bison { ClassName "tf_weapon_raygun" "always crit" 1 "damage bonus" 1.5 "mult crit dmg" 0.66 "faster reload rate" 0.65 "provide on active" 1 } ItemAttributes //soldier's shotgun { ClassName "tf_weapon_shotgun_soldier" "damage bonus" 2 "fire rate bonus" 1.2 "faster reload rate" 1.4 } //Pyro ItemAttributes { ItemName "The Phlogistinator" "hidden maxhealth non buffed" -300 "mult dmg vs tanks" 1.25 } ItemAttributes { ClassName "TF_WEAPON_FLAMETHROWER" "heal on kill" 50 "damage bonus" 1.5 "weapon burn dmg increased" 2 "mult dmg vs tanks" 1.50 } ItemAttributes { ClassName "tf_weapon_rocketlauncher_fireball" "damage bonus" 1.25 "weapon burn dmg increased" 2 "heal on kill" 50 "mult dmg vs tanks" 1.50 } ItemAttributes { ItemName "The detonator" "fire rate bonus" 0.3 "blast radius increased" 1.5 } ItemAttributes { ClassName "tf_weapon_flaregun" "damage bonus" 2 } ItemAttributes { ClassName "tf_weapon_flaregun_revenge" "always crit" 1 "Provide on active" 1 "damage bonus" 1.5 } // Demo ItemAttributes { ItemName "The Loch-n-Load" "dmg bonus vs buildings" 1.5 "faster reload rate" 0.8 "fire rate bonus HIDDEN" 0.3 "auto fires full clip" 1 "slow enemy on hit" 1 "blast radius increased" 0.01 "damage bonus" 2.5 } ItemAttributes { ItemName "The Iron Bomber" "faster reload rate" -0.8 "fire rate bonus" 0.8 } ItemAttributes { ClassName "tf_weapon_grenadelauncher" "faster reload rate" 0.65 //35% faster reload "fire rate bonus" 0.1 "clip size upgrade atomic" 7.0 "projectile spread angle penalty" 2 "Projectile speed increased" 1.1 } ItemAttributes { ClassName "tf_weapon_cannon" "grenade explode on impact" 1 "fuse bonus" 0.6 "grenade launcher mortar mode" 0 "faster reload rate" 2.5 "fire rate bonus" 2 "clip size penalty" 0.2 "custom impact sound" "ambient\explosions\explode_4.wav" "Projectile speed increased" 0.8 "projectile spread angle penalty" 5 "damage bonus" 2.5 "slow enemy on hit" 1 "mult dmg vs tanks" 2 "mult dmg vs giants" 2.5 "damage causes airblast" 1 "blast radius increased" 2.5 "use large smoke explosion" 1 } ItemAttributes { ItemName "Ali Baba's Wee Booties" "max health additive bonus" 250 } ItemAttributes { ItemName "The Bootlegger" "max health additive bonus" 250 } ItemAttributes { ClassName "tf_wearable_demoshield" "attack not cancel charge" 1 //"max health additive bonus" 250 } ItemAttributes { ClassName "tf_weapon_pipebomblauncher" "faster reload rate" -0.8 "fire rate bonus" 0.8 "damage bonus" 1.25 } ItemAttributes { ClassName "tf_weapon_shovel" "damage bonus" 1.75 //"fire rate bonus" 1.3 } ItemAttributes { ClassName "tf_weapon_sword" //"max health additive bonus" -225 "melee cleave attack" 1 "dmg from melee increased" 1.25 "damage bonus" 2 //"fire rate bonus" 1.25 } ItemAttributes { ClassName "tf_weapon_katana" "restore health on kill" 0 "melee cleave attack" 1 //"max health additive bonus" -225 "damage bonus" 2 //"fire rate bonus" 1.25 } //Heavy ItemAttributes { ItemName "Tomislav" "damage bonus" 1.10 "attack projectiles" 1 "weapon spread bonus" 0.75 //"fire rate bonus" 1.1 "minigun spinup time increased" 0.8 } ItemAttributes { ItemName "Natascha" //hellmet Natasha //"damage bonus" 1.50 "minigun spinup time increased" 1.4 "damage bonus" 1.15 } ItemAttributes { ItemName "The Brass Beast" //hellmet brass beast //"damage bonus" 1.7 "provide on active" 1 "max health additive penalty" -1000 "no_jump" 1 "minigun spinup time increased" 1.4 "no_duck" 1 } ItemAttributes { ClassName "TF_WEAPON_MINIGUN" //"damage bonus" 1.5 "minigun spinup time increased" 1.4 "attack projectiles" 1 } ItemAttributes { ItemName "The Family Business" "fire rate bonus HIDDEN" 0.3 "auto fires full clip" 1 "Reload time increased" 0.8 "clip size penalty HIDDEN" 1.5 } ItemAttributes { ItemName "TF_WEAPON_SHOTGUN_HWG" "provide on active" 1 "mod max primary clip override" -1 "move speed bonus" 1.4 "fire rate bonus" 2.5 "bullets per shot bonus" 10 "damage penalty" 0.5 "faster reload rate" 1.25 "override footstep sound set" 5 } ItemAttributes { ItemName "The Killing Gloves of Boxing" "provide on active" 1 "fire rate bonus" 0.6 "damage bonus" 1.2 "heal on kill" 100 "override footstep sound set" 5 } ItemAttributes { ItemName "The Buffalo Steak Sandvich" "gesture speed increase" 1.5 "effect bar recharge rate increased" 0.5 "switch from wep deploy time decreased" 0.5 "single wep deploy time decreased" 0.5 } ItemAttributes { ClassName "tf_weapon_lunchbox" //"gesture speed increase" 1.5 "effect bar recharge rate increased" 0.5 "switch from wep deploy time decreased" 0.5 "single wep deploy time decreased" 0.5 } ItemAttributes // Captain Punch { ItemName "Fists of Steel" "provide on active" 1 "fire rate bonus" 0.6 "damage bonus" 1.50 "health from packs decreased" 0 "override footstep sound set" 5 "switch from wep deploy time decreased" 3 "single wep deploy time decreased" 3 "mod weapon blocks healing" 1 } ItemAttributes { ItemName "Warrior's Spirit" "minicrits become crits" 1 "dmg from melee increased" 1.25 } ItemAttributes { ClassName "tf_weapon_fists" "heal on kill" 100 } ItemAttributes { ClassName "tf_weapon_jar" "effect bar recharge rate increased" 1.6 } ItemAttributes { ClassName "tf_weapon_medigun" "overheal penalty" 1.5 } //ItemAttributes //{ // ClassName "tf_weapon_crossbow" // "clip size upgrade atomic" 2 // "faster reload rate" 2.5 // "reload full clip at once" 1 // "fire rate bonus" 0.01 // "projectile spread angle penalty" 2 //} ItemAttributes { ClassName "TF_WEAPON_KNIFE" "provide on active" 1 "cannot pick up intelligence" 1 } ItemAttributes { ClassName "tf_weapon_drg_pomson" "faster reload rate" -0.8 "fire rate bonus" 0.5 "Projectile speed increased" 1.5 } ItemAttributes { ClassName "tf_weapon_shotgun" "faster reload rate" -0.8 "damage bonus" 1.1 } ItemBlacklist { ClassName "saxxy" Name "Gloves of Running Urgently" Name "The Market Gardener" Name "Rocket Jumper" ClassName "TF_WEAPON_PIPEBOMBLAUNCHER" //demo ClassName "Upgradeable TF_WEAPON_PIPEBOMBLAUNCHER" //demo ClassName "tf_weapon_rocketpack" ClassName "tf_weapon_stickbomb" ClassName "tf_weapon_rocketpack" } //spec_goto -312.8 -140.5 -22.7 60.2 4.0 ///////////////////////////////////////POINT TEMPLATES ////////////////////////////////////////////////////// PointTemplates { ammo_pack_one { NoFixup 1 item_healthkit_full { "targetname" "ammo_pack1" "angles" "0 0 0" "origin" "-6365 -2375 10" } item_healthkit_small { "targetname" "ammo_pack2" "angles" "0 0 0" "origin" "-5945 -1365 -25" } item_healthkit_small { "targetname" "hp_pack2" "angles" "0 0 0" "origin" "-5920 -1550 -40" } item_healthkit_full { "targetname" "hp_pack1" "angles" "0 0 0" "origin" "-6400 -2340 10" } } Tank_Win_Red { NoFixup 1 logic_relay //trigger this to lose { "origin" "0 0 0" "targetname" "redwin_relay" "OnTrigger" "bots_win_red,RoundWin,,0,-1" } game_round_win //do not interact with this { "origin" "0 0 0" "TeamNum" "2" "targetname" "bots_win_red" "switch_teams" "0" "force_map_reset" "1" "classname" "game_round_win" } } stage_one_barrier // first area barrier { NoFixup 1 func_forcefield { "targetname" "barrier_stage_one" "origin" "-4680 -930 -70" "TeamNum" "2" // blu "renderamt" "255" "rendercolor" "255 255 255" "renderfx" "0" "rendermode" "0" "disablereceiveshadows" "0" "mins" "-1 -800 -1500" "maxs" "1 800 1500" } func_nobuild { "targetname" "barrier_stage_one_no_build" "origin" "-4650 -930 -70" "TeamNum" "3" // blu "renderamt" "255" "rendercolor" "255 255 255" "renderfx" "0" "rendermode" "0" "disablereceiveshadows" "0" "mins" "-60 -800 -1500" "maxs" "60 800 1500" } prop_dynamic { "angles" "0 90 0" "disablereceiveshadows" "1" "disableshadows" "1" "model" "models/props_mvm/reversemvm_redwall_256x288.mdl" "modelscale" "2" "targetname" "barrier_stage_one_redwall" "origin" "-4670 -1050 -155" } training_annotation { "display_text" "You can now advance!" "lifetime" "3" "origin" "-4500 -1090 0" "targetname" "annotation_stage_one" } logic_relay { "targetname" "stage_one_barrier_disable" "OnTrigger" "barrier_stage_one,Disable,,0.01,-1" "OnTrigger" "barrier_stage_one_no_build,Disable,,0.01,-1" "OnTrigger" "barrier_stage_one_redwall,Disable,,0,-1" "OnTrigger" "annotation_stage_one,Show,,0.01,-1" } } stage_two_barrier // stage two barrier { func_forcefield { "disablereceiveshadows" "0" "origin" "-2678 -1752.41 112" "renderamt" "255" "rendercolor" "255 255 255" "renderfx" "0" "rendermode" "0" "StartDisabled" "0" "targetname" "cover_doorway" "TeamNum" "2" "mins" "-35 -1000 -1000" "maxs" "35 1000 1000" } func_forcefield { "disablereceiveshadows" "0" "origin" "-3090 -4000 -100" "renderamt" "255" "rendercolor" "255 255 255" "renderfx" "0" "rendermode" "0" "StartDisabled" "0" "targetname" "cover_doorway2" "TeamNum" "2" "mins" "-5 -1000 -1200" "maxs" "35 1000 1200" } func_nobuild { "disablereceiveshadows" "0" "origin" "-2650 -1752.41 112" "renderamt" "255" "rendercolor" "255 255 255" "renderfx" "0" "rendermode" "0" "StartDisabled" "0" "targetname" "cover_doorway_no_build" "TeamNum" "3" "mins" "-75 -1000 -1000" "maxs" "75 1000 1000" } func_nobuild { "disablereceiveshadows" "0" "origin" "-3070 -4000 -100" "renderamt" "255" "rendercolor" "255 255 255" "renderfx" "0" "rendermode" "0" "StartDisabled" "0" "targetname" "cover_doorway2_no_build" "TeamNum" "3" "mins" "-45 -1000 -1200" "maxs" "75 1000 1200" } prop_dynamic { "angles" "0 90 0" "disablereceiveshadows" "1" "disableshadows" "1" "model" "models/props_mvm/reversemvm_redwall_256x288.mdl" "targetname" "midbarrier2" "modelscale" "3.2" "origin" "-3090 -3720 -100" } prop_dynamic { "angles" "0 270 0" "disablereceiveshadows" "1" "disableshadows" "1" "model" "models/props_mvm/reversemvm_redwall_256x288.mdl" "targetname" "midbarrier2" "modelscale" "3.2" "origin" "-3060 -3720 -100" } prop_dynamic { "angles" "0 90 0" "disablereceiveshadows" "1" "disableshadows" "1" "model" "models/props_mvm/reversemvm_redwall_256x288.mdl" "targetname" "midbarrier1" "modelscale" "1.5" "origin" "-2708 -1759 1" } prop_dynamic { "angles" "0 270 0" "disablereceiveshadows" "1" "disableshadows" "1" "model" "models/props_mvm/reversemvm_redwall_256x288.mdl" "targetname" "midbarrier1" "modelscale" "1.5" "origin" "-2637 -1759 1" } logic_auto { "OnMapSpawn" "pop_interface,Kill,,0,-1" "OnMapSpawn" "wave_start*,AddOutput,OnTrigger func_flagdetectionzone:Disable:0:-1,0,-1" //disables the hatch alarm on wave start "OnMapSpawn" "gate1_relay,RemoveOutput, pop_interface:PauseBotSpawning:0:-1,0,-1" "OnMapSpawn" "gate1_relay,AddOutput,OnTrigger cover_doorway2:Disable:0:-1" "OnMapSpawn" "gate1_relay,AddOutput,OnTrigger cover_doorway:Disable:0:-1" "OnMapSpawn" "gate1_relay,AddOutput,OnTrigger cover_doorway2_no_build:Disable:0:-1" "OnMapSpawn" "gate1_relay,AddOutput,OnTrigger cover_doorway_no_build:Disable:0:-1" "OnMapSpawn" "gate1_relay,AddOutput,OnTrigger midbarrier1:Disable:0:-1" "OnMapSpawn" "gate1_relay,AddOutput,OnTrigger midbarrier2:Disable:0:-1" //"OnMapSpawn" "gate1_relay,AddOutput,OnTrigger midbarrierhatch:Disable:0:-1" } } stage_three_barrier // stage three barrier { NoFixup 1 prop_dynamic { "angles" "0 90 0" "disablereceiveshadows" "1" "disableshadows" "1" "model" "models/props_mvm/reversemvm_redwall_256x288.mdl" "targetname" "stage_three_barrier_redwall" "modelscale" "3.2" "origin" "-1420 -820 -90" } prop_dynamic { "angles" "0 90 0" "disablereceiveshadows" "1" "disableshadows" "1" "model" "models/props_mvm/reversemvm_redwall_256x288.mdl" "targetname" "stage_three_barrier_redwall" "modelscale" "1.8" "origin" "-1111.7 -2000 -50" } func_forcefield { "targetname" "stage_three_barrier_forcefield" "origin" "-1420 -400 -90" "TeamNum" "2" "renderfx" "0" "rendermode" "0" "disablereceiveshadows" "0" "mins" "-1 -1000 -1500" "maxs" "1 1000 1500" } func_forcefield { "targetname" "stage_three_barrier_forcefield" "origin" "-1111.7 -1960 -50" "TeamNum" "2" "renderfx" "0" "rendermode" "0" "disablereceiveshadows" "0" "mins" "-1 -250 -500" "maxs" "1 250 500" } func_nobuild { "targetname" "stage_three_barrier_no_build" "origin" "-1400 -400 -90" "TeamNum" "3" "renderfx" "0" "rendermode" "0" "disablereceiveshadows" "0" "mins" "-60 -1000 -1500" "maxs" "60 1000 1500" } func_nobuild { "targetname" "stage_three_barrier_no_build2" "origin" "-1100 -1960 -50" "TeamNum" "3" "renderfx" "0" "rendermode" "0" "disablereceiveshadows" "0" "mins" "-50 -250 -500" "maxs" "50 250 500" } training_annotation { "display_text" "The hatch area is now opened!" "lifetime" "3" "origin" "-950 -1070 -50" "targetname" "annotation_stage_three" } logic_relay { "targetname" "stage_three_barrier_disable" "OnTrigger" "stage_three_barrier_forcefield,Disable,,0.01,-1" "OnTrigger" "stage_three_barrier_no_build,Disable,,0.01,-1" "OnTrigger" "stage_three_barrier_no_build2,Disable,,0.01,-1" "OnTrigger" "stage_three_barrier_redwall,Disable,,0,-1" "OnTrigger" "annotation_stage_three,Show,,0.01,-1" } } stage_four_barrier { NoFixup 1 func_forcefield { "targetname" "barrier_hatch" "origin" "-338 -145 -351" "TeamNum" "2" // blu "renderamt" "255" "rendercolor" "255 255 255" "renderfx" "0" "rendermode" "0" "disablereceiveshadows" "0" "mins" "-165 -227 -1500" "maxs" "165 227 1500" } func_nobuild { "targetname" "hatch_no_build" "origin" "-338 -145 -351" "TeamNum" "3" // blu "renderamt" "255" "rendercolor" "255 255 255" "renderfx" "0" "rendermode" "0" "disablereceiveshadows" "0" "mins" "-180 -230 -1500" "maxs" "180 230 1500" } prop_dynamic { "angles" "0 0 0" "model" "models/effects/resist_shield/resist_shield.mdl" "modelscale" "2.5" "skin" "0" "rendermode" "1" "solid" "6" "rendercolor" "255 0 0" "spawnflags" "0" "targetname" "skull" "origin" "-338 -145 -350" } training_annotation { "display_text" "The Bomb can now be deployed!" "lifetime" "5" "origin" "-312.8 -140.5 -22.7" "targetname" "annotation_deploy" } logic_relay { "targetname" "hatch_reveal_relay" "OnTrigger" "barrier_hatch,Disable,,0.01,-1" "OnTrigger" "skull,Disable,,0,-1" "OnTrigger" "annotation_deploy,Show,,0.01,-1" } } top_hatch_platform { NoFixup 1 func_forcefield { "targetname" "upgrade_station_barrier" "origin" "-370 -100 -93" "TeamNum" "3" "renderamt" "255" "rendercolor" "255 255 255" "renderfx" "0" "rendermode" "0" "disablereceiveshadows" "0" "mins" "-252 -252 -10" "maxs" "252 252 10" } } blu_spawn_fences { NoFixup 1 prop_dynamic { "angles" "0 270 0" "model" "models/props_mining/fence001_reference.mdl" "modelscale" "2.4" "skin" "0" "solid" "2" "spawnflags" "0" "targetname" "midbarrierhatch" "origin" "-334.5 -320 -390" } prop_dynamic { "angles" "0 180 0" "model" "models/props_mining/fence001_reference.mdl" "skin" "0" "solid" "2" "spawnflags" "0" "targetname" "midbarrierhatch" "modelscale" "2.7" "origin" "-480 -130 -300" } prop_dynamic { "angles" "0 180 0" "model" "models/props_mining/fence001_reference.mdl" "skin" "0" "solid" "2" "spawnflags" "0" "modelscale" "2.7" "targetname" "midbarrierhatch" "origin" "-190 -130 -300" } prop_dynamic { "angles" "-10 0 0" "disablereceiveshadows" "1" "disableshadows" "1" "model" "models/props_doomsday/dd_woodfence_short_128.mdl" "targetname" "spawnbarrier1" "modelscale" "1.5" "origin" "-7220 -1975 65" } prop_dynamic { "angles" "-5 0 0" "disablereceiveshadows" "1" "disableshadows" "1" "model" "models/props_doomsday/dd_woodfence_short_128.mdl" "targetname" "spawnbarrier2" "modelscale" "3" "origin" "-6915 -1575 250" } prop_dynamic { "angles" "-5 0 5" "disablereceiveshadows" "1" "disableshadows" "1" "model" "models/props_doomsday/dd_woodfence_short_128.mdl" "targetname" "spawnbarrier2" "modelscale" "1" "origin" "-6865 -2105 45" } prop_dynamic { "angles" "-5 0 5" "disablereceiveshadows" "1" "disableshadows" "1" "model" "models/props_doomsday/dd_woodfence_short_128.mdl" "targetname" "spawnbarrier2" "modelscale" "1" "origin" "-6876 -2117 178" } prop_dynamic { "angles" "-5 37 0" "disablereceiveshadows" "1" "disableshadows" "1" "model" "models/props_doomsday/dd_woodfence_short_128.mdl" "targetname" "spawnbarrier2" "modelscale" "4.3" "origin" "-7100 -2210 400" } prop_dynamic { "angles" "180 90 289" "model" "models/props_doomsday/dd_woodfence_short_128.mdl" "modelscale" "3.5" "disablereceiveshadows" "1" "disableshadows" "1" "skin" "0" "solid" "2" "spawnflags" "0" "origin" "-7200 -1950 -170" } func_forcefield { "targetname" "upgrade_station_barrier" "origin" "-7330 -1800 65" "TeamNum" "2" "renderamt" "255" "rendercolor" "255 255 255" "renderfx" "0" "rendermode" "0" "disablereceiveshadows" "0" "mins" "-176 -185 -1500" "maxs" "176 185 1500" } //func_forcefield //{ // "targetname" "upgrade_station_barrier" // "origin" "-6170 -2905 120" // "TeamNum" "2" // "renderamt" "255" // "rendercolor" "255 255 255" // "renderfx" "0" // "rendermode" "0" // "disablereceiveshadows" "0" // // "mins" "-30 -120 -1500" // "maxs" "30 120 1500" //} func_forcefield { "targetname" "tank_spawn_barrier" "origin" "-5640 -2553 -50" "TeamNum" "2" "renderamt" "255" "rendercolor" "255 255 255" "renderfx" "0" "rendermode" "0" "disablereceiveshadows" "0" "mins" "-300 -1 -1500" "maxs" "300 1 1500" } } hatch_barrier_permanent { func_forcefield { "origin" "-334.5 -360 -234" "renderamt" "255" "rendercolor" "255 255 255" "renderfx" "0" "rendermode" "0" "StartDisabled" "0" "targetname" "hatch_barrier_permanent" "TeamNum" "2" "mins" "-147 -2 -137" "maxs" "147 2 137" } func_forcefield { "renderamt" "255" "rendercolor" "255 255 255" "renderfx" "0" "rendermode" "0" "StartDisabled" "0" "targetname" "hatch_barrier_permanent2" "TeamNum" "2" "origin" "-346.5 -150 -234" "mins" "-152 -136 -137" "maxs" "152 136 137" } } Blu_Spawn_Barrier { func_forcefield { "origin" "-6761 -1864 569" "targetname" "blu_spawn_barrier_1" "TeamNum" "2" "mins" "-32 -865 -581" "maxs" "32 865 581" } func_forcefield { "disablereceiveshadows" "0" "origin" "-6252 -2571 302" "StartDisabled" "0" "targetname" "blu_spawn_barrier_2" "TeamNum" "2" "mins" "-265 -70 -238" "maxs" "265 70 238" } prop_dynamic { "angles" "0 0 0" "model" "models/props_c17/fence01a.mdl" "modelscale" "4" "disablereceiveshadows" "1" "disableshadows" "1" "targetname" "blu_spawn_barrier_2" "skin" "0" "solid" "2" "spawnflags" "0" "origin" "-6790 -1835 30" } prop_dynamic { "angles" "0 90 0" "model" "models/props_c17/fence02b.mdl" "modelscale" "2.5" "disablereceiveshadows" "1" "disableshadows" "1" "targetname" "blu_spawn_barrier_2" "skin" "0" "solid" "2" "spawnflags" "0" "origin" "-6300 -2650 160" } //func_nobuild //{ //"origin" "-6761 -1864 569" //"targetname" "blu_spawn_nobuild_1" //"TeamNum" "2" //"mins" "-32 -865 -581" //"maxs" "32 865 581" //} func_forcefield { "origin" "-6669 -1332.5 545.33" "StartDisabled" "0" "targetname" "blu_force" "TeamNum" "2" "mins" "-20 -230 -589" "maxs" "20 230 589" } func_forcefield { "origin" "-6650.74 -2320.75 586.66" "StartDisabled" "0" "targetname" "blu_force" "TeamNum" "2" "mins" "-20 -230 -589" "maxs" "20 230 589" } // func_nobuild // { // "disablereceiveshadows" "0" // "origin" "-6252 -2571 342" // "StartDisabled" "0" // "targetname" "blu_spawn_nobuild_2" // "TeamNum" "2" // blu // "mins" "-265 -70 -195" // "maxs" "265 70 195" // } //logic_relay //{ // "targetname" "blu_forcefield_relay" // Using I/O (FirstSpawnOutput, DoneOutput, ETC) we can trigger this to release blu players from their spawn. We need this so blu players dont just run to the end, or for BLU engineers to setup in strong places. // "OnTrigger" "blu_spawn_barrier_1,Disable,,0,-1" // "OnTrigger" "blu_spawn_barrier_2,Disable,,0,-1" // "OnTrigger" "blu_spawn_nobuild_1,Disable,,0,-1" // "OnTrigger" "blu_spawn_nobuild_2,Disable,,0,-1" //} trigger_add_tf_player_condition { "targetname" "booster1" "condition" "32" "duration" "-1" "filtername" "filter_blueteam" "startdisabled" "0" "mins" "-1068 -1188 -444" "maxs" "1068 1188 444" "origin" "-7724 -1568 -156" "spawnflags" "1" } logic_auto { "target" "blu_spawn_barrier_1" "OnMapSpawn" "item_ammopack*,Kill,,0,-1" "OnMapSpawn" "pop_interface,Kill,,0,-1" "OnMapSpawn" "gate1_relay,RemoveOutput,pop_interface:PauseBotSpawning:0:-1,0,-1" "OnMapSpawn" "wave_start_relay,AddOutput,OnTrigger blu_spawn_barrier_1:Disable:0:-1" "OnMapSpawn" "wave_finished_relay,AddOutput,OnTrigger blu_spawn_barrier_1:Enable:0:-1" "OnMapSpawn" "filter_blue_bombhat,Kill,,0,-1" //lets players cap "OnMapSpawn" "bot_stun_reprogram,Kill,,0,-1" // blu players arent stunned when capping gate "OnMapSpawn" "bot_buff_condition,Kill,,0,-1" "OnMapSpawn" "unpausebotspawning,Kill,0,-1" } logic_auto { "target" "blu_spawn_barrier_2" "OnMapSpawn" "wave_start_relay,AddOutput,OnTrigger blu_spawn_barrier_2:Disable:0:-1" "OnMapSpawn" "wave_finished_relay,AddOutput,OnTrigger blu_spawn_barrier_2:Enable:0:-1" } logic_auto { "target" "blu_spawn_nobuild_1" "OnMapSpawn" "wave_start_relay,AddOutput,OnTrigger blu_spawn_nobuild_1:Disable:0:-1" "OnMapSpawn" "wave_finished_relay,AddOutput,OnTrigger blu_spawn_nobuild_1:Enable:0:-1" } logic_auto { "target" "blu_spawn_nobuild_2" "OnMapSpawn" "wave_start_relay,AddOutput,OnTrigger blu_spawn_nobuild_2:Disable:0:-1" "OnMapSpawn" "wave_finished_relay,AddOutput,OnTrigger blu_spawn_nobuild_2:Enable:0:-1" } prop_dynamic { "angles" "0 179 0" "model" "models\props_mvm\mvm_upgrade_blu.mdl" "modelscale" "1.0" "skin" "0" "solid" "2" "spawnflags" "0" "targetname" "blu_upgrade_altspawn" "origin" "-6152 -2887 98" } prop_dynamic { "angles" "-10 0 2" "model" "models\props_mvm\mvm_upgrade_blu.mdl" "modelscale" "1.0" "solid" "2" "spawnflags" "0" "targetname" "blu_upgrade_mainspawn" "origin" "-7250 -1812 -120" } func_upgradestation { "StartDisabled" "0" "targetname" "blu_upgrade_altspawn_func" "origin" "-6152 -2887 98" "mins" "-89 -139 -92" "maxs" "89 139 92" "parentname" "blu_upgrade_altspawn" } func_upgradestation { "StartDisabled" "0" "targetname" "blu_upgrade_mainspawn_func" "origin" "-7260 -1812 -110" "mins" "-120 -155 -92" "maxs" "120 155 100" "parentname" "blu_upgrade_mainspawn" } //MAIN SPAWN NoFixup 1 func_regenerate { "associatedmodel" "locker_model" "StartDisabled" "0" "targetname" "regenerate" "TeamNum" "3" "mins" "-65 -48 -58" "maxs" "65 48 58" "origin" "-7397.2 -2012.0 -150.8" "OnStartTouch" "regenerate,Disable,,0,-1" "OnEndTouchAll" "regenerate,Enable,,0,-1" "spawnflags" "1" } prop_dynamic { "angles" "0 -90 10" "model" "models/props_gameplay/resupply_locker.mdl" "skin" "0" "solid" "6" "spawnflags" "0" "targetname" "locker_model" "origin" "-7397.2 -1972.0 -150.8" } //ALT SPAWN func_regenerate { "associatedmodel" "locker21" "StartDisabled" "0" "targetname" "regenerate2" "TeamNum" "3" "OnStartTouch" "regenerate,Disable,,0,-1" "OnEndTouchAll" "regenerate,Enable,,0,-1" "mins" "-69 -61 -64" "maxs" "69 61 64" "origin" "-6393.4 -3078.6 78.4" "spawnflags" "1" } prop_dynamic { "angles" "0 0 0" "model" "models/props_gameplay/resupply_locker.mdl" "skin" "0" "solid" "6" "spawnflags" "0" "targetname" "locker21" "origin" "-6393.4 -3078.6 78.4" } } // If you want level sentries, copy the above point temp (all of it!), then change the "defaultupgrade" [0] value to "1" for lvl 2 sentries and "2" for level 3 sentries. // For minis, instead of changing defaultupgrade, add "spawnflags" "64" textualtimer { OnSpawnOutput { Param 10 // change the value for minutes, set to 20 cuz the point temp counts down by 2 for some reason Target minutehand Action SetValue } OnSpawnOutput { Param 0 // change the value for seconds Target secondhand Action SetValue } logic_relay { "targetname" "loserelay" "startdisabled" "1" "ontrigger" "bots_win_red,RoundWin,,2,-1" "ontrigger" "realtimer,cancelpending,,2,-1" "onspawn" "wave_start*,addoutput,ontrigger realtimer:trigger::0:-1,0,-1" "onspawn" "wave_finish*,addoutput,ontrigger realtimer:cancelpending::0:-1,0,-1" "onspawn" "wave_finish*,addoutput,ontrigger loserelay:cancelpending::0:-1,0,-1" } NoFixup 1 math_counter { "targetname" "minutehand" "max" "9999" "outvalue" "timerformat,$setkey$case01,,0,-1" "onhitmin" "loserelay,enable,,1,-1" } math_counter { "targetname" "secondhand" "max" "60" "outvalue" "timerformat,$setkey$case02,,0,-1" "outvalue" "zerocompare,setvaluecompare,,0,-1" "onhitmin" "loserelay,trigger,,0,-1" "onhitmin" "!self,setvalue,60,1,-1" "onhitmin" "minutehand,subtract,1,1,-1" } logic_compare { "targetname" "zerocompare" "comparevalue" "9" "onequalto" "timerformat,$setkey$case16,%:0%,0,-1" "ongreaterthan" "timerformat,$setkey$case16,%:%,0,-1" } logic_case { "targetname" "timerformat" "case16" "%:%" "ondefault" "timertext,$setkey$message,,0,-1" "ondefault" "timertext,display,0,0,-1" } game_text { "targetname" "timertext" "color" "65 155 255" "holdtime" "1" "spawnflags" "1" "x" "0.7" "y" "0.9" } logic_relay { "targetname" "realtimer" "spawnflags" "2" "ontrigger" "timerformat,$format,,0.01,-1" "ontrigger" "secondhand,subtract,1,0,-1" "ontrigger" "!self,trigger,,1,-1" } game_round_win { "teamnum" "2" "targetname" "bots_win_red" "force_map_reset" "1" } } } SpawnTemplate Blu_Spawn_Barrier SpawnTemplate textualtimer SpawnTemplate stage_one_barrier SpawnTemplate stage_two_barrier SpawnTemplate stage_three_barrier SpawnTemplate stage_four_barrier SpawnTemplate spawns_red SpawnTemplate hatch_barrier_permanent SpawnTemplate ammo_pack_one SpawnTemplate Tank_Win_Red SpawnTemplate blu_spawn_fences //SpawnTemplate top_hatch_platform ///////////////////////////////////////////MISC /////////////////////////////////////////////// ExtraSpawnPoint { Name "spawnbot_top_hatch" TeamNum 2 //2 for red 3 for blu X "-330" Y "-140" Z "100" } ExtraSpawnPoint { Name "spawnbot_neartankgate_front" TeamNum 2 //2 for red 3 for blu X "-5216" Y "-2080" Z "88" } ExtraSpawnPoint { Name "spawnbot_treetop_front" TeamNum 2 X "-4030" Y "-1115" Z "-170" } ExtraSpawnPoint { Name "spawnbot_under_plank" TeamNum 2 X "-5300" Y "-1400" Z "-35" } ExtraSpawnPoint { Name "spawnbot_behindrock_next2spawn_front" Teamnum 2 X "-5149.5" Y "-655.0" Z "29.4" } ExtraSpawnPoint { Name "spawnbot_riverstairs" TeamNum 2 X "-3616" Y "-1984" Z "-40" } ExtraSpawnPoint { Name "spawnbot_window_cp_mid" TeamNum 2 X "-3744" Y "-1184" Z "8" } ExtraSpawnPoint { Name "spawnbot_controlpoint_mid" TeamNum 2 X "-3488" Y "-2688" Z "7.47305" } ExtraSpawnPoint { Name "spawnbot_treecover_flankside" TeamNum 2 X "-2630" Y "-3550" Z "-20" } ExtraSpawnPoint { Name "spawnbot_staircase_flankside" TeamNum 2 X "-1724.8" Y "-3010.8" Z "219.0" } ExtraSpawnPoint { Name "spawnbot_bigbuilding_redside" TeamNum 2 X "-989.1" Y "-2072.5" Z "70" } ExtraSpawnPoint { Name "spawnbot_hatchlower" TeamNum 2 X "-1280" Y "-768" Z "-217.926" } ExtraSpawnPoint { Name "spawnbot_hatch_further" Teamnum 2 X "132.6" y "231.6" Z "-133.0" } ExtraSpawnPoint { Name "spawnbot_hatchupper" TeamNum 2 X "-448" Y "-1344" Z "-136" } ExtraSpawnPoint { Name "spawnbot_behindbarrels_redspawn" Teamnum 2 X "-2615.6" Y "-1279.3" Z "-54.3" } ExtraSpawnPoint { Name "spawnbot_redspawnbot" TeamNum 2 X "-320" Y "896" Z "-64" } ExtraSpawnPoint { Name "spawnbot_redspawn" TeamNum 2 X "-1040" Y "890" Z "-160" } ExtraSpawnPoint { Name "spawnbot_redspawn" TeamNum 2 X "0" Y "550" Z "-55" } ExtraSpawnPoint { Name "spawnbot_redspawn" TeamNum 2 X "200" Y "-660" Z "-210" } PointTemplates { spawns_red { prop_dynamic { "angles" "0 0 0" "fademindist" "-1" "fadescale" "1" "MaxAnimTime" "10" "MinAnimTime" "5" "model" "models/props_mvm/robot_spawnpoint.mdl" "modelscale" "1.0" "renderamt" "255" "rendercolor" "255 255 255" "skin" "0" "solid" "6" "origin" "-3616 -1984 -48" } prop_dynamic { "angles" "0 0 0" "fademindist" "-1" "fadescale" "1" "MaxAnimTime" "10" "MinAnimTime" "5" "model" "models/props_mvm/robot_spawnpoint.mdl" "modelscale" "1.0" "renderamt" "255" "rendercolor" "255 255 255" "skin" "0" "solid" "6" "origin" "-5216 -2080 80" } prop_dynamic { "angles" "0 0 0" "fademindist" "-1" "fadescale" "1" "MaxAnimTime" "10" "MinAnimTime" "5" "model" "models/props_mvm/robot_spawnpoint.mdl" "modelscale" "1.0" "renderamt" "255" "rendercolor" "255 255 255" "skin" "0" "solid" "6" "origin" "-4030 -1115 -170" } prop_dynamic { "angles" "0 0 0" "fademindist" "-1" "fadescale" "1" "MaxAnimTime" "10" "MinAnimTime" "5" "model" "models/props_mvm/robot_spawnpoint.mdl" "modelscale" "1.0" "renderamt" "255" "rendercolor" "255 255 255" "skin" "0" "solid" "6" "origin" "-5300 -1400 -95" } prop_dynamic { "angles" "0 0 0" "fademindist" "-1" "fadescale" "1" "MaxAnimTime" "10" "MinAnimTime" "5" "model" "models/props_mvm/robot_spawnpoint.mdl" "modelscale" "1.0" "renderamt" "255" "rendercolor" "255 255 255" "skin" "0" "solid" "6" "origin" "-5149.5 -655 -36" } prop_dynamic { "angles" "0 0 0" "fademindist" "-1" "fadescale" "1" "MaxAnimTime" "10" "MinAnimTime" "5" "model" "models/props_mvm/robot_spawnpoint.mdl" "modelscale" "1.0" "renderamt" "255" "rendercolor" "255 255 255" "skin" "0" "solid" "6" "origin" "-3744 -1184 0" } prop_dynamic { "angles" "0 0 0" "fademindist" "-1" "fadescale" "1" "MaxAnimTime" "10" "MinAnimTime" "5" "model" "models/props_mvm/robot_spawnpoint.mdl" "modelscale" "1.0" "renderamt" "255" "rendercolor" "255 255 255" "skin" "0" "solid" "6" "origin" "-3488 -2688 -1.5" } prop_dynamic { "angles" "0 0 0" "fademindist" "-1" "fadescale" "1" "MaxAnimTime" "10" "MinAnimTime" "5" "model" "models/props_mvm/robot_spawnpoint.mdl" "modelscale" "1.0" "renderamt" "255" "rendercolor" "255 255 255" "skin" "0" "solid" "6" "origin" "-989 -2072.5 -63" } prop_dynamic { "angles" "0 0 0" "fademindist" "-1" "fadescale" "1" "MaxAnimTime" "10" "MinAnimTime" "5" "model" "models/props_mvm/robot_spawnpoint.mdl" "modelscale" "1.0" "renderamt" "255" "rendercolor" "255 255 255" "skin" "0" "solid" "6" "origin" "-1280 -768 -227" } prop_dynamic { "angles" "0 0 0" "fademindist" "-1" "fadescale" "1" "MaxAnimTime" "10" "MinAnimTime" "5" "model" "models/props_mvm/robot_spawnpoint.mdl" "modelscale" "1.0" "renderamt" "255" "rendercolor" "255 255 255" "skin" "0" "solid" "6" "origin" "132.5 231.5 -210" } prop_dynamic { "angles" "0 0 0" "fademindist" "-1" "fadescale" "1" "MaxAnimTime" "10" "MinAnimTime" "5" "model" "models/props_mvm/robot_spawnpoint.mdl" "modelscale" "1.0" "renderamt" "255" "rendercolor" "255 255 255" "skin" "0" "solid" "6" "origin" "-448 -1344 -145" } prop_dynamic { "angles" "0 0 0" "fademindist" "-1" "fadescale" "1" "MaxAnimTime" "10" "MinAnimTime" "5" "model" "models/props_mvm/robot_spawnpoint.mdl" "modelscale" "1.0" "renderamt" "255" "rendercolor" "255 255 255" "skin" "0" "solid" "6" "origin" "-2615.5 -1279 -65" } prop_dynamic { "angles" "0 0 0" "fademindist" "-1" "fadescale" "1" "MaxAnimTime" "10" "MinAnimTime" "5" "model" "models/props_mvm/robot_spawnpoint.mdl" "modelscale" "1.0" "renderamt" "255" "rendercolor" "255 255 255" "skin" "0" "solid" "6" "origin" "-320 896 -64" } prop_dynamic { "angles" "0 0 0" "fademindist" "-1" "fadescale" "1" "MaxAnimTime" "10" "MinAnimTime" "5" "model" "models/props_mvm/robot_spawnpoint.mdl" "modelscale" "1.0" "renderamt" "255" "rendercolor" "255 255 255" "skin" "0" "solid" "6" "origin" "-1040 890 -190" } prop_dynamic { "angles" "0 0 0" "fademindist" "-1" "fadescale" "1" "MaxAnimTime" "10" "MinAnimTime" "5" "model" "models/props_mvm/robot_spawnpoint.mdl" "modelscale" "1.0" "renderamt" "255" "rendercolor" "255 255 255" "skin" "0" "solid" "6" "origin" "0 550 -90" } prop_dynamic { "angles" "0 0 0" "fademindist" "-1" "fadescale" "1" "MaxAnimTime" "10" "MinAnimTime" "5" "model" "models/props_mvm/robot_spawnpoint.mdl" "modelscale" "1.0" "renderamt" "255" "rendercolor" "255 255 255" "skin" "0" "solid" "6" "origin" "200 -660 -243" } } } Mission // Engineer { Objective Engineer InitialCooldown 80 Where spawnbot BeginAtWave 1 RunForThisManyWaves 5 CooldownTime 80 DesiredCount 1 TFBot { Template T_TFBot_Engineer_Sentry_Teleporter } } Wave // Wave 1 { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } InitWaveOutput { Target holograms_3way_relay Action Trigger } Explanation { Line "{yellow}You must complete 3 stages infested with bots before you can reach the hatch." //Line "{green}Mass amount of sentry guns in this area." Line "{red}Exceeding 10 minute timer will results in a wave lost!" //Line "{green}There are custom upgrades you can use." Line "{blue}============================================" Line "{blue}In order to advance you must cap the gate." Line "{blue}More carriers will appear later in the wave." Line "{blue}============================================" } WaveSpawn { Name "red_icon" TotalCount 1 MaxActive 1 SpawnCount 1 Where spawnbot WaitBeforeStarting 9999 WaitBetweenSpawns 18 TotalCurrency 0 Support 1 RandomChoice { TFBot { Template T_TFGateBot_Scout_Reverse ClassIcon red2_lite } } } WaveSpawn { Name "a1" Where spawnbot_treetop_front TotalCount 12 MaxActive 12 SpawnCount 4 WaitBeforeStarting 2 WaitBetweenSpawns 9 TotalCurrency 50 Squad { TFBot { Template T_TFBot_Heavyweapons_Fist Attributes DisableDodge Action Mobber Skill Expert CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1 } } TFBot { Template T_TFBot_Medic_BigHeal ClassIcon uber_quickfix_medic_nys Attributes DisableDodge Action Mobber Skill Expert CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1 } } } } WaveSpawn { Name "a1.1" Where spawnbot_behindrock_next2spawn_front TotalCount 2 MaxActive 1 SpawnCount 1 WaitBeforeStarting 2 WaitBetweenSpawns 15 TotalCurrency 50 TFBot { Template T_TFBot_Giant_Soldier_Spammer CharacterAttributes { "voice pitch scale" 0 "crit mod disabled" 0 "damage force reduction" 0 "force distribute currency on death" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1 } Action Mobber } } WaveSpawn { Name "a1.2" Where spawnbot_behindrock_next2spawn_front TotalCount 20 MaxActive 10 SpawnCount 5 WaitBeforeStarting 3 TotalCurrency 100 WaitBetweenSpawns 10 TFBot { ClassIcon pyro_fireaxe_lite Name "Axe Pyro" Class Pyro Skill Easy WeaponRestrictions MeleeOnly CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1 } Action Mobber } } WaveSpawn // Dummy { WaitForAllDead "a1" Name "done1" } WaveSpawn // Dummy { WaitForAllDead "a1.1" Name "done1" } WaveSpawn // Dummy { WaitForAllSpawned "a1.2" Name "done1" } WaveSpawn { WaitForAllDead "done1" Name "relay1" FirstSpawnOutput { Target stage_one_barrier_disable Action Trigger } } WaveSpawn { Name "a2.1" Where spawnbot_window_cp_mid TotalCount 10 MaxActive 10 SpawnCount 1 WaitBeforeStarting 6 WaitBetweenSpawns 17 TotalCurrency 150 WaitForAllDead "done1" Squad { TFBot { Template T_TFBot_Giant_Pyro Skill Hard Attributes DisableDodge CharacterAttributes { "voice pitch scale" 0 "crit mod disabled" 0 "damage force reduction" 0 "force distribute currency on death" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1 } Action Mobber } TFBot { Template T_TFBot_Medic_QuickUber ClassIcon uber_quickfix_medic_nys Attributes DisableDodge Action Mobber Skill Expert CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1 } } TFBot { Template T_TFBot_Medic_QuickUber ClassIcon uber_quickfix_medic_nys Attributes DisableDodge Action Mobber Skill Expert CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1 } } TFBot { Template T_TFBot_Medic_QuickUber ClassIcon uber_quickfix_medic_nys Attributes DisableDodge Action Mobber Skill Expert CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1 } } TFBot { Template T_TFBot_Medic_QuickUber ClassIcon uber_quickfix_medic_nys Attributes DisableDodge Action Mobber Skill Expert CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1 } } } } WaveSpawn { Name "a2.2" Where spawnbot_behindbarrels_redspawn Where spawnbot_controlpoint_mid TotalCount 30 SpawnCount 6 MaxActive 12 WaitBeforeStarting 5 WaitBetweenSpawns 4 TotalCurrency 150 WaitForAllDead "done1" RandomSpawn 1 Squad { TFBot { ClassIcon pyro_fireaxe_lite Name "Axe Pyro" Class Pyro Skill Expert WeaponRestrictions MeleeOnly Action Mobber Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1 } } } } WaveSpawn { Name "a2.3" TotalCount 16 MaxActive 10 Where spawnbot_behindbarrels_redspawn SpawnCount 2 WaitBeforeStarting 25 WaitBetweenSpawns 7 WaitForAllDead "done1" TotalCurrency 50 Squad { TFBot { Template T_TFBot_Heavyweapons_Fist Attributes DisableDodge Action Mobber Skill Expert CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1 } } TFBot { Template T_TFBot_Medic_BigHeal ClassIcon uber_quickfix_medic_nys Attributes DisableDodge Action Mobber Skill Expert CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1 } } } } WaveSpawn { Name "a3.1" WaitForAllDead "a2.1" Where spawnbot_bigbuilding_redside TotalCount 2 SpawnCount 1 MaxActive 2 WaitBeforeStarting 12 WaitBetweenSpawns 20 TotalCurrency 100 Squad { TFBot { Template T_TFBot_Giant_Soldier_Spammer Attributes DisableDodge ClassIcon Soldier_Spammer Attributes AlwaysCrit CharacterAttributes { "voice pitch scale" 0 "crit mod disabled" 0 "damage force reduction" 0 "force distribute currency on death" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1 } Action Mobber } TFBot { Template T_TFBot_Giant_Medic_Regen CharacterAttributes { "voice pitch scale" 0 "crit mod disabled" 0 "damage force reduction" 0 "force distribute currency on death" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1 } } } } WaveSpawn { Name "a3.15" WaitForAllDead "a2.1" Where spawnbot_bigbuilding_redside TotalCount 32 SpawnCount 6 MaxActive 12 WaitBeforeStarting 7 WaitBetweenSpawns 7 TotalCurrency 50 Squad { TFBot { Class Pyro Skill Easy WeaponRestrictions MeleeOnly CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1 } Action Mobber } TFBot { Template T_TFBot_Medic_BigHeal ClassIcon uber_quickfix_medic_nys Attributes DisableDodge Action Mobber Skill Expert CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1 } } } } WaveSpawn // Dummy { WaitForAllDead "a2.3" Name "done2" } WaveSpawn // Dummy { WaitForAllDead "a3.1" Name "done2" } WaveSpawn // Dummy { WaitForAllSpawned "a3.15" Name "done2" } WaveSpawn { WaitForAllDead "done2" Name "relay2" FirstSpawnOutput { Target stage_three_barrier_disable Action Trigger } } WaveSpawn { Name "a3.2" Where spawnbot_hatchupper WaitForAllDead "done2" TotalCount 10 SpawnCount 1 MaxActive 10 WaitBeforeStarting 1 WaitBetweenSpawns 10 TotalCurrency 100 Squad { TFBot { Template T_TFBot_Giant_Soldier_Spammer Attributes DisableDodge CharacterAttributes { "voice pitch scale" 0 "crit mod disabled" 0 "damage force reduction" 0 "force distribute currency on death" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1 } Action Mobber } TFBot { Template T_TFBot_Medic_QuickUber ClassIcon uber_quickfix_medic_nys Attributes DisableDodge Action Mobber Skill Expert CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1 } } TFBot { Template T_TFBot_Medic_QuickUber ClassIcon uber_quickfix_medic_nys Attributes DisableDodge Action Mobber Skill Expert CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1 } } TFBot { Template T_TFBot_Medic_QuickUber ClassIcon uber_quickfix_medic_nys Attributes DisableDodge Action Mobber Skill Expert CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1 } } TFBot { Template T_TFBot_Medic_QuickUber ClassIcon uber_quickfix_medic_nys Attributes DisableDodge Action Mobber Skill Expert CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1 } } TFBot { Template T_TFBot_Medic_QuickUber ClassIcon uber_quickfix_medic_nys Attributes DisableDodge Action Mobber Skill Expert CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1 } } TFBot { Template T_TFBot_Medic_QuickUber ClassIcon uber_quickfix_medic_nys Attributes DisableDodge Action Mobber Skill Expert CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1 } } TFBot { Template T_TFBot_Medic_QuickUber ClassIcon uber_quickfix_medic_nys Attributes DisableDodge Action Mobber Skill Expert CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1 } } TFBot { Template T_TFBot_Medic_QuickUber ClassIcon uber_quickfix_medic_nys Attributes DisableDodge Action Mobber Skill Expert CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1 } } } } WaveSpawn { Name "a3.35" WaitForAllDead "done2" Where spawnbot_redspawn TotalCount 76 SpawnCount 8 MaxActive 12 WaitBeforeStarting 7 WaitBetweenSpawns 7 TotalCurrency 50 RandomSpawn 1 Squad { TFBot { Template T_TFBot_Pyro_Flaregun ClassIcon pyro_flare_red Class Pyro Skill Hard Attributes AlwaysCrit CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1 } Action Mobber } TFBot { Template T_TFBot_Medic_BigHeal ClassIcon uber_quickfix_medic_nys Attributes DisableDodge Action Mobber Skill Expert CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1 } } } } WaveSpawn { Name "a3.3" Where spawnbot_hatchlower WaitForAllDead "a3.2" TotalCount 20 SpawnCount 1 MaxActive 20 WaitBeforeStarting 1 WaitBetweenSpawns 12 TotalCurrency 100 Squad { TFBot { Template T_TFBot_Giant_Soldier_Spammer Attributes DisableDodge CharacterAttributes { "voice pitch scale" 0 "crit mod disabled" 0 "damage force reduction" 0 "force distribute currency on death" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1 } Action Mobber } TFBot { Template T_TFBot_Medic_QuickUber ClassIcon uber_quickfix_medic_nys Attributes DisableDodge Action Mobber Skill Expert CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1 } } TFBot { Template T_TFBot_Medic_QuickUber ClassIcon uber_quickfix_medic_nys Attributes DisableDodge Action Mobber Skill Expert CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1 } } TFBot { Template T_TFBot_Medic_QuickUber ClassIcon uber_quickfix_medic_nys Attributes DisableDodge Action Mobber Skill Expert CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1 } } TFBot { Template T_TFBot_Medic_QuickUber ClassIcon uber_quickfix_medic_nys Attributes DisableDodge Action Mobber Skill Expert CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1 } } TFBot { Template T_TFBot_Medic_QuickUber ClassIcon uber_quickfix_medic_nys Attributes DisableDodge Action Mobber Skill Expert CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1 } } TFBot { Template T_TFBot_Medic_QuickUber ClassIcon uber_quickfix_medic_nys Attributes DisableDodge Action Mobber Skill Expert CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1 } } TFBot { Template T_TFBot_Medic_QuickUber ClassIcon uber_quickfix_medic_nys Attributes DisableDodge Action Mobber Skill Expert CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1 } } TFBot { Template T_TFBot_Medic_QuickUber ClassIcon uber_quickfix_medic_nys Attributes DisableDodge Action Mobber Skill Expert CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1 } } TFBot { Template T_TFBot_Medic_QuickUber ClassIcon uber_quickfix_medic_nys Attributes DisableDodge Action Mobber Skill Expert CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1 } } } } WaveSpawn // Dummy { WaitForAllDead "a3.2" Name "done" } WaveSpawn // Dummy { WaitForAllDead "a3.3" Name "done" } WaveSpawn // Will open the hatch when both Blast Soldier wavespawns are gone { WaitForAllDead "done" Name "relay" FirstSpawnOutput { Target hatch_reveal_relay Action Trigger } } WaveSpawn { Name "lastbots" WaitForAllSpawned "a3.2" Where spawnbot_redspawn TotalCount 9999 MaxActive 6 SpawnCount 2 WaitBeforeStarting 10 WaitBetweenSpawns 2 TotalCurrency 0 Support 1 RandomSpawn 1 RandomChoice { TFBot { Template T_TFBot_Demo_Burst Attributes DisableDodge ClassIcon demo_burst_red CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1 } Action Mobber } } } WaveSpawn { Name "blue_icon" TotalCount 1 MaxActive 1 SpawnCount 1 Where spawnbot WaitBeforeStarting 9999 WaitBetweenSpawns 18 TotalCurrency 0 Support 1 TFBot { Class Scout ClassIcon blu2_lite } } WaveSpawn { Name SScouts Support 1 TotalCount 6 MaxActive 6 SpawnCount 1 Where spawnbot WaitBeforeStarting 20 WaitBetweenSpawns 12 TFBot { Class Scout Health 1 ClassIcon agentbomb WeaponRestrictions MeleeOnly CharacterAttributes { "move speed bonus" 2 } } } WaveSpawn // Dummy, makes wave seems infinite { TotalCount 0 SpawnCount 0 WaitBeforeStarting 9999 Where spawnbot_redspawnbot RandomChoice { RandomChoice { TFBot { Class Scout } } } } } Wave // Wave 2 { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } InitWaveOutput { Target holograms_3way_relay Action Trigger } WaveSpawn { Name "red_icon" TotalCount 1 MaxActive 1 SpawnCount 1 Where spawnbot WaitBeforeStarting 9999 WaitBetweenSpawns 18 TotalCurrency 0 Support 1 RandomChoice { TFBot { Template T_TFGateBot_Scout_Reverse ClassIcon red2_lite } } } WaveSpawn { Name "a1.1" Where spawnbot_treetop_front TotalCount 3 MaxActive 1 SpawnCount 1 WaitBeforeStarting 2 WaitBetweenSpawns 0 TotalCurrency 150 TFBot { Template T_TFBot_Giant_Heavyweapons_Shotgun ClassIcon heavy_shotgun_red Attributes DisableDodge CharacterAttributes { "voice pitch scale" 0 "crit mod disabled" 0 "damage force reduction" 0 "force distribute currency on death" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1 } Action Mobber } } WaveSpawn { Name "a1.2" Where spawnbot_behindrock_next2spawn_front TotalCount 40 MaxActive 12 SpawnCount 8 WaitBetweenSpawns 8 WaitBeforeStarting 5 TotalCurrency 100 TFBot { Template T_TFBot_Sniper_Huntsman Attributes DisableDodge Skill Easy AimAt Head Attributes AlwaysCrit ItemAttributes { ItemName "The Huntsman" "damage bonus" 0.5 } CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1 } Action Mobber } } WaveSpawn { Name "a1.3" Where spawnbot_treetop_front TotalCount 18 MaxActive 18 SpawnCount 3 WaitBeforeStarting 4 WaitBetweenSpawns 5 TotalCurrency 50 TFBot { Template T_TFBot_Direct_Hit Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1 } Action Mobber } } WaveSpawn // Dummy { WaitForAllDead "a1.3" Name "done1" } WaveSpawn // Dummy { WaitForAllDead "a1.1" Name "done1" } WaveSpawn // Dummy { WaitForAllSpawned "a1.2" Name "done1" } WaveSpawn { WaitForAllDead "done1" Name "relay1" FirstSpawnOutput { Target stage_one_barrier_disable Action Trigger } } WaveSpawn { Name "a2.1" TotalCount 1 MaxActive 1 where spawnbot_controlpoint_mid SpawnCount 1 WaitForAllDead "done1" WaitBeforeStarting 4 WaitBetweenSpawns 0 TotalCurrency 100 TFBot { Template T_TFBot_Giant_Heavyweapons_Shotgun ClassIcon heavy_shotgun_red Attributes DisableDodge CharacterAttributes { "voice pitch scale" 0 "crit mod disabled" 0 "damage force reduction" 0 "force distribute currency on death" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1 } Action Mobber } } WaveSpawn { Name "a2.2" TotalCount 1 MaxActive 1 SpawnCount 1 Where spawnbot_behindbarrels_redspawn WaitForAllDead "done1" WaitBeforeStarting 46 WaitBetweenSpawns 0 TotalCurrency 100 TFBot { Template T_TFBot_Giant_Heavyweapons_Shotgun ClassIcon heavy_shotgun_red Attributes DisableDodge CharacterAttributes { "voice pitch scale" 0 "crit mod disabled" 0 "damage force reduction" 0 "force distribute currency on death" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1 } Action Mobber } } WaveSpawn { Name "a2.3" TotalCount 25 SpawnCount 4 MaxActive 15 Where spawnbot_controlpoint_mid WaitForAllDead "done1" WaitBeforeStarting 7 WaitBetweenSpawns 5 TotalCurrency 100 TFBot { Skill Normal Class Soldier Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1 } Action Mobber } } WaveSpawn { Name "a2.4" TotalCount 2 SpawnCount 1 MaxActive 2 where spawnbot_bigbuilding_redside WaitForAllDead "a2.1" WaitBeforeStarting 8 WaitBetweenSpawns 22 TotalCurrency 100 TFBot { Template T_TFBot_Giant_Soldier_Extended_Battalion Attributes DisableDodge CharacterAttributes { "voice pitch scale" 0 "crit mod disabled" 0 "damage force reduction" 0 "force distribute currency on death" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 2 } Action Mobber } } WaveSpawn { Name "a2.5" TotalCount 36 SpawnCount 4 MaxActive 14 Where spawnbot_bigbuilding_redside WaitForAllDead "a2.1" WaitBeforeStarting 9 WaitBetweenSpawns 7 TotalCurrency 50 TFBot { Template T_TFBot_Sniper_Huntsman Attributes DisableDodge Skill Easy AimAt Head Attributes AlwaysCrit ItemAttributes { ItemName "The Huntsman" "damage bonus" 0.5 } CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1 } Action Mobber } } WaveSpawn // Dummy { WaitForAllDead "a2.4" Name "done2" } WaveSpawn // Dummy { WaitForAllSpawned "a3.5" Name "done2" } WaveSpawn { WaitForAllDead "done2" Name "relay2" FirstSpawnOutput { Target stage_three_barrier_disable Action Trigger } } WaveSpawn { Name "a3.1" TotalCount 2 SpawnCount 1 MaxActive 2 Where spawnbot_hatchlower WaitForAllDead "done2" WaitBeforeStarting 2 WaitBetweenSpawns 28 TotalCurrency 100 Squad { TFBot { Template T_TFBot_Giant_Heavyweapons_Shotgun ClassIcon heavy_shotgun_red Attributes DisableDodge CharacterAttributes { "voice pitch scale" 0 "crit mod disabled" 0 "damage force reduction" 0 "force distribute currency on death" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1 } Action Mobber } TFBot { Template T_TFBot_Giant_Medic_Regen Attributes DisableDodge CharacterAttributes { "voice pitch scale" 0 "crit mod disabled" 0 "damage force reduction" 0 "force distribute currency on death" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1 } Action Mobber } } } WaveSpawn { Name "a3.2" TotalCount 35 SpawnCount 5 MaxActive 10 WaitForAllDead "done2" Where spawnbot_hatchupper WaitBeforeStarting 3 WaitBetweenSpawns 9 TotalCurrency 50 TFBot { Template T_TFBot_Bazooka_Soldier CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1 } Action Mobber } } WaveSpawn // Dummy { WaitForAllDead "a3.1" Name "done" } WaveSpawn // Will open the hatch when both Blast Soldier wavespawns are gone { WaitForAllDead "done" Name "relay" FirstSpawnOutput { Target hatch_reveal_relay Action Trigger } } WaveSpawn { Name "support_red" TotalCount 9999 SpawnCount 5 MaxActive 5 WaitForAllDead "a3.2" where spawnbot_redspawn WaitBeforeStarting 6 Support 1 WaitBetweenSpawns 10 RandomChoice { TFBot { Class Pyro Attributes DisableDodge Skill Easy CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1 } Action Mobber } TFBot { Template T_TFBot_Pyro_Flaregun Attributes DisableDodge ClassIcon pyro_flare_red CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1 } Action Mobber } } } WaveSpawn { Name "blue_icon" TotalCount 1 MaxActive 1 SpawnCount 1 Where spawnbot WaitBeforeStarting 9999 WaitBetweenSpawns 18 TotalCurrency 0 Support 1 TFBot { Class Scout ClassIcon blu2_lite } } WaveSpawn { Name SScouts Support 1 TotalCount 6 MaxActive 6 SpawnCount 1 Where spawnbot WaitBeforeStarting 20 WaitBetweenSpawns 12 TFBot { Class Scout Health 1 ClassIcon agentbomb WeaponRestrictions MeleeOnly CharacterAttributes { "move speed bonus" 2 } } } WaveSpawn // Dummy, makes wave seems infinite { TotalCount 0 SpawnCount 0 WaitBeforeStarting 9999 Where spawnbot_redspawnbot RandomChoice { RandomChoice { TFBot { Class Scout } } } } } Wave // Wave 3 { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } InitWaveOutput { Target holograms_3way_relay Action Trigger } WaveSpawn { Name "red_icon" TotalCount 1 MaxActive 1 SpawnCount 1 Where spawnbot WaitBeforeStarting 9999 WaitBetweenSpawns 18 TotalCurrency 0 Support 1 RandomChoice { TFBot { Template T_TFGateBot_Scout_Reverse ClassIcon red2_lite } } } WaveSpawn { Name "a1.tank" TotalCount 1 SpawnCount 1 MaxActive 1 WaitBeforeStarting 2 WaitBetweenSpawns 0 TotalCurrency 200 Tank { Name "tankboss1" StartingPathTrackNode "tank_path_river_door_red_1" // thanks to Valve coding, you need to give a tank path the name in the extratankpath syntax, copy that name here then add "_1" at the end. Why is beyond me Health 15000 // change health value accordingly, though a map this big should have a high health tanks like how most Bigrock mission's do Speed 75 SolidToBrushes 1 ClassIcon tank_red Teamnum 2 // makes the tank's team red Model //Set custom model on tank. Will spit harmless errors on client console if the model does not have enough sequences { Default "models/bots/boss_bot/boss_tankred.mdl" Damage1 "models/bots/boss_bot/boss_tankred_damage1.mdl" Damage2 "models/bots/boss_bot/boss_tankred_damage2.mdl" Damage3 "models/bots/boss_bot/boss_tankred_damage3.mdl" Destruction "models/bots/boss_bot/boss_tankred_part1_destruction.mdl" LeftTrack "models/bots/boss_bot/tankred_track_l.mdl" RightTrack "models/bots/boss_bot/tankred_track_r.mdl" Bomb "models/bots/boss_bot/bombblue_mechanism.mdl" } OnKilledOutput { Target boss_dead_relay Action Trigger } OnBombDroppedOutput { Target redwin_relay Action Trigger } } } WaveSpawn { Name "a1.1" TotalCount 1 SpawnCount 1 Where spawnbot_treetop_front MaxActive 1 WaitBeforeStarting 13 //WaitBetweenSpawns 17 TotalCurrency 150 TFBot { Template T_TFBot_Giant_Soldier_Spammer_Reload Attributes DisableDodge CharacterAttributes { "voice pitch scale" 0 "crit mod disabled" 0 "damage force reduction" 0 "force distribute currency on death" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1 } Action Mobber } } WaveSpawn { Name "a1.2" TotalCount 32 SpawnCount 8 MaxActive 16 WaitBetweenSpawns 8 WaitBeforeStarting 9 TotalCurrency 100 Where spawnbot_treetop_front TFBot { Class Demoman Skill Normal Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1 } Action Mobber } } WaveSpawn // Dummy { WaitForAllSpawned "a1.tank" Name "done1" } WaveSpawn // Dummy { WaitForAllDead "a1.1" Name "done1" } WaveSpawn // Dummy { WaitForAllSpawned "a1.2" Name "done1" } WaveSpawn { WaitForAllDead "done1" Name "relay1" FirstSpawnOutput { Target stage_one_barrier_disable Action Trigger } } WaveSpawn { Name "a2.tank" TotalCount 1 SpawnCount 1 MaxActive 1 WaitBeforeStarting 2 WaitBetweenSpawns 0 WaitForAllDead "done1" TotalCurrency 200 Tank { Name "tankboss1" StartingPathTrackNode "tank_path_tree_flank_1" // thanks to Valve coding, you need to give a tank path the name in the extratankpath syntax, copy that name here then add "_1" at the end. Why is beyond me Health 20000 // change health value accordingly, though a map this big should have a high health tanks like how most Bigrock mission's do Speed 75 ClassIcon tank_red SolidToBrushes 1 Teamnum 2 // makes the tank's team red Model //Set custom model on tank. Will spit harmless errors on client console if the model does not have enough sequences { Default "models/bots/boss_bot/boss_tankred.mdl" Damage1 "models/bots/boss_bot/boss_tankred_damage1.mdl" Damage2 "models/bots/boss_bot/boss_tankred_damage2.mdl" Damage3 "models/bots/boss_bot/boss_tankred_damage3.mdl" Destruction "models/bots/boss_bot/boss_tankred_part1_destruction.mdl" LeftTrack "models/bots/boss_bot/tankred_track_l.mdl" RightTrack "models/bots/boss_bot/tankred_track_r.mdl" Bomb "models/bots/boss_bot/bombblue_mechanism.mdl" } OnKilledOutput { Target boss_dead_relay Action Trigger } OnBombDroppedOutput { Target redwin_relay Action Trigger } } } WaveSpawn { Name "a2.1" TotalCount 12 SpawnCount 1 MaxActive 8 WaitBeforeStarting 4 WaitBetweenSpawns 26 WaitForAllDead "done1" TotalCurrency 150 Where spawnbot_behindbarrels_redspawn Squad { TFBot { Template T_TFBot_Giant_Soldier_Spammer_Reload Attributes DisableDodge ClassIcon Soldier_Burstfire Attributes AlwaysCrit CharacterAttributes { "voice pitch scale" 0 "crit mod disabled" 0 "damage force reduction" 0 "force distribute currency on death" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1 } Action Mobber } TFBot { Template T_TFBot_Soldier_Extended_Battalion Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1 } Action Mobber } } } WaveSpawn { Name "a2.2" TotalCount 18 SpawnCount 2 MaxActive 10 WaitBeforeStarting 5 WaitBetweenSpawns 6 WaitForAllDead "done1" TotalCurrency 100 Where spawnbot_behindbarrels_redspawn TFBot { Template T_TFBot_Loch_N_Load ClassIcon Demo_Loch_NYS Attributes DisableDodge Attributes AlwaysCrit CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1 } Action Mobber } } WaveSpawn { Name "a3.1" TotalCount 24 SpawnCount 1 MaxActive 8 WaitForAllDead "a2.2" WaitBeforeStarting 2 WaitBetweenSpawns 1.5 TotalCurrency 100 where spawnbot_hatchlower TFBot { Template T_TFBot_Demo_Burst ClassIcon demo_burst_red Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1 } Action Mobber } } WaveSpawn { Name "a3.2" TotalCount 6 SpawnCount 1 MaxActive 2 WaitForAllDead "a2.2" WaitBeforeStarting 5 Where spawnbot_bigbuilding_redside WaitBetweenSpawns 8 TotalCurrency 100 TFBot { Template T_TFBot_Heavy_IronFist_Airblast Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1 } Action Mobber } } WaveSpawn { Name "a3.3" TotalCount 2 SpawnCount 1 MaxActive 2 WaitForAllDead "a2.2" WaitBeforeStarting 3 Where spawnbot_bigbuilding_redside TotalCurrency 100 WaitBetweenSpawns 22 TFBot { Template T_TFBot_Giant_Soldier_Extended_Concheror Attributes DisableDodge CharacterAttributes { "voice pitch scale" 0 "crit mod disabled" 0 "damage force reduction" 0 "force distribute currency on death" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1 } Action Mobber } } WaveSpawn // Dummy { WaitForAllDead "a3.3" Name "done2" } WaveSpawn // Dummy { WaitForAllSpawned "a3.1" Name "done2" } WaveSpawn // Dummy { WaitForAllDead "a3.2" Name "done2" } WaveSpawn { WaitForAllDead "done2" Name "relay2" FirstSpawnOutput { Target stage_three_barrier_disable Action Trigger } } WaveSpawn { Name "a4.Tank" TotalCount 1 SpawnCount 1 MaxActive 1 WaitForAllDead "a2.2" WaitBeforeStarting 10 WaitBetweenSpawns 0 TotalCurrency 100 Tank { Name "tankboss" StartingPathTrackNode "tank_path_last_1" // thanks to Valve coding, you need to give a tank path the name in the extratankpath syntax, copy that name here then add "_1" at the end. Why is beyond me Health 32000 // change health value accordingly, though a map this big should have a high health tanks like how most Bigrock mission's do Speed 75 SolidToBrushes 1 ClassIcon tank_red Teamnum 2 // makes the tank's team red Model //Set custom model on tank. Will spit harmless errors on client console if the model does not have enough sequences { Default "models/bots/boss_bot/boss_tankred.mdl" Damage1 "models/bots/boss_bot/boss_tankred_damage1.mdl" Damage2 "models/bots/boss_bot/boss_tankred_damage2.mdl" Damage3 "models/bots/boss_bot/boss_tankred_damage3.mdl" Destruction "models/bots/boss_bot/boss_tankred_part1_destruction.mdl" LeftTrack "models/bots/boss_bot/tankred_track_l.mdl" RightTrack "models/bots/boss_bot/tankred_track_r.mdl" Bomb "models/bots/boss_bot/bombblue_mechanism.mdl" } OnKilledOutput { Target boss_dead_relay Action Trigger } OnBombDroppedOutput { Target redwin_relay Action Trigger } } } WaveSpawn { Name "a4.1" TotalCount 2 SpawnCount 1 MaxActive 2 WaitForAllDead "done2" WaitBeforeStarting 1 WaitBetweenSpawns 28 Where spawnbot_hatchupper TotalCurrency 100 Squad { TFBot { Template T_TFBot_Giant_Soldier_Spammer_Reload Attributes DisableDodge CharacterAttributes { "voice pitch scale" 0 "crit mod disabled" 0 "damage force reduction" 0 "force distribute currency on death" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1 } Action Mobber } TFBot { Template T_TFBot_Giant_Kritzkrieg_Medic Attributes DisableDodge CharacterAttributes { "voice pitch scale" 0 "crit mod disabled" 0 "damage force reduction" 0 "force distribute currency on death" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1 } Action Mobber } } } WaveSpawn { Name "a4.2" TotalCount 22 MaxActive 6 SpawnCount 1 WaitForAllDead "done2" WaitBeforeStarting 2 WaitBetweenSpawns 4 Where spawnbot_redspawn TotalCurrency 100 RandomSpawn 1 TFBot { Template T_TFBot_Loch_N_Load Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1 } Action Mobber } } WaveSpawn // Dummy { WaitForAllDead "a4.1" Name "done" } WaveSpawn // Dummy { WaitForAllSpawned "a4.Tank" Name "done" } WaveSpawn // Will open the hatch when both Blast Soldier wavespawns are gone { WaitForAllDead "done" Name "relay" FirstSpawnOutput { Target hatch_reveal_relay Action Trigger } } WaveSpawn { Name "support_red" TotalCount 9999 SpawnCount 5 MaxActive 5 WaitForAllDead "a3.2" where spawnbot_redspawn WaitBeforeStarting 6 Support 1 WaitBetweenSpawns 10 RandomChoice { TFBot { Template T_TFBot_Heavyweapons_Heavyweight_Champ ClassIcon heavy_champ_red CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1 } Action Mobber } TFBot { Template T_TFBot_Demo_Burst Attributes DisableDodge ClassIcon demo_burst_red CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1 } Action Mobber } } } WaveSpawn { Name "blue_icon" TotalCount 1 MaxActive 1 SpawnCount 1 Where spawnbot WaitBeforeStarting 9999 WaitBetweenSpawns 18 TotalCurrency 0 Support 1 TFBot { Class Scout ClassIcon blu2_lite } } WaveSpawn { Name SScouts Support 1 TotalCount 6 MaxActive 6 SpawnCount 1 Where spawnbot WaitBeforeStarting 20 WaitBetweenSpawns 12 TFBot { Class Scout Health 1 ClassIcon agentbomb WeaponRestrictions MeleeOnly CharacterAttributes { "move speed bonus" 2 } } } WaveSpawn // Dummy, makes wave seems infinite { TotalCount 0 SpawnCount 0 WaitBeforeStarting 9999 Where spawnbot_redspawnbot RandomChoice { RandomChoice { TFBot { Class Scout } } } } } Wave // Wave 4 { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } InitWaveOutput { Target holograms_3way_relay Action Trigger } WaveSpawn { Name "red_icon" TotalCount 1 MaxActive 1 SpawnCount 1 Where spawnbot WaitBeforeStarting 9999 WaitBetweenSpawns 18 TotalCurrency 0 Support 1 RandomChoice { TFBot { Template T_TFGateBot_Scout_Reverse ClassIcon red2_lite } } } WaveSpawn { Name "a1" TotalCount 7 SpawnCount 1 MaxActive 7 WaitBeforeStarting 1 //WaitBetweenSpawns 26 Where spawnbot_under_plank TotalCurrency 150 Squad { TFBot { Class Soldier Name "Giant Rapid Buff Banner Soldier" ClassIcon soldier_banner_trio_spammer_lite Skill Expert Health 3800 WeaponRestrictions PrimaryOnly Attributes HoldFireUntilFullReload Attributes MiniBoss Attributes SpawnWithFullCharge Item "The Buff Banner" Attributes DisableDodge CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.4 "airblast vulnerability multiplier" 0.4 "override footstep sound set" 3 "increase buff duration" 9.0 "voice pitch scale" 0 "damage force reduction" 0 "crit mod disabled" 0 "force distribute currency on death" 1 } ItemAttributes { ItemName "TF_WEAPON_ROCKETLAUNCHER" "faster reload rate" -0.8 "fire rate bonus" 0.5 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1 } Action Mobber } TFBot { Template T_TFBot_Medic_SlowRecharge Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1 } Action Mobber } TFBot { Template T_TFBot_Medic_SlowRecharge Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1 } Action Mobber } TFBot { Template T_TFBot_Medic_SlowRecharge Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1 } Action Mobber } TFBot { Template T_TFBot_Medic_SlowRecharge Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1 } Action Mobber } TFBot { Template T_TFBot_Medic_SlowRecharge Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1 } Action Mobber } TFBot { Template T_TFBot_Medic_SlowRecharge Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1 } Action Mobber } } } WaveSpawn { Name "a1.1" TotalCount 18 SpawnCount 2 MaxActive 9 WaitBetweenSpawns 4 WaitBeforeStarting 2 Where spawnbot_treetop_front TotalCurrency 50 TFBot { Template T_TFBot_Demoman_Knight Attributes AlwaysCrit Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1 } Action Mobber } } WaveSpawn { Name "a1.2" TotalCount 20 SpawnCount 2 MaxActive 14 WaitBetweenSpawns 5 WaitBeforeStarting 2 Where spawnbot_behindrock_next2spawn_front TotalCurrency 50 TFBot { Class Pyro Skill Easy Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1 } Action Mobber } } WaveSpawn // Dummy { WaitForAllDead "a1" Name "done1" } WaveSpawn { WaitForAllDead "done1" Name "relay1" FirstSpawnOutput { Target stage_one_barrier_disable Action Trigger } } WaveSpawn { Name "a2.1" TotalCount 7 SpawnCount 1 MaxActive 7 Where spawnbot_controlpoint_mid WaitBeforeStarting 2 //WaitBetweenSpawns 28 WaitForAllDead "done1" TotalCurrency 100 Squad { TFBot { Class Soldier Name "Giant Rapid Battalion's Soldier" ClassIcon soldier_banner_trio_spammer_lite Skill Expert Health 3800 WeaponRestrictions PrimaryOnly Attributes HoldFireUntilFullReload Attributes MiniBoss Attributes SpawnWithFullCharge Item "The Battalion's Backup" Attributes DisableDodge CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.4 "airblast vulnerability multiplier" 0.4 "override footstep sound set" 3 "increase buff duration" 9.0 "voice pitch scale" 0 "damage force reduction" 0 "crit mod disabled" 0 "force distribute currency on death" 1 } ItemAttributes { ItemName "TF_WEAPON_ROCKETLAUNCHER" "faster reload rate" -0.8 "fire rate bonus" 0.5 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1 } Action Mobber } TFBot { Template T_TFBot_Medic_SlowRecharge Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1 } Action Mobber } TFBot { Template T_TFBot_Medic_SlowRecharge Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1 } Action Mobber } TFBot { Template T_TFBot_Medic_SlowRecharge Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1 } Action Mobber } TFBot { Template T_TFBot_Medic_SlowRecharge Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1 } Action Mobber } TFBot { Template T_TFBot_Medic_SlowRecharge Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1 } Action Mobber } TFBot { Template T_TFBot_Medic_SlowRecharge Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1 } Action Mobber } } } WaveSpawn { Name "a2.2" TotalCount 12 SpawnCount 2 MaxActive 8 WaitBeforeStarting 5 WaitBetweenSpawns 7 WaitForAllDead "done1" TotalCurrency 100 Where spawnbot_controlpoint_mid TFBot { Class Heavyweapons Skill Hard Attributes DisableDodge Item "Tomislav" Name "Tomislav Heavy" CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1 } Action Mobber } } WaveSpawn { Name "a2.3" TotalCount 24 SpawnCount 1 MaxActive 12 WaitBeforeStarting 7 WaitBetweenSpawns 3 WaitForAllDead "done1" TotalCurrency 100 Where spawnbot_behindbarrels_redspawn TFBot { Template T_TFBot_Scout_Cola Attributes DisableDodge Skill Normal CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1 } Action Mobber } } WaveSpawn { Name "a3.1" TotalCount 7 SpawnCount 1 MaxActive 7 Where spawnbot_bigbuilding_redside WaitBeforeStarting 10 //WaitBetweenSpawns 28 WaitForAllDead "a2.1" WaitForAllDead "a2.2" TotalCurrency 100 Squad { TFBot { Class Soldier Name "Giant Rapid Concheror Soldier" ClassIcon soldier_banner_trio_spammer_lite Skill Expert Health 3800 WeaponRestrictions PrimaryOnly Attributes HoldFireUntilFullReload Attributes MiniBoss Attributes SpawnWithFullCharge Item "The Concheror" Attributes DisableDodge CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.4 "airblast vulnerability multiplier" 0.4 "override footstep sound set" 3 "increase buff duration" 9.0 "voice pitch scale" 0 "damage force reduction" 0 "crit mod disabled" 0 "force distribute currency on death" 1 } ItemAttributes { ItemName "TF_WEAPON_ROCKETLAUNCHER" "faster reload rate" -0.8 "fire rate bonus" 0.5 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1 } Action Mobber } TFBot { Template T_TFBot_Medic_SlowRecharge Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1 } Action Mobber } TFBot { Template T_TFBot_Medic_SlowRecharge Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1 } Action Mobber } TFBot { Template T_TFBot_Medic_SlowRecharge Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1 } Action Mobber } TFBot { Template T_TFBot_Medic_SlowRecharge Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1 } Action Mobber } TFBot { Template T_TFBot_Medic_SlowRecharge Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1 } Action Mobber } TFBot { Template T_TFBot_Medic_SlowRecharge Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1 } Action Mobber } } } WaveSpawn { Name "a3.2" TotalCount 28 SpawnCount 1 MaxActive 14 Where spawnbot_hatchlower WaitBeforeStarting 6 WaitBetweenSpawns 2.5 WaitForAllDead "a2.1" WaitForAllDead "a2.2" TotalCurrency 100 TFBot { Template T_TFBot_Heavyweapons_Shotgun Attributes AlwaysCrit ClassIcon heavy_shotgun_red Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1 } Action Mobber } } WaveSpawn { Name "a3.tank" TotalCount 1 SpawnCount 1 WaitBeforeStarting 2 WaitBetweenSpawns 0 WaitForAllDead "a2.1" WaitForAllDead "a2.2" TotalCurrency 200 Tank { Name "tankboss" StartingPathTrackNode "tank_path_last_1" // thanks to Valve coding, you need to give a tank path the name in the extratankpath syntax, copy that name here then add "_1" at the end. Why is beyond me Health 40000 // change health value accordingly, though a map this big should have a high health tanks like how most Bigrock mission's do Speed 75 SolidToBrushes 1 ClassIcon tank_red Teamnum 2 // makes the tank's team red Model //Set custom model on tank. Will spit harmless errors on client console if the model does not have enough sequences { Default "models/bots/boss_bot/boss_tankred.mdl" Damage1 "models/bots/boss_bot/boss_tankred_damage1.mdl" Damage2 "models/bots/boss_bot/boss_tankred_damage2.mdl" Damage3 "models/bots/boss_bot/boss_tankred_damage3.mdl" Destruction "models/bots/boss_bot/boss_tankred_part1_destruction.mdl" LeftTrack "models/bots/boss_bot/tankred_track_l.mdl" RightTrack "models/bots/boss_bot/tankred_track_r.mdl" Bomb "models/bots/boss_bot/bombblue_mechanism.mdl" } OnKilledOutput { Target boss_dead_relay Action Trigger } OnBombDroppedOutput { Target redwin_relay Action Trigger } } } WaveSpawn // Dummy { WaitForAllSpawned "a3.2" Name "done2" } WaveSpawn // Dummy { WaitForAllSpawned "a3.1" Name "done2" } WaveSpawn // Dummy { WaitForAllSpawned "a3.tank" Name "done2" } WaveSpawn { WaitForAllDead "done2" Name "relay2" FirstSpawnOutput { Target stage_three_barrier_disable Action Trigger } } WaveSpawn { Name "a4.1" TotalCount 1 SpawnCount 1 MaxActive 1 WaitBeforeStarting 1 WaitBetweenSpawns 0 TotalCurrency 50 Where spawnbot_hatchupper WaitForAllDead "done2" TFBot { Class Soldier Name "Giant Rapid Buff Soldier" ClassIcon soldier_banner_trio_spammer_lite Skill Expert Health 3800 WeaponRestrictions PrimaryOnly Attributes HoldFireUntilFullReload Attributes MiniBoss Attributes SpawnWithFullCharge Item "The Buff Banner" Attributes DisableDodge CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.4 "airblast vulnerability multiplier" 0.4 "override footstep sound set" 3 "increase buff duration" 9.0 "voice pitch scale" 0 "damage force reduction" 0 "crit mod disabled" 0 "force distribute currency on death" 1 } ItemAttributes { ItemName "TF_WEAPON_ROCKETLAUNCHER" "faster reload rate" -0.8 "fire rate bonus" 0.5 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1 } Action FetchFlag } } WaveSpawn { Name "a4.2" TotalCount 1 SpawnCount 1 MaxActive 1 WaitBeforeStarting 1 WaitBetweenSpawns 0 TotalCurrency 50 Where spawnbot_hatchupper WaitForAllDead "a4.1" TFBot { Class Soldier Name "Giant Rapid Battalion's Soldier" ClassIcon soldier_banner_trio_spammer_lite Skill Expert Health 3800 WeaponRestrictions PrimaryOnly Attributes HoldFireUntilFullReload Attributes MiniBoss Attributes SpawnWithFullCharge Item "The Battalion's Backup" Attributes DisableDodge CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.4 "airblast vulnerability multiplier" 0.4 "override footstep sound set" 3 "increase buff duration" 9.0 "voice pitch scale" 0 "damage force reduction" 0 "crit mod disabled" 0 "force distribute currency on death" 1 } ItemAttributes { ItemName "TF_WEAPON_ROCKETLAUNCHER" "faster reload rate" -0.8 "fire rate bonus" 0.5 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1 } Action FetchFlag } } WaveSpawn { Name "a4.3" TotalCount 1 SpawnCount 1 MaxActive 1 WaitBeforeStarting 1 WaitBetweenSpawns 0 TotalCurrency 50 Where spawnbot_hatchupper WaitForAllDead "a4.2" TFBot { Class Soldier Name "Giant Rapid Concheror Soldier" ClassIcon soldier_banner_trio_spammer_lite Skill Expert Health 3800 WeaponRestrictions PrimaryOnly Attributes HoldFireUntilFullReload Attributes MiniBoss Attributes SpawnWithFullCharge Item "The Concheror" Attributes DisableDodge CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.4 "airblast vulnerability multiplier" 0.4 "override footstep sound set" 3 "increase buff duration" 9.0 "voice pitch scale" 0 "damage force reduction" 0 "crit mod disabled" 0 "force distribute currency on death" 1 } ItemAttributes { ItemName "TF_WEAPON_ROCKETLAUNCHER" "faster reload rate" -0.8 "fire rate bonus" 0.5 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1 } Action FetchFlag } } WaveSpawn // Dummy { WaitForAllDead "a4.2" Name "done" } WaveSpawn // Dummy { WaitForAllDead "a4.1" Name "done" } WaveSpawn // Dummy { WaitForAllSpawned "a4.3" Name "done" } WaveSpawn // Will open the hatch when both Blast Soldier wavespawns are gone { WaitForAllDead "done" Name "relay" FirstSpawnOutput { Target hatch_reveal_relay Action Trigger } } WaveSpawn { Name "inf_support" TotalCount 8 MaxActive 8 SpawnCount 4 Support 1 Where spawnbot_redspawn WaitBeforeStarting 2 WaitForAllDead "done2" WaitBetweenSpawns 4 RandomSpawn 1 RandomChoice { TFBot { Class Pyro Skill Easy Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1 } Action Mobber } TFBot { Template T_TFBot_Demoman_Knight Attributes AlwaysCrit Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1 } Action Mobber } TFBot { Class Heavyweapons Skill Normal Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1 } Action Mobber } } } WaveSpawn { Name "blue_icon" TotalCount 1 MaxActive 1 SpawnCount 1 Where spawnbot WaitBeforeStarting 9999 WaitBetweenSpawns 18 TotalCurrency 0 Support 1 TFBot { Class Scout ClassIcon blu2_lite } } WaveSpawn { Name SScouts Support 1 TotalCount 6 MaxActive 6 SpawnCount 1 Where spawnbot WaitBeforeStarting 20 WaitBetweenSpawns 12 TFBot { Class Scout Health 1 ClassIcon agentbomb WeaponRestrictions MeleeOnly CharacterAttributes { "move speed bonus" 2 } } } WaveSpawn // Dummy, makes wave seems infinite { TotalCount 0 SpawnCount 0 WaitBeforeStarting 9999 Where spawnbot_redspawnbot RandomChoice { RandomChoice { TFBot { Class Scout } } } } } Wave // Wave 5 { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } InitWaveOutput { Target holograms_3way_relay Action Trigger } WaveSpawn { Name "red_icon" TotalCount 1 MaxActive 1 SpawnCount 1 Where spawnbot WaitBeforeStarting 9999 WaitBetweenSpawns 18 TotalCurrency 0 Support 1 RandomChoice { TFBot { Template T_TFGateBot_Scout_Reverse ClassIcon red2_lite } } } WaveSpawn { Name "red_icon1" TotalCount 1 MaxActive 1 SpawnCount 1 Where spawnbot WaitBeforeStarting 9999 WaitBetweenSpawns 18 TotalCurrency 0 Support 1 RandomChoice { TFBot { Template T_TFGateBot_Scout_Reverse ClassIcon pyro_flare_red } } } WaveSpawn { Name "red_icon2" TotalCount 1 MaxActive 1 SpawnCount 1 Where spawnbot WaitBeforeStarting 9999 WaitBetweenSpawns 18 TotalCurrency 0 Support 1 RandomChoice { TFBot { Template T_TFGateBot_Scout_Reverse ClassIcon demoknight_shield } } } WaveSpawn { Name "red_icon3" TotalCount 1 MaxActive 1 SpawnCount 1 Where spawnbot WaitBeforeStarting 9999 WaitBetweenSpawns 18 TotalCurrency 0 Support 1 RandomChoice { TFBot { Template T_TFGateBot_Scout_Reverse ClassIcon demo_spammer_giant } } } WaveSpawn { Name "red_icon4" TotalCount 1 MaxActive 1 SpawnCount 1 Where spawnbot WaitBeforeStarting 9999 WaitBetweenSpawns 18 TotalCurrency 0 Support 1 RandomChoice { TFBot { Template T_TFGateBot_Scout_Reverse ClassIcon soldier_spammer } } } WaveSpawn { Name "red_icon5" TotalCount 1 MaxActive 1 SpawnCount 1 Where spawnbot WaitBeforeStarting 9999 WaitBetweenSpawns 18 TotalCurrency 0 Support 1 RandomChoice { TFBot { Template T_TFGateBot_Scout_Reverse ClassIcon soldier_crit Attributes AlwaysCrit } } } WaveSpawn { Name "red_icon5" TotalCount 1 MaxActive 1 SpawnCount 1 Where spawnbot WaitBeforeStarting 9999 WaitBetweenSpawns 18 TotalCurrency 0 Support 1 RandomChoice { TFBot { Template T_TFGateBot_Scout_Reverse ClassIcon demo_burst_red } } } WaveSpawn { Name "a1" TotalCount 2 MaxActive 1 SpawnCount 1 TotalCurrency 100 Where spawnbot_treetop_front WaitBetweenSpawns 28 TFBot { Template T_TFBot_Giant_Heavyweapons_Deflector Attributes DisableDodge CharacterAttributes { "voice pitch scale" 0 "crit mod disabled" 0 "damage force reduction" 0 "force distribute currency on death" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1 } Action Mobber } } WaveSpawn { Name "a1.2" TotalCount 32 MaxActive 16 SpawnCount 1 WaitBetweenSpawns 1.5 Where spawnbot_behindrock_next2spawn_front WaitBeforeStarting 3 TotalCurrency 100 TFBot { Class Scout Skill Expert ClassIcon scout_milk WeaponRestrictions SecondaryOnly Attributes DisableDodge Name "Mad Milk Scout" Item "Mad Milk" ItemAttributes { ItemName "tf_weapon_jar_milk" "effect bar recharge rate increased" 0.01 } CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1 } Action Mobber } } WaveSpawn { Name "a1.3" TotalCount 14 SpawnCount 4 MaxActive 12 WaitBeforeStarting 3 WaitBetweenSpawns 7 TotalCurrency 100 Where spawnbot_neartankgate_front TFBot { Template T_TFBot_Explosive_Soldier Attributes AlwaysCrit Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1 } Action Mobber } } WaveSpawn // Dummy { WaitForAllSpawned "a1" Name "done1" } WaveSpawn // Dummy { WaitForAllDead "a1.3" Name "done1" } WaveSpawn // Dummy { WaitForAllDead "a1.2" Name "done1" } WaveSpawn { WaitForAllDead "done1" Name "relay1" FirstSpawnOutput { Target stage_one_barrier_disable Action Trigger } } WaveSpawn { Name "a2.1" TotalCount 1 SpawnCount 1 MaxActive 1 Where spawnbot_controlpoint_mid WaitBeforeStarting 3 //WaitBetweenSpawns 27 WaitForAllDead "done1" TotalCurrency 100 TFBot { Template T_TFBot_Heavyweapons_Heater Attributes DisableDodge CharacterAttributes { "voice pitch scale" 0 "crit mod disabled" 0 "damage force reduction" 0 "force distribute currency on death" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1 } Action Mobber } } WaveSpawn { Name "a2.2" TotalCount 18 SpawnCount 4 MaxActive 12 WaitForAllDead "done1" TotalCurrency 50 WaitBetweenSpawns 7 WaitBeforeStarting 8 Where spawnbot_controlpoint_mid TFBot { Template T_TFBot_ScorchShot_FastShot Attributes DisableDodge ClassIcon pyro_scorch_spammer CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1 } Action Mobber } } WaveSpawn { Name "a2.25" TotalCount 6 SpawnCount 1 MaxActive 6 WaitForAllDead "done1" TotalCurrency 50 WaitBetweenSpawns 9 WaitBeforeStarting 9 Where spawnbot_controlpoint_mid TFBot { Template T_TFBot_Heavy_IronFist_Airblast ClassIcon heavy_steelfist_pusher Attributes AlwaysCrit Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1 } Action Mobber } } WaveSpawn { Name "a2.3" TotalCount 20 SpawnCount 3 MaxActive 10 WaitForAllDead "done1" TotalCurrency 50 WaitBetweenSpawns 7 WaitBeforeStarting 9 Where spawnbot_window_cp_mid TFBot { Template T_TFBot_Dragon_Fury Attributes AlwaysCrit Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1 } Action Mobber } } WaveSpawn { Name "a3.1" TotalCount 4 SpawnCount 2 MaxActive 2 WaitForAllDead "a2.1" WaitBeforeStarting 25 WaitBetweenSpawns 28 Where spawnbot_bigbuilding_redside TotalCurrency 100 Squad { TFBot { Template T_TFBot_Giant_Soldier_Spammer_Reload Attributes AlwaysCrit Attributes DisableDodge CharacterAttributes { "voice pitch scale" 0 "crit mod disabled" 0 "damage force reduction" 0 "force distribute currency on death" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1 } Action Mobber } TFBot { Template T_TFBot_Giant_Medic Attributes DisableDodge CharacterAttributes { "voice pitch scale" 0 "crit mod disabled" 0 "damage force reduction" 0 "force distribute currency on death" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1 } Action Mobber } } } WaveSpawn { Name "a3.2" TotalCount 8 SpawnCount 2 MaxActive 8 TotalCurrency 100 Where spawnbot_hatchlower WaitForAllDead "a2.1" WaitBeforeStarting 3 WaitBetweenSpawns 13 TFBot { Template T_TFBot_Heavyweapons_Fist Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1 } Action Mobber } } WaveSpawn { Name "a3.3" TotalCount 32 SpawnCount 4 MaxActive 12 TotalCurrency 50 Where spawnbot_hatchupper WaitForAllDead "a2.1" WaitBeforeStarting 4 WaitBetweenSpawns 5 TFBot { Class Scout ClassIcon scout_bat_nys Attributes AlwaysCrit WeaponRestrictions MeleeOnly Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1 } Action Mobber } } WaveSpawn // Dummy { WaitForAllSpawned "a3.2" Name "done2" } WaveSpawn // Dummy { WaitForAllSpawned "a3.3" Name "done2" } WaveSpawn // Dummy { WaitForAllDead "a3.1" Name "done2" } WaveSpawn { WaitForAllDead "done2" Name "relay2" FirstSpawnOutput { Target stage_three_barrier_disable Action Trigger } } WaveSpawn { Name "a4.boss" TotalCount 1 TotalCurrency 100 SpawnCount 1 Where spawnbot_hatchupper WaitForAllDead "done2" TFBot { Class Demoman Skill Expert WeaponRestrictions MeleeOnly Name "Chief Tavish" ClassIcon demoknight_giant Health 32000 Scale 2.2 AlwaysGlow 1 Item "Prince Tavish's Crown" Item "The Chargin' Targe" Item "The Eyelander" Item "Ali Baba's Wee Booties" Attributes MiniBoss Attributes UseBossHealthBar Attributes DisableDodge Attributes AlwaysCrit ItemAttributes { ItemName "The Eyelander" "damage bonus" 2.5 } CharacterAttributes { "move speed bonus" 0.4 "airblast vulnerability multiplier" 0.3 "override footstep sound set" 2 "airblast vertical vulnerability multiplier" 0.1 "rage giving scale" 0.1 "dmg from melee increased" 2 "voice pitch scale" 0 "crit mod disabled" 0 "damage force reduction" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1 } Action Mobber } } WaveSpawn // Dummy { WaitForAllDead "a4.boss" Name "done" } WaveSpawn // Will open the hatch when both Blast Soldier wavespawns are gone { WaitForAllDead "done" Name "relay" FirstSpawnOutput { Target hatch_reveal_relay Action Trigger } } WaveSpawn { TotalCount 1 MaxActive 1 SpawnCount 1 Where spawnbot_hatchupper Where spawnbot_hatchlower WaitForAllDead "done2" WaitBeforeStarting 1 WaitBetweenSpawns 15 Support 1 RandomSpawn 1 RandomChoice { TFBot { Template T_TFBot_Giant_Soldier_Spammer ClassIcon red2_lite Attributes DisableDodge Attributes AlwaysCrit CharacterAttributes { "voice pitch scale" 0 "crit mod disabled" 0 "damage force reduction" 0 "force distribute currency on death" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1 } Action Mobber } TFBot { Template T_TFBot_Giant_DemoMan_PrinceTavish ClassIcon red2_lite Health 4500 Attributes AlwaysCrit Attributes DisableDodge CharacterAttributes { "voice pitch scale" 0 "crit mod disabled" 0 "damage force reduction" 0 "force distribute currency on death" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1 } Action Mobber } TFBot { Template T_TFBot_Giant_Soldier_Crit ClassIcon red2_lite Attributes DisableDodge CharacterAttributes { "voice pitch scale" 0 "crit mod disabled" 0 "damage force reduction" 0 "force distribute currency on death" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1 } Action Mobber } TFBot { Template T_TFBot_Giant_Pyro_Flare_Spammer ClassIcon red2_lite Attributes AlwaysCrit Attributes DisableDodge CharacterAttributes { "voice pitch scale" 0 "crit mod disabled" 0 "damage force reduction" 0 "force distribute currency on death" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1 } Action Mobber } TFBot { Template T_TFBot_Giant_Demo_Burst ClassIcon red2_lite Attributes DisableDodge Attributes AlwaysCrit CharacterAttributes { "voice pitch scale" 0 "crit mod disabled" 0 "damage force reduction" 0 "force distribute currency on death" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1 } Action Mobber } } } WaveSpawn { Name "blue_icon" TotalCount 1 MaxActive 1 SpawnCount 1 Where spawnbot WaitBeforeStarting 9999 WaitBetweenSpawns 18 TotalCurrency 0 Support 1 TFBot { Class Scout ClassIcon blu2_lite } } WaveSpawn { Name SScouts Support 1 TotalCount 6 MaxActive 6 SpawnCount 1 Where spawnbot WaitBeforeStarting 20 WaitBetweenSpawns 12 TFBot { Class Scout Health 1 ClassIcon agentbomb WeaponRestrictions MeleeOnly CharacterAttributes { "move speed bonus" 2 } } } WaveSpawn // Dummy, makes wave seems infinite { TotalCount 0 SpawnCount 0 WaitBeforeStarting 9999 Where spawnbot_redspawnbot RandomChoice { RandomChoice { TFBot { Class Scout } } } } } }