#base robot_giant.pop #base robot_standard.pop #base robot_standard_red.pop #base robot_giant_red.pop WaveSchedule { StartingCurrency 1000 CanBotsAttackWhileInSpawnRoom Yes RespawnWaveTimeBlue 3 FixedRespawnWaveTimeBlue 3 ReverseWinConditions 1 AllowJoinTeamBlueMax 6 AllowJoinTeamBlue 1 HumansMustJoinTeam Blue SetCreditTeam 3 SniperAllowHeadshots 1 BluHumanFlagCapture 1 BluHumanFlagPickup 1 BluPlayersAreRobots 1 FlagCarrierMovementPenalty 1 // DisallowUpgrade "uber duration bonus" DisallowUpgrade "maxammo primary increased" DisallowUpgrade "maxammo secondary increased" DisallowUpgrade "maxammo metal increased" DisallowUpgrade "metal regen" DisallowUpgrade "refill_ammo" PlayerAttributes //Add attributes to players when the wave is active { Spy { "cannot pick up intelligence" 1 } "collect currency on kill" 1 } Templates { T_TFBot_Red_Backburner_Pyro { Class Pyro Skill Easy ClassIcon pyro_backburner_red_nys AddCond { Name TF_COND_REPROGRAMMED } Action Mobber Item "The Backburner" Name "Backburner Pyro" CharacterAttributes { "crit mod disabled hidden" 0 } ItemAttributes { ItemName "The Backburner" "airblast disabled" 1 } } T_TFBot_Red_Scout_SodaPopper { Class Scout Skill Normal AddCond { Name TF_COND_REPROGRAMMED } Action Mobber Item "The Soda Popper" Name "Soda Popper Scout" ClassIcon scout_popper CharacterAttributes { "crit mod disabled hidden" 0 } } T_TFBot_Red_Soldier_Equalizer { Class Soldier WeaponRestrictions MeleeOnly Item "The Equalizer" Skill Hard Name "Equalizer Soldier" AddCond { Name TF_COND_REPROGRAMMED } Action Mobber CharacterAttributes { "crit mod disabled hidden" 0 } } T_TFBot_Red_Scout_FanOWar { Class Scout Skill Hard ClassIcon scout_fanowar WeaponRestrictions MeleeOnly // shoutouts to my friend who only uses the fan o war and nothing else as scout AddCond { Name TF_COND_REPROGRAMMED } Action Mobber Item "The Fan O'War" Name "Fan O'War Scout" CharacterAttributes { "crit mod disabled hidden" 0 } } T_TFBot_Red_Giant_Heavyweapons_WSpirit { Class heavyweapons Name "Giant Bear Heavy" ClassIcon heavy_warrior_giant Skill expert Health 5000 Item "Warrior's Spirit" Item "Big Chief" WeaponRestrictions MeleeOnly AddCond { Name TF_COND_REPROGRAMMED } Action Mobber Attributes MiniBoss ItemAttributes { ItemName "Warrior's Spirit" "fire rate bonus" 0.6 "damage bonus" 1.2 } CharacterAttributes { "move speed bonus" 0.5 "health from packs decreased" 0.01 "voice pitch scale" 0 "damage force reduction" 0 "crit mod disabled hidden" 0 "airblast vulnerability multiplier" 0.3 "override footstep sound set" 2 } } T_TFBot_Red_Giant_Pyro_Phlog { Class Pyro Name "Giant Tankbuster Pyro" ClassIcon pyro_phlog_giant Skill Expert Health 10000 AddCond { Name TF_COND_REPROGRAMMED } Action Mobber Attributes AlwaysCrit Attributes UseBossHealthBar Item "The Phlogistinator" Attributes MiniBoss CharacterAttributes { "move speed bonus" 0.5 "health from packs decreased" 0.01 "voice pitch scale" 0 "damage force reduction" 0 "crit mod disabled hidden" 0 "airblast vulnerability multiplier" 0.6 "override footstep sound set" 6 } } T_TFBot_Red_Heavyweapons { Class Heavyweapons Skill Easy AddCond { Name TF_COND_REPROGRAMMED } Action Mobber CharacterAttributes { "crit mod disabled hidden" 0 } } T_TFBot_Giant_Heavyweapons_HoK // Air blast pushback on damage. Pins players, low damage, slow move speed { Class Heavyweapons Name "Giant Heal-on-Kill Heavy" ClassIcon heavy_deflector_healonkill Skill Expert Item "The Tungsten Toque" Item "Deflector" Health 5500 WeaponRestrictions PrimaryOnly Attributes MiniBoss ItemAttributes { ItemName "Deflector" "damage bonus" 1.2 "attack projectiles" 2 "heal on kill" 1000 } CharacterAttributes { "move speed bonus" 0.4 "damage force reduction" 0.3 "airblast vulnerability multiplier" 0.4 "airblast vertical vulnerability multiplier" 0.1 "rage giving scale" 0.9 "override footstep sound set" 2 } } } PointTemplates { corelogic { logic_auto { "origin" "0 0 0" "targetname" "mainrelay" "OnMapSpawn" "wave_start*,AddOutput,OnTrigger spawnbarrier*:Disable:0:-1" "OnMapSpawn" "wave_finished_relay,AddOutput,OnTrigger spawnbarrier*:Enable:0:-1" "OnMapSpawn" "door_barricade*,Disable,,0,-1" } NoFixup 1 logic_relay //trigger this to kill all players and buildings { "targetname" "kill_relay" "OnTrigger" "obj_dispenser,RemoveHealth,5000,0,-1" "OnTrigger" "obj_sentrygun,RemoveHealth,5000,0,-1" "OnTrigger" "obj_teleporter,RemoveHealth,5000,0,-1" "OnTrigger" "player,SetHealth,-10000,0,-1" } NoFixup 1 logic_relay //trigger this to lose { "origin" "0 0 0" "targetname" "redwin_relay" "OnTrigger" "bots_win_red,RoundWin,,0,-1" "OnTrigger" "pit_explosion_wav,PlaySound,,0,-1" //map dependent "OnTrigger" "failuresound,PlaySound,,0,-1" //map dependent } logic_relay // kill barrier { "targetname" "removebarrier_relay" "OnTrigger" "secondbarrier*,Disable,,0,-1" } logic_relay // kill barrier 2: revenge of the func forcefield { "targetname" "removebarrier2_relay" "OnTrigger" "thirdbarrier*,Disable,,0,-1" } NoFixup 1 game_round_win //do not interact with this { "origin" "0 0 0" "TeamNum" "2" "targetname" "bots_win_red" "switch_teams" "0" "force_map_reset" "1" "classname" "game_round_win" } func_nav_prerequisite // hatch { "targetname" "hatchnav" "mins" "-100 -100 -100" "maxs" "100 100 100" "Entity" "hatchspawn" "filtername" "filter_hatch" "origin" "1372 3472 72" "spawnflags" "1" "start_disabled" "0" "StartDisabled" "0" "Task" "2" "Value" "-1" } func_nav_prerequisite // hatch { "targetname" "hatchnav" "mins" "-100 -100 -100" "maxs" "100 100 100" "Entity" "hatchspawn" "filtername" "filter_hatch" "origin" "-84 4269 76" "spawnflags" "1" "start_disabled" "0" "StartDisabled" "0" "Task" "2" "Value" "-1" } func_nav_prerequisite // hatch { "targetname" "hatchnav" "mins" "-100 -100 -100" "maxs" "100 100 100" "Entity" "hatchspawn" "filtername" "filter_hatch" "origin" "355 3926 331" "spawnflags" "1" "start_disabled" "0" "StartDisabled" "0" "Task" "2" "Value" "-1" } func_nav_prerequisite // hatch guardian { "targetname" "guardnav" "mins" "-1 -1 -1" "maxs" "1 1 1" "Entity" "guardspawn" "filtername" "filter_guard" "origin" "567 4899 94" "spawnflags" "1" "start_disabled" "0" "StartDisabled" "0" "Task" "2" "Value" "-1" } filter_tf_bot_has_tag { "Negated" "0" "require_all_tags" "1" "tags" "bot_guard" "targetname" "filter_guard" } } annotations { NoFixup 1 training_annotation { "targetname" "bombhint" "display_text" "Carry the bomb to the hatch to win the round!" "lifetime" "10" "origin" "1268 -3965 69" } } barriers { NoFixup 1 func_forcefield { "disablereceiveshadows" "0" "origin" "0 0 0" "renderamt" "255" "rendercolor" "255 255 255" "renderfx" "0" "rendermode" "10" "TeamNum" "2" "targetname" "spawnbarrierA1" "parentname" "spawnbarrierA" "mins" "-200 -400 -300" "maxs" "200 400 1100" "StartDisabled" "0" } // NoFixup 1 // prop_dynamic //prop for show // { // "targetname" "spawnbarrierA" // "angles" "0 0 0" // "DisableBoneFollowers" "1" // "disablereceiveshadows" "1" // "model" "models/props_vehicles/train_flatcar_container.mdl" // "disableshadows" "1" // "ExplodeDamage" "0" // "ExplodeRadius" "0" // "fademaxdist" "0" // "fademindist" "-1" // "fadescale" "1" // "MaxAnimTime" "10" // "maxdxlevel" "0" // "MinAnimTime" "5" // "mindxlevel" "0" // "modelscale" "1.5" // "PerformanceMode" "0" // "pressuredelay" "0" // "RandomAnimation" "0" // "renderamt" "0" // "renderfx" "16" //hologram effect, see renderfx section on the developer wiki for more // "rendermode" "0" // "SetBodyGroup" "0" // "skin" "0" //set to 1 for red traincar, many props separate different variants this way // "CollisionGroup" "0" // "solid" "0" // "spawnflags" "0" // "StartDisabled" "0" // "origin" "0 0 0" // } } barriers2 { NoFixup 1 func_forcefield { "disablereceiveshadows" "0" "origin" "0 0 0" "renderamt" "255" "rendercolor" "255 255 255" "renderfx" "0" "rendermode" "10" "TeamNum" "2" "targetname" "secondbarrier1" "parentname" "secondbarrier" "mins" "-200 -1 -300" "maxs" "200 100 1100" "StartDisabled" "0" } NoFixup 1 prop_dynamic //prop for show { "targetname" "secondbarrier" "angles" "0 180 0" "DisableBoneFollowers" "1" "disablereceiveshadows" "1" "model" "models/props_mvm/reversemvm_redwall_352x256.mdl" "disableshadows" "1" "ExplodeDamage" "0" "ExplodeRadius" "0" "fademaxdist" "0" "fademindist" "-1" "fadescale" "1" "MaxAnimTime" "10" "maxdxlevel" "0" "MinAnimTime" "5" "mindxlevel" "0" "modelscale" "1.5" "PerformanceMode" "0" "pressuredelay" "0" "RandomAnimation" "0" "renderamt" "0" "renderfx" "0" //hologram effect, see renderfx section on the developer wiki for more "rendermode" "0" "SetBodyGroup" "0" "skin" "0" //set to 1 for red traincar, many props separate different variants this way "CollisionGroup" "0" "solid" "0" "spawnflags" "0" "StartDisabled" "0" "origin" "0 0 0" } } barriers3 { NoFixup 1 func_forcefield { "disablereceiveshadows" "0" "origin" "0 0 0" "renderamt" "255" "rendercolor" "255 255 255" "renderfx" "0" "rendermode" "10" "TeamNum" "2" "targetname" "thirdbarrier1" "parentname" "thirdbarrier" "mins" "-300 -1 -300" "maxs" "300 1 1100" "StartDisabled" "0" } NoFixup 1 prop_dynamic //prop for show { "targetname" "thirdbarrier" "angles" "0 180 0" "DisableBoneFollowers" "1" "disablereceiveshadows" "1" "model" "models/props_mvm/reversemvm_redwall_352x256.mdl" "disableshadows" "1" "ExplodeDamage" "0" "ExplodeRadius" "0" "fademaxdist" "0" "fademindist" "-1" "fadescale" "1" "MaxAnimTime" "10" "maxdxlevel" "0" "MinAnimTime" "5" "mindxlevel" "0" "modelscale" "1.5" "PerformanceMode" "0" "pressuredelay" "0" "RandomAnimation" "0" "renderamt" "0" "renderfx" "0" //hologram effect, see renderfx section on the developer wiki for more "rendermode" "0" "SetBodyGroup" "0" "skin" "0" //set to 1 for red traincar, many props separate different variants this way "CollisionGroup" "0" "solid" "0" "spawnflags" "0" "StartDisabled" "0" "origin" "0 0 0" } } barriers4 { NoFixup 1 func_forcefield { "disablereceiveshadows" "0" "origin" "0 0 0" "renderamt" "255" "rendercolor" "255 255 255" "renderfx" "0" "rendermode" "10" "TeamNum" "2" "targetname" "thirdbarrier21" "parentname" "thirdbarrier2" "mins" "-500 -1 -300" "maxs" "500 70 1100" "StartDisabled" "0" } NoFixup 1 prop_dynamic //prop for show { "targetname" "thirdbarrier2" "angles" "0 180 0" "DisableBoneFollowers" "1" "disablereceiveshadows" "1" "model" "models/props_mvm/reversemvm_redwall_352x256.mdl" "disableshadows" "1" "ExplodeDamage" "0" "ExplodeRadius" "0" "fademaxdist" "0" "fademindist" "-1" "fadescale" "1" "MaxAnimTime" "10" "maxdxlevel" "0" "MinAnimTime" "5" "mindxlevel" "0" "modelscale" "1.5" "PerformanceMode" "0" "pressuredelay" "0" "RandomAnimation" "0" "renderamt" "0" "renderfx" "16" //hologram effect, see renderfx section on the developer wiki for more "rendermode" "0" "SetBodyGroup" "0" "skin" "0" //set to 1 for red traincar, many props separate different variants this way "CollisionGroup" "0" "solid" "0" "spawnflags" "0" "StartDisabled" "0" "origin" "0 0 0" } } station //all-in-one upgrade station template { func_upgradestation { "mins" "-105 -100 0" "maxs" "105 100 242" "solid" "0" } NoFixup 1 prop_dynamic { "targetname" "upgradestation" "angles" "0 0 0" "DisableBoneFollowers" "0" "disablereceiveshadows" "0" "disableshadows" "1" "ExplodeDamage" "0" "ExplodeRadius" "0" "fademaxdist" "0" "fademindist" "-1" "fadescale" "1" "MaxAnimTime" "10" "maxdxlevel" "0" "MinAnimTime" "5" "mindxlevel" "0" "model" "models\props_mvm\mvm_upgrade_blu_center.mdl" "modelscale" "1" "PerformanceMode" "0" "pressuredelay" "0" "RandomAnimation" "0" "renderamt" "255" "renderfx" "0" "rendermode" "0" "SetBodyGroup" "0" "skin" "0" "solid" "0" "spawnflags" "0" "origin" "0 0 0" } NoFixup 1 prop_dynamic { "targetname" "upgradestation1" "angles" "0 0 0" "DisableBoneFollowers" "0" "disablereceiveshadows" "0" "disableshadows" "1" "ExplodeDamage" "0" "ExplodeRadius" "0" "fademaxdist" "0" "fademindist" "-1" "fadescale" "1" "MaxAnimTime" "10" "maxdxlevel" "0" "MinAnimTime" "5" "mindxlevel" "0" "model" "models\props_mvm\mvm_upgrade_blu_tools.mdl" "modelscale" "1" "PerformanceMode" "0" "pressuredelay" "0" "RandomAnimation" "0" "renderamt" "255" "renderfx" "0" "rendermode" "0" "SetBodyGroup" "0" "skin" "0" "solid" "0" "spawnflags" "0" "origin" "0 0 0" } func_upgradestation { "mins" "-100 -100 0" "maxs" "90 60 100" "parentname" "upgradestation" } NoFixup 1 prop_dynamic { "targetname" "shopcollision" "angles" "0 -90 0" "DisableBoneFollowers" "1" "disablereceiveshadows" "1" "model" "models/props_vehicles/train_flatcar_container.mdl" "disableshadows" "1" "ExplodeDamage" "0" "ExplodeRadius" "0" "fademaxdist" "0" "fademindist" "-1" "fadescale" "1" "MaxAnimTime" "10" "maxdxlevel" "0" "MinAnimTime" "5" "mindxlevel" "0" "modelscale" "1" "PerformanceMode" "0" "pressuredelay" "0" "RandomAnimation" "0" "renderamt" "0" "renderfx" "0" "rendermode" "10" "SetBodyGroup" "0" "skin" "0" "CollisionGroup" "5" "solid" "6" "spawnflags" "0" "StartDisabled" "0" "origin" "0 0 0" } NoFixup 1 ambient_generic { "targetname" "failuresound" "health" "10" "message" "vo\announcer_failure.mp3" "pitch" "100" "pitchstart" "100" "radius" "20000" "spawnflags" "49" "origin" "0 0 0" } } spawnpoint { NoFixup 1 prop_dynamic { "targetname" "spawnpointprops" "model" "models/props_mvm/robot_spawnpoint.mdl" "disableshadows" "1" "defaultanim" "idle" "skin" "0" // Skin 0 for Red, Skin 1 for Blue, Skin 2 for Gray, and Skin 3 to disable the hologram } } spawnpoint_changeskin { NoFixup 1 logic_relay { "targetname" "spawnpoint_relay" "OnTrigger" "spawnpointprops,skin,3,0,-1" // When triggered, changes all "spawnpointprops" to use the Disabled skin (3) } } textualtimer { OnSpawnOutput { Param 6 // change the value for minutes Target minutehand Action SetValue } OnSpawnOutput { Param 60 // 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_1bomb_classic_relay,addoutput,ontrigger realtimer:trigger::0:-1,0,-1" "onspawn" "wave_finish*,addoutput,ontrigger realtimer:cancelpending::0:-1,0,-1" "onspawn" "wave_finish*,addoutput,ontrigger loserelay:cancelpending::0:-1,0,-1" } NoFixup 1 math_counter { "targetname" "minutehand" "max" "9999" "outvalue" "timerformat,$setkey$case01,,0,-1" "onhitmin" "loserelay,enable,,1,-1" } math_counter { "targetname" "secondhand" "max" "60" "outvalue" "timerformat,$setkey$case02,,0,-1" "outvalue" "zerocompare,setvaluecompare,,0,-1" "onhitmin" "loserelay,trigger,,0,-1" "onhitmin" "!self,setvalue,60,1,-1" "onhitmin" "minutehand,subtract,1,1,-1" } logic_compare { "targetname" "zerocompare" "comparevalue" "9" "onequalto" "timerformat,$setkey$case16,%:0%,0,-1" "ongreaterthan" "timerformat,$setkey$case16,%:%,0,-1" } logic_case { "targetname" "timerformat" "case16" "%:%" "ondefault" "timertext,$setkey$message,,0,-1" "ondefault" "timertext,display,0,0,-1" } game_text { "targetname" "timertext" "color" "65 155 255" "holdtime" "2" "spawnflags" "1" "x" "0.7" "y" "0.9" } logic_relay { "targetname" "realtimer" "spawnflags" "2" "ontrigger" "timerformat,$format,,0.01,-1" "ontrigger" "secondhand,subtract,1,0,-1" "ontrigger" "!self,trigger,,1,-1" } game_round_win { "teamnum" "2" "targetname" "bots_win_red" "force_map_reset" "1" } } } SpawnTemplate "corelogic" SpawnTemplate "spawnpoint_changeskin" SpawnTemplate "textualtimer" SpawnTemplate "annotations" SpawnTemplate { Name "station" "origin" "-868 -2962 264" "angles" "0 128 0" } SpawnTemplate { Name "station" "origin" "-905 -1412 276" "angles" "0 -90 0" } SpawnTemplate { Name "station" "origin" "1703 -4030 12" "angles" "0 180 0" } SpawnTemplate { Name "barriers" "origin" "34 -2788 139" "angles" "0 0 0" } SpawnTemplate { Name "barriers" "origin" "-624 -1657 260" "angles" "0 90 0" } SpawnTemplate { Name "barriers" "origin" "-624 -2659 319" "angles" "0 90 0" } SpawnTemplate { Name "barriers2" "origin" "-145 -110 65" "angles" "0 0 0" } SpawnTemplate { Name "barriers2" "origin" "-378 -110 65" "angles" "0 0 0" } SpawnTemplate { Name "barriers2" "origin" "-784 -110 65" "angles" "0 0 0" } SpawnTemplate { Name "barriers2" "origin" "-1179 -110 65" "angles" "0 0 0" } SpawnTemplate { Name "barriers2" "origin" "447 -110 65" "angles" "0 0 0" } SpawnTemplate { Name "barriers2" "origin" "1244 -110 65" "angles" "0 0 0" } SpawnTemplate { Name "barriers3" "origin" "-458 1781 65" "angles" "0 0 0" } SpawnTemplate { Name "barriers3" "origin" "68 1513 -150" "angles" "0 0 0" } SpawnTemplate { Name "barriers3" "origin" "1193 1513 129" "angles" "0 0 0" } // SpawnTemplate // { // Name "barriers3" // "origin" "-1300 1135 145" // "angles" "0 0 0" // } SpawnTemplate { Name "barriers3" "origin" "-889 1781 193" "angles" "0 0 0" } SpawnTemplate { Name "spawnpoint" "origin" "1030 -1643 40" } // SpawnTemplate // { // Name "spawnpoint" // "origin" "191 171 -64" // } // SpawnTemplate // { // Name "spawnpoint" // "origin" "709 1341 -247" // } SpawnTemplate { Name "spawnpoint" "origin" "667 2629 -94" } SpawnTemplate { Name "spawnpoint" "origin" "243 4153 13" } SpawnTemplate { Name "spawnpoint" "origin" "567 4899 34" } SpawnTemplate { Name "spawnpoint" "origin" "1066 4674 29" } SpawnTemplate { Name "spawnpoint" "origin" "103 4674 29" } SpawnTemplate { Name "spawnpoint" "origin" "-392 -65 -123" } SpawnTemplate { Name "spawnpoint" "origin" "826 -1108 77" } ExtraSpawnPoint { Name "barrierspawn" TeamNum 2 X "1030" Y "-1643" Z "105" } ExtraSpawnPoint { Name "stationspawn" TeamNum 2 X "826" Y "-1108" Z "137" } ExtraSpawnPoint { Name "whitespawn" TeamNum 2 X "191" Y "171" Z "9" } ExtraSpawnPoint { Name "waterspawn" TeamNum 2 X "709" Y "1341" Z "-197" } ExtraSpawnPoint { Name "rockspawn" TeamNum 2 X "667" Y "2629" Z "-34" } ExtraSpawnPoint { Name "frontspawn" TeamNum 2 X "243" Y "4153" Z "73" } ExtraSpawnPoint { Name "hatchspawn" TeamNum 2 X "567" Y "4899" Z "94" } ExtraSpawnPoint { Name "tankspawn" TeamNum 2 X "-392" Y "-65" Z "-62" } ExtraSpawnPoint { Name "leftspawn" TeamNum 2 X "1124" Y "4674" Z "89" } ExtraSpawnPoint { Name "rightspawn" TeamNum 2 X "4" Y "4674" Z "89" } Wave // Wave 1 (700) { StartWaveOutput { Target wave_start_1bomb_classic_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } Explanation { Line "{yellow}You are ROBOTS!" Line "{yellow}Get the bomb to the hatch to win the round!" Line "{yellow}NOTE: Spies cannot carry the bomb." } // RED WaveSpawn { Name "rwave01a" Where barrierspawn SpawnCount 8 MaxActive 8 TotalCount 16 TotalCurrency 200 TFBot { Template T_TFBot_Red_Demoman_Knight Attributes DisableDodge AddCond { Name "TF_COND_INVULNERABLE" Duration 2 } } } WaveSpawn { Name "rwave01a" Where stationspawn SpawnCount 7 MaxActive 7 TotalCount 14 TotalCurrency 100 TFBot { Template T_TFBot_Red_Scout Attributes DisableDodge Skill Easy AddCond { Name "TF_COND_INVULNERABLE" Duration 2 } } } WaveSpawn { Name "rwave01b" Where rockspawn SpawnCount 1 MaxActive 8 WaitForAllSpawned "rwave01a" TotalCount 24 TotalCurrency 100 TFBot { Template T_TFBot_Red_Backburner_Pyro Attributes DisableDodge Skill Easy AddCond { Name "TF_COND_INVULNERABLE" Duration 2 } } FirstSpawnOutput { Target removebarrier_relay Action Trigger } } WaveSpawn { Name "rwave01b" Where rockspawn SpawnCount 1 MaxActive 8 WaitForAllSpawned "rwave01a" TotalCount 24 TotalCurrency 100 TFBot { Template T_TFBot_Red_Pyro_Flaregun Attributes DisableDodge AddCond { Name "TF_COND_INVULNERABLE" Duration 2 } } } WaveSpawn { Name "rwave01c" Where hatchspawn SpawnCount 6 MaxActive 6 TotalCount 6 TotalCurrency 50 TFBot { Template T_TFBot_Red_Soldier Attributes DisableDodge UseBestWeapon 0 Skill Normal Tag "bot_hatch" } } WaveSpawn { Name "rwave01c" Where hatchspawn SpawnCount 1 MaxActive 1 TotalCount 1 TotalCurrency 200 TFBot { Template T_TFBot_Red_Giant_Soldier_Spammer Attributes DisableDodge Tag "bot_guard" CharacterAttributes { "move speed penalty" 0.001 "no_jump" 1 } } } WaveSpawn { Name "rwave01sup" Where leftspawn Where rightspawn SpawnCount 3 MaxActive 6 WaitForAllSpawned "rwave01b" TotalCount 999 WaitBetweenSpawns 10 TotalCurrency 50 TFBot { Template T_TFBot_Red_Heavyweapons_Shotgun Attributes DisableDodge AddCond { Name "TF_COND_INVULNERABLE" Duration 2 } } FirstSpawnOutput { Target removebarrier2_relay Action Trigger } } WaveSpawn // bomb carrier { Name "bombcarry" Where spawnbot SpawnCount 1 MaxActive 1 TotalCount 1 Support Limited TFBot { Template T_TFBot_Heavyweapons_Shotgun Name "Designated Bomb Boy" } } // BLU // WaveSpawn // { // Name "bwave01a" // Where spawnbot // SpawnCount 4 // MaxActive 8 // TotalCount 999 // Support Limited // RandomChoice // { // TFBot // { // Template T_TFBot_Heavyweapons_Heavyweight_Champ_Fast // } // TFBot // { // Class Scout // Skill Normal // } // } // } } Wave // Wave 2 (750) { StartWaveOutput { Target wave_start_1bomb_classic_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } // RED WaveSpawn { Name "rwave02a" Where barrierspawn SpawnCount 10 MaxActive 10 TotalCount 20 TotalCurrency 100 TFBot { Template T_TFBot_Red_Heavyweapons_Heavyweight_Champ Attributes DisableDodge AddCond { Name "TF_COND_INVULNERABLE" Duration 2 } } } WaveSpawn { Name "rwave02a" Where stationspawn SpawnCount 9 MaxActive 9 TotalCount 18 TotalCurrency 100 TFBot { Template T_TFBot_Red_Soldier Skill Normal UseBestWeapon 0 Attributes DisableDodge AddCond { Name "TF_COND_INVULNERABLE" Duration 2 } } } WaveSpawn { Name "rwave02b" WaitForAllSpawned "rwave02a" Where rockspawn SpawnCount 1 MaxActive 6 TotalCount 24 TotalCurrency 100 TFBot { Template T_TFBot_Red_Heavyweapons_Gnome "scale" 1 Attributes DisableDodge AddCond { Name "TF_COND_INVULNERABLE" Duration 2 } } FirstSpawnOutput { Target removebarrier_relay Action Trigger } } WaveSpawn { Name "rwave02b" WaitForAllSpawned "rwave02a" Where rockspawn SpawnCount 1 MaxActive 1 TotalCount 3 TotalCurrency 50 TFBot { Template T_TFBot_Red_Giant_Pyro_Flare_Spammer ClassIcon pyro_flare_red Attributes DisableDodge AddCond { Name "TF_COND_INVULNERABLE" Duration 2 } } } WaveSpawn { Name "rwave02b" WaitForAllSpawned "rwave02a" Where rockspawn SpawnCount 1 MaxActive 8 TotalCount 40 TotalCurrency 100 TFBot { Template T_TFBot_Red_Demoman Skill Normal Attributes DisableDodge AddCond { Name "TF_COND_INVULNERABLE" Duration 2 } } } WaveSpawn { Name "rwave02c" Where hatchspawn SpawnCount 4 MaxActive 4 TotalCount 4 TotalCurrency 50 TFBot { Template T_TFBot_Red_Heavyweapons_Fist Attributes DisableDodge Tag bot_hatch } } WaveSpawn { Name "rwave02c" Where hatchspawn SpawnCount 1 MaxActive 1 TotalCount 1 TotalCurrency 200 TFBot { Template T_TFBot_Red_Giant_Heavyweapons Skill Normal Attributes DisableDodge Tag bot_guard CharacterAttributes { "move speed penalty" 0.001 "no_jump" 1 } } } WaveSpawn { Name "rwave02sup" Where leftspawn Where rightspawn WaitForAllSpawned "rwave02b" SpawnCount 4 MaxActive 8 TotalCount 999 WaitBetweenSpawns 10 TotalCurrency 100 TFBot { Template T_TFBot_Red_Sniper_Huntsman Skill Easy Attributes DisableDodge AddCond { Name "TF_COND_INVULNERABLE" Duration 2 } } FirstSpawnOutput { Target removebarrier2_relay Action Trigger } } WaveSpawn // bomb carrier { Name "bombcarry" Where spawnbot SpawnCount 1 MaxActive 1 TotalCount 1 Support Limited TFBot { Template T_TFBot_Heavyweapons_Shotgun Name "Designated Bomb Boy" } } // WaveSpawn // { // Name "bwave02" // Where spawnbot // SpawnCount 4 // MaxActive 8 // TotalCount 999 // Support Limited // RandomChoice // { // TFBot // { // Template T_TFBot_Pyro // } // TFBot // { // Template T_TFBot_Demoman_Knight // } // } // } } Wave // Wave 3 (750) { InitWaveOutput { Target bomb1 Action Disable } StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } Explanation { Line "{yellow}Get the tank to the other end of the map!" Line "{yellow}If it gets destroyed, you lose!" } WaveSpawn { Name "rwave03a" Where barrierspawn SpawnCount 1 MaxActive 6 TotalCount 26 TotalCurrency 100 TFBot { Template T_TFBot_Red_Scout_SodaPopper Attributes DisableDodge AddCond { Name "TF_COND_INVULNERABLE" Duration 2 } } FirstSpawnOutput { Target removebarrier_relay Action Trigger } } WaveSpawn { Name "rwave03a" Where tankspawn SpawnCount 1 MaxActive 6 TotalCount 16 TotalCurrency 125 TFBot { Template T_TFBot_Red_Demoman Skill Normal Attributes DisableDodge AddCond { Name "TF_COND_INVULNERABLE" Duration 2 } } FirstSpawnOutput { Target removebarrier2_relay Action Trigger } } WaveSpawn { Name "rwave03b" Where rockspawn WaitForAllSpawned "rwave03a" SpawnCount 1 MaxActive 4 TotalCount 20 TotalCurrency 125 TFBot { Template T_TFBot_Red_Scout_Melee Attributes AlwaysCrit Attributes DisableDodge AddCond { Name "TF_COND_INVULNERABLE" Duration 2 } } } WaveSpawn { Name "rwave03b" Where rockspawn SpawnCount 1 MaxActive 1 TotalCount 2 TotalCurrency 100 TFBot { Template T_TFBot_Red_Giant_Demoman ClassIcon demo_spammer Attributes DisableDodge AddCond { Name "TF_COND_INVULNERABLE" Duration 2 } } } WaveSpawn { Name "rwave03c" Where hatchspawn SpawnCount 6 MaxActive 6 TotalCount 6 TotalCurrency 50 TFBot { Template T_TFBot_Red_Pyro Attributes DisableDodge Skill Easy Tag bot_hatch } } WaveSpawn { Name "rwave03c" Where hatchspawn SpawnCount 2 MaxActive 2 TotalCount 2 TotalCurrency 200 Squad { TFBot { Template T_TFBot_Red_Giant_Demo_Burst Attributes DisableDodge Tag bot_guard CharacterAttributes { "move speed penalty" 0.001 "no_jump" 1 } } TFBot { Template T_TFBot_Red_Giant_Demo_Burst Attributes DisableDodge Tag bot_guard } } } WaveSpawn { Name "rwave03sup" Where leftspawn Where rightspawn SpawnCount 2 MaxActive 4 TotalCount 999 WaitForAllSpawned "rwave03b" WaitBetweenSpawns 5 TotalCurrency 50 TFBot { Template T_TFBot_Red_Soldier Skill Normal UseBestWeapon 0 Attributes DisableDodge AddCond { Name "TF_COND_INVULNERABLE" Duration 2 } } } WaveSpawn { Name "bwave03" TotalCount 1 SpawnCount 1 Support Limited Tank { Name tankboss Health 15000 Speed 85 StartingPathTrackNode "tank_start_main" OnKilledOutput { Target boss_dead_relay Action Trigger } OnKilledOutput { Target redwin_relay Action Trigger } OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } } Wave // Wave 4 (800) { StartWaveOutput { Target wave_start_1bomb_classic_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } WaveSpawn { Name "wave04a" Where barrierspawn SpawnCount 4 MaxActive 4 TotalCount 8 TotalCurrency 100 TFBot { Template T_TFBot_Red_Heavyweapons_Fist Attributes DisableDodge AddCond { Name "TF_COND_INVULNERABLE" Duration 2 } } } WaveSpawn { Name "wave04a" Where stationspawn SpawnCount 9 MaxActive 9 TotalCount 18 TotalCurrency 100 TFBot { Template T_TFBot_Red_Soldier UseBestWeapon 0 Skill Normal Attributes DisableDodge AddCond { Name "TF_COND_INVULNERABLE" Duration 2 } } } WaveSpawn { Name "wave04b" Where rockspawn WaitForAllSpawned "wave04a" SpawnCount 1 MaxActive 8 TotalCount 40 TotalCurrency 100 TFBot { Template T_TFBot_Red_Scout_FanOWar Attributes DisableDodge AddCond { Name "TF_COND_INVULNERABLE" Duration 2 } } FirstSpawnOutput { Target removebarrier_relay Action Trigger } } WaveSpawn { Name "wave04b" WaitForAllSpawned "wave04a" Where rockspawn SpawnCount 1 MaxActive 1 TotalCount 2 TotalCurrency 50 TFBot { Template T_TFBot_Red_Giant_Heavyweapons_Shotgun Attributes DisableDodge AddCond { Name "TF_COND_INVULNERABLE" Duration 2 } } } WaveSpawn { Name "wave04b" Where rockspawn WaitForAllSpawned "wave04a" SpawnCount 1 MaxActive 8 TotalCount 25 TotalCurrency 150 TFBot { Template T_TFBot_Red_Heavyweapons Attributes DisableDodge AddCond { Name "TF_COND_INVULNERABLE" Duration 2 } } } WaveSpawn { Name "wave04c" Where hatchspawn SpawnCount 8 MaxActive 8 TotalCount 8 TotalCurrency 100 TFBot { Template T_TFBot_Red_Pyro_Flaregun Attributes DisableDodge Tag bot_hatch } } WaveSpawn { Name "wave04c" Where hatchspawn SpawnCount 2 MaxActive 2 TotalCount 2 TotalCurrency 200 Squad { TFBot { Template T_TFBot_Red_Giant_Pyro Attributes DisableDodge Tag bot_guard CharacterAttributes { "move speed penalty" 0.001 "no_jump" 1 } } TFBot { Template T_TFBot_Red_Giant_Pyro Attributes DisableDodge Tag bot_guard } } } WaveSpawn { Name "wave04sup" Where leftspawn Where rightspawn WaitForAllSpawned "wave04b" SpawnCount 4 MaxActive 8 TotalCount 999 WaitBetweenSpawns 5 TotalCurrency 50 TFBot { Template T_TFBot_Red_Scout Attributes DisableDodge Skill Easy AddCond { Name "TF_COND_INVULNERABLE" Duration 2 } } FirstSpawnOutput { Target removebarrier2_relay Action Trigger } } WaveSpawn // bomb carrier { Name "bombcarry" Where spawnbot SpawnCount 1 MaxActive 1 TotalCount 1 Support Limited TFBot { Template T_TFBot_Heavyweapons_Shotgun Name "Designated Bomb Boy" } } } Wave // Wave 5 (850) { InitWaveOutput { Target bomb1 Action Disable } StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } WaveSpawn { Name "wave05a" Where tankspawn SpawnCount 2 MaxActive 2 TotalCount 4 TotalCurrency 300 TFBot { Template T_TFBot_Red_Giant_Scout Attributes DisableDodge AddCond { Name "TF_COND_INVULNERABLE" Duration 2 } } FirstSpawnOutput { Target removebarrier_relay Action Trigger } } WaveSpawn { Name "wave05a" Where barrierspawn SpawnCount 10 MaxActive 10 TotalCount 30 TotalCurrency 100 TFBot { Template T_TFBot_Red_Backburner_Pyro Skill Easy Attributes DisableDodge AddCond { Name "TF_COND_INVULNERABLE" Duration 2 } } FirstSpawnOutput { Target removebarrier2_relay Action Trigger } } WaveSpawn { Name "wave05b" Where rockspawn WaitForAllSpawned "wave05a" SpawnCount 1 MaxActive 6 TotalCount 20 TotalCurrency 50 TFBot { Template T_TFBot_Red_Soldier UseBestWeapon 0 Skill Normal Attributes DisableDodge AddCond { Name "TF_COND_INVULNERABLE" Duration 2 } } } WaveSpawn { Name "wave05b" WaitForAllSpawned "wave05a" Where rockspawn SpawnCount 1 MaxActive 1 TotalCount 2 TotalCurrency 50 TFBot { Template T_TFBot_Red_Giant_Demoman ClassIcon demo_spammer Attributes DisableDodge AddCond { Name "TF_COND_INVULNERABLE" Duration 2 } } } WaveSpawn { Name "wave05b" Where rockspawn WaitForAllSpawned "wave05a" SpawnCount 1 MaxActive 8 TotalCount 40 TotalCurrency 50 TFBot { Template T_TFBot_Red_Demoman_Knight Attributes DisableDodge AddCond { Name "TF_COND_INVULNERABLE" Duration 2 } } } // WaveSpawn // { // Name "wave05c" // Where hatchspawn // SpawnCount 9 // MaxActive 9 // TotalCount 9 // TotalCurrency 100 // TFBot // { // Template T_TFBot_Red_Soldier_Extended_Concheror // Skill Normal // Attributes DisableDodge // Tag bot_hatch // } // } WaveSpawn { Name "wave05c" Where hatchspawn SpawnCount 5 MaxActive 5 TotalCount 5 TotalCurrency 200 Squad { TFBot { Template T_TFBot_Red_Giant_Pyro_Phlog Attributes DisableDodge Tag bot_guard CharacterAttributes { "move speed penalty" 0.001 "no_jump" 1 } } TFBot { Template T_TFBot_Red_Medic_QuickFix Attributes DisableDodge Tag bot_guard } TFBot { Template T_TFBot_Red_Medic_QuickFix Attributes DisableDodge Tag bot_guard } TFBot { Template T_TFBot_Red_Medic_QuickFix Attributes DisableDodge Tag bot_guard } TFBot { Template T_TFBot_Red_Medic_QuickFix Attributes DisableDodge Tag bot_guard } } } WaveSpawn { Name "wave05sup" Where leftspawn Where rightspawn WaitForAllSpawned "wave05b" SpawnCount 4 MaxActive 8 TotalCount 999 WaitBetweenSpawns 10 TotalCurrency 50 TFBot { Template T_TFBot_Red_Scout_Melee Attributes DisableDodge Attributes AlwaysCrit AddCond { Name "TF_COND_INVULNERABLE" Duration 2 } } } WaveSpawn { Name "bwave05" TotalCount 1 SpawnCount 1 Support Limited Tank { Name tankboss Health 15000 Speed 85 StartingPathTrackNode "tank_start_main" OnKilledOutput { Target boss_dead_relay Action Trigger } OnKilledOutput { Target redwin_relay Action Trigger } OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } } Wave // Wave 6 { StartWaveOutput { Target wave_start_1bomb_classic_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } Explanation { Line "{yellow}A Giant Boxing Heavy will help you this round. Treat him well!" } WaveSpawn { Name "wave06a" Where barrierspawn SpawnCount 2 MaxActive 2 TotalCount 4 TotalCurrency 150 Squad { TFBot { Template T_TFBot_Red_Giant_Heavyweapons_Shotgun Attributes DisableDodge AddCond { Name "TF_COND_INVULNERABLE" Duration 2 } } TFBot { Template T_TFBot_Red_Medic_BigHeal Attributes DisableDodge AddCond { Name "TF_COND_INVULNERABLE" Duration 2 } } } } WaveSpawn { Name "wave06a" Where stationspawn SpawnCount 7 MaxActive 14 TotalCount 28 TotalCurrency 100 TFBot { Template T_TFBot_Red_Demoman Attributes DisableDodge Skill Normal AddCond { Name "TF_COND_INVULNERABLE" Duration 2 } } } WaveSpawn { Name "wave06b" WaitForAllSpawned "wave06a" Where rockspawn SpawnCount 1 MaxActive 8 TotalCount 32 TotalCurrency 100 TFBot { Template T_TFBot_Red_Scout_Sandman_FastCharge Attributes DisableDodge AddCond { Name "TF_COND_INVULNERABLE" Duration 2 } } FirstSpawnOutput { Target removebarrier_relay Action Trigger } } WaveSpawn { Name "wave06b" WaitForAllSpawned "wave06a" Where rockspawn SpawnCount 2 MaxActive 2 TotalCount 2 TotalCurrency 50 TFBot { Template T_TFBot_Red_Giant_Heavyweapons ClassIcon Heavy Attributes DisableDodge AddCond { Name "TF_COND_INVULNERABLE" Duration 2 } } } WaveSpawn { Name "wave06b" WaitForAllSpawned "wave06a" Where rockspawn SpawnCount 1 MaxActive 8 TotalCount 30 TotalCurrency 100 TFBot { Template T_TFBot_Red_Heavyweapons_Shotgun Attributes DisableDodge Attributes AlwaysCrit AddCond { Name "TF_COND_INVULNERABLE" Duration 2 } } } WaveSpawn { Name "wave06c" Where hatchspawn SpawnCount 4 MaxActive 4 TotalCount 16 TotalCurrency 100 TFBot { Template T_TFBot_Red_Soldier_RocketShotgun Attributes DisableDodge UseBestWeapon 0 Tag bot_hatch } } WaveSpawn { Name "wave06c" Where hatchspawn SpawnCount 2 MaxActive 2 TotalCount 2 TotalCurrency 200 Squad { TFBot { Template T_TFBot_Red_Giant_Soldier_SlowBarrage Attributes DisableDodge Attributes AlwaysCrit Tag bot_guard } TFBot { Template T_TFBot_Red_Giant_Medic_Regen Attributes DisableDodge Tag bot_guard } } } WaveSpawn { Name "wave06sup" Where leftspawn Where rightspawn WaitForAllSpawned "wave06b" SpawnCount 3 MaxActive 6 TotalCount 999 WaitBetweenSpawns 5 TotalCurrency 50 TFBot { Template T_TFBot_Red_Soldier Attributes DisableDodge UseBestWeapon 0 Skill Normal AddCond { Name "TF_COND_INVULNERABLE" Duration 2 } } FirstSpawnOutput { Target removebarrier2_relay Action Trigger } } WaveSpawn // help deflector { Name "wave06help" Where spawnbot SpawnCount 1 MaxActive 1 TotalCount 1 Support Limited TFBot { Template T_TFBot_Giant_Boxing_Heavy Attributes UseBossHealthBar Name "Mr. Bumble" Item "Pyro's Beanie" } } } } #base judge_restricts.pop