#base robot_standard.pop #base robot_giant.pop #base robot_scroob.pop #base possession_base.pop // WAVE 1 - 0$ + B(100$) // ------------------- // TOTAL - 0$ + B(100$) WaveSchedule { StartingCurrency 0 RespawnWaveTime 3 CanBotsAttackWhileInSpawnRoom no NoRomevisionCosmetics 1 AllowBotExtraSlots 1 RobotLimit 45 //reconfigurer NoRedBotsRandomCrit 1 BotsUsePlayerTeleporters 0 SentryHintBombForwardRange 1000 // How far in front of the bomb the engineer can teleport in (default: 0) SentryHintBombBackwardRange 2000 // How far behind the bomb the engineer can teleport in (default: 3000) SentryHintMinDistanceFromBomb 650 // How far the engineer spot must be behind the bomb (default: 1300) FixWavespawnReserveSlotsOnDisabledSpawnbot 1 // Fix wavespawn reserving slots even when spawnbot is disabled. There isn't much reason to not use this PrecacheModel "models/bots/sniper_boss/bot_sniper_boss.mdl" //valid spawns: //spawnbot, spawnbot_upper, spawnbot_mission_sentrybuster, spawnbot_mission_spy, spawnbot_mission_sniper //spawnbot places bots in the right spawn, upper goes to the left. Mission spawns for spies and busters place them wherever, //mission sniper is an alias for spawnbot_upper. //spawnbot_boss places bots in a box outside the map that instantly teleports them down into the map, above the front. Mission { Where spawnbot_mission_sentrybuster Objective DestroySentries InitialCooldown 35 BeginAtWave 1 RunForThisManyWaves 7 CooldownTime 40 DesiredCount 1 TFBot { Template T_TFBot_SentryBuster } } ExtraSpawnPoint { Name "spawnbot_red_spawnroom" TeamNum 3 //so players don't appear here X "4095.5" Y "2435.62" Z "40" } ExtraSpawnPoint { Name "spawnbot_red_hatch_flank" TeamNum 3 //so players don't appear here X "2304.80" Y "513.3" Z "-52" } ExtraSpawnPoint { Name "spawnbot_red_lower_left" TeamNum 3 //so players don't appear here X "2430.86" Y "-1310.55" Z "-445" } ExtraSpawnPoint { Name "spawnbot_red_upper_left_back" TeamNum 3 //so players don't appear here X "3450.38" Y "-1297.56" Z "-123.24" } ExtraSpawnPoint { Name "spawnbot_red_forward_upgrade_roof" TeamNum 3 //so players don't appear here X "61.02" Y "-2.63" Z "-216" } ExtraSpawnPoint { Name "spawnbot_red_forward_upgrade" TeamNum 3 //so players don't appear here X "45.38" Y "130.52" Z "-410" } ExtraSpawnPoint { Name "spawnbot_red_forward_flank" TeamNum 3 //so players don't appear here X "610.06" Y "-1540.28" Z "-351.65" } ExtraSpawnPoint { Name "spawnbot_red_upper_left_forward" TeamNum 3 //so players don't appear here X "1967.95" Y "-1183.14" Z "-237" } ExtraSpawnPoint { Name "spawnbot_red_hatch" TeamNum 3 //so players don't appear here X "4476.64" Y "1373.56" Z "5.5" } ExtraSpawnPoint { Name "spawnbot_red_hatch" TeamNum 3 //so players don't appear here X "3718.58" Y "1373.56" Z "5.5" } //credit to whoever made mvm_spacepost_rc1_exp_event_horizon.pop, they did not credit themselves in-popfile. //They fixed something that was really fucking annoying for me, and I am very grateful for that PointTemplates { SpawnCovers { NoFixup 1 prop_dynamic { "model" "models/props_mvm/robot_spawnpoint.mdl" "disableshadows" 1 "startdisabled" 0 "defaultanim" "idle" "angles" "0 -90 0" "skin" 0 "targetname" spawner_wave2 "origin" "4095.5 2435.62 34" } prop_dynamic { "model" "models/props_mvm/robot_spawnpoint.mdl" "disableshadows" 1 "startdisabled" 0 "defaultanim" "idle" "angles" "0 -90 0" "skin" 0 "targetname" spawner_wave2 "origin" "2304.8 513.3 -64" } prop_dynamic { "model" "models/props_mvm/robot_spawnpoint.mdl" "disableshadows" 1 "startdisabled" 0 "defaultanim" "idle" "angles" "0 180 0" "skin" 0 "targetname" spawner_wave2 "origin" "2430.86 -1310.55 -445" } prop_dynamic { "model" "models/props_mvm/robot_spawnpoint.mdl" "disableshadows" 1 "startdisabled" 0 "defaultanim" "idle" "angles" "0 180 0" "skin" 0 "targetname" spawner_wave2 "origin" "3450.38 -1297.56 -128.24" } prop_dynamic { "model" "models/props_mvm/robot_spawnpoint.mdl" "disableshadows" 1 "startdisabled" 0 "defaultanim" "idle" "angles" "0 143 0" "skin" 0 "targetname" spawner_wave2 "origin" "61.02 -2.63 -221" } prop_dynamic { "model" "models/props_mvm/robot_spawnpoint.mdl" "disableshadows" 1 "startdisabled" 0 "defaultanim" "idle" "angles" "0 0 0" "skin" 0 "targetname" spawner_wave2 "origin" "45.38 130.52 -415" } prop_dynamic { "model" "models/props_mvm/robot_spawnpoint.mdl" "disableshadows" 1 "startdisabled" 0 "defaultanim" "idle" "angles" "0 120 0" "skin" 0 "targetname" spawner_wave2 "origin" "610.06 -1540.28 -351.65" } prop_dynamic { "model" "models/props_mvm/robot_spawnpoint.mdl" "disableshadows" 1 "startdisabled" 0 "defaultanim" "idle" "angles" "0 111 0" "skin" 0 "targetname" spawner_wave2 "origin" "1967.95 -1183.14 -222" } prop_dynamic { "model" "models/props_mvm/robot_spawnpoint.mdl" "disableshadows" 1 "startdisabled" 0 "defaultanim" "idle" "angles" "0 180 0" "skin" 0 "targetname" spawner_wave2 "origin" "4476.64 1373.56 5.5" } prop_dynamic { "model" "models/props_mvm/robot_spawnpoint.mdl" "disableshadows" 1 "startdisabled" 0 "defaultanim" "idle" "angles" "0 0 0" "skin" 0 "targetname" spawner_wave2 "origin" "3718.58 1373.56 5.5" } OnSpawnOutput { Target popscript Action $setBotHellVectorX Param "4095.50" } OnSpawnOutput { Target popscript Action $setBotHellVectorY Param "2435.62" } OnSpawnOutput { Target popscript Action $setBotHellVectorZ Param "39.36" } } Custom_Bomb_Path_Controls //allows me to specify which path for which wave //how to use: put InitWaveOutput and as the target put one of the four relays listed //feel free to copy this PT if you want to { logic_auto { OnMapSpawn "bombpath_choose_relay,kill,,0,-1" OnMapSpawn "bombpath_choose_1_case,kill,,0,-1" } logic_relay { targetname "bombpath_choose_lower_left_relay" OnTrigger "bombpath_arrows_clear_relay,trigger,,0.1,-1" OnTrigger "bombpath_clearall_relay,trigger,,0.1,-1" OnTrigger "bombpath_lower_left_relay,trigger,,0.5,-1" } logic_relay { targetname "bombpath_choose_lower_right_relay" OnTrigger "bombpath_arrows_clear_relay,trigger,,0.1,-1" OnTrigger "bombpath_clearall_relay,trigger,,0.1,-1" OnTrigger "bombpath_lower_right_relay,trigger,,0.5,-1" } logic_relay { targetname "bombpath_choose_upper_left_relay" OnTrigger "bombpath_arrows_clear_relay,trigger,,0.1,-1" OnTrigger "bombpath_clearall_relay,trigger,,0.1,-1" OnTrigger "bombpath_upper_left_relay,trigger,,0.5,-1" } logic_relay { targetname "bombpath_choose_upper_right_relay" OnTrigger "bombpath_arrows_clear_relay,trigger,,0.1,-1" OnTrigger "bombpath_clearall_relay,trigger,,0.1,-1" OnTrigger "bombpath_upper_right_relay,trigger,,0.5,-1" } logic_relay { targetname "bombpath_choose_combo_relay" OnTrigger "bombpath_arrows_clear_relay,trigger,,0.1,-1" OnTrigger "bombpath_clearall_relay,trigger,,0.1,-1" OnTrigger "bombpath_upper_right_relay,trigger,,0.5,-1" OnTrigger "bombpath_lower_left_relay,trigger,,0.5,-1" } } EngiNodes // Spawns custom engineer spots for the map. copied from spacepost adv lunar madness, then ripped from event horizon. Its stealing all the way down. { NoFixup 1 // near flank spawn. bot_hint_engineer_nest { "targetname" "engineer_hint1" "origin" "-889 44 -423" "angles" "0 -50 0" } bot_hint_sentrygun { "targetname" "engineer_hint1" "origin" "-725 -205 -415" "angles" "0 -50 0" } bot_hint_teleporter_exit { "targetname" "engineer_hint1" "origin" "-889 44 -423" "angles" "0 -90 0" } // near the gas tanks at front bot_hint_engineer_nest { "targetname" "engineer_hint2" "origin" "459 -697 -479" "angles" "0 65 0" } bot_hint_sentrygun { "targetname" "engineer_hint2" "origin" "580 -401 -481" "angles" "0 65 0" } bot_hint_teleporter_exit { "targetname" "engineer_hint2" "origin" "459 -697 -479" "angles" "0 90 0" } // top path, some kinda observation room. bot_hint_engineer_nest { "targetname" "engineer_hint4" "origin" "1864 -1029 -223" "angles" "0 -40 0" } bot_hint_sentrygun { "targetname" "engineer_hint4" "origin" "1999 -1111 -223" "angles" "0 -40 0" } bot_hint_teleporter_exit { "targetname" "engineer_hint4" "origin" "1864 -1029 -223" "angles" "0 0 0" } // bottom path, below said room. bot_hint_engineer_nest { "targetname" "engineer_hint3" "origin" "1828 -1171 -511" "angles" "0 45 0" } bot_hint_sentrygun { "targetname" "engineer_hint3" "origin" "1975 -1022 -511" "angles" "0 45 0" } bot_hint_teleporter_exit { "targetname" "engineer_hint3" "origin" "1828 -1171 -511" "angles" "0 0 0" } // top path, the lil computer room seen next to hatch. bot_hint_engineer_nest { "targetname" "engineer_hint6" "origin" "4266 -277 -127" "angles" "0 180 0" } bot_hint_sentrygun { "targetname" "engineer_hint6" "origin" "4041 -277 -127" "angles" "0 180 0" } bot_hint_teleporter_exit { "targetname" "engineer_hint6" "origin" "4266 -277 -127" "angles" "0 0 0" } // bottom path, the ramp seen next to hatch. bot_hint_engineer_nest { "targetname" "engineer_hint5" "origin" "3841 -37 -447" "angles" "0 33 0" } bot_hint_sentrygun { "targetname" "engineer_hint5" "origin" "4004 49 -447" "angles" "0 33 0" } bot_hint_teleporter_exit { "targetname" "engineer_hint5" "origin" "3841 -37 -447" "angles" "0 0 0" } // make engineer bots somewhat obey the paths logic_auto { "origin" "0 0 0" "targetname" "engineer_hint_relay_extension" // Top path. "OnMapSpawn" "bombpath_upper_left_relay,AddOutput,OnTrigger engineer_hint5:Disable:0:-1,0,-1" "OnMapSpawn" "bombpath_upper_left_relay,AddOutput,OnTrigger engineer_hint3:Disable:0:-1,0,-1" "OnMapSpawn" "bombpath_upper_right_relay,AddOutput,OnTrigger engineer_hint5:Disable:0:-1,0,-1" "OnMapSpawn" "bombpath_upper_right_relay,AddOutput,OnTrigger engineer_hint3:Disable:0:-1,0,-1" // Bottom path. "OnMapSpawn" "bombpath_lower_left_relay,AddOutput,OnTrigger engineer_hint4:Disable:0:-1,0,-1" "OnMapSpawn" "bombpath_lower_left_relay,AddOutput,OnTrigger engineer_hint6:Disable:0:-1,0,-1" "OnMapSpawn" "bombpath_lower_right_relay,AddOutput,OnTrigger engineer_hint4:Disable:0:-1,0,-1" "OnMapSpawn" "bombpath_lower_right_relay,AddOutput,OnTrigger engineer_hint6:Disable:0:-1,0,-1" // Re-enable hints. "OnMapSpawn" "wave_finished_relay,AddOutput,OnTrigger engineer_hint*:Enable:0:-1,0,-1" } } } SpawnTemplate "Custom_Bomb_Path_Controls" SpawnTemplate "EngiNodes" SpawnTemplate "SpawnCovers" // WAVE 1 [$0] Wave { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } InitWaveOutput { Target bombpath_choose_Upper_right_relay Action Trigger } Explanation { Line "{red}B-1000{reset} : {EEEEEE}Hello, {FFFF00}Data Ghosts" Line "{red}B-1000{reset} : {EEEEEE}The mercenaries couldn't show up today, its up to the red bots and you" Line "{red}B-1000{reset} : {FFFF00}Melee red bots to take control of them, press special attack to release the bot" Line "{00FF00}Allied robots this wave consist of: {66BB66}Demomen, Soldiers, and a random assortment of Scouts" } WaveSpawn { Where spawnbot_red_hatch TotalCount 999 MaxActive 3 SpawnCount 1 TotalCurrency 0 WaitBeforeStarting 0.01 WaitBetweenSpawns 1 Support 1 RandomChoice { TFBot { Class Soldier Skill Easy AddCond { Name TF_COND_REPROGRAMMED } Action FetchFlag ClassIcon red2_lite } TFBot { Class Demoman StripItemSlot 1 Skill Easy AddCond { Name TF_COND_REPROGRAMMED } Action FetchFlag ClassIcon red2_lite } } } WaveSpawn { Where spawnbot_red_forward_upgrade Where spawnbot_red_forward_flank TotalCount 999 MaxActive 3 SpawnCount 1 TotalCurrency 0 WaitBeforeStarting 0.01 WaitBetweenSpawns 0 Support 1 RandomChoice { //These were in w1 of short circuit execution, I'd commit them to the robot pop but I don't really see the purpose of them in a normal mission. TFBot { Class Scout Name "Short Circuit Jumping Scout" Skill Easy AddCond { Name TF_COND_REPROGRAMMED } ClassIcon red2_lite Item "The Sandman" Item "The Hanger-On Hood" Item "The Flight of the Monarch" Action Mobber Attributes DisableDodge Attributes AutoJump AutoJumpMin 5 AutoJumpMax 5 WeaponSwitch { Type "Melee" MaxTargetRange 9999 MinTargetRange 600 Delay 0.1 Repeats 0 Cooldown 0 IfSeeTarget 1 } WeaponSwitch { Type "Primary" MaxTargetRange 600 MinTargetRange 0 Delay 0.1 Repeats 0 Cooldown 0 IfSeeTarget 1 } CharacterAttributes { "increased jump height" 2 } ItemAttributes { ItemName "The Sandman" "effect bar recharge rate increased" 0.5 } } TFBot { Template T_TFBot_Scout_Scatterbonk Skill Easy Name "Overclocked Scatterbonk Scout" ItemAttributes { ItemName "Bonk! Atomic Punch" "effect add attributes" "move speed bonus|10" } CharacterAttributes { "gesture speed increase" 2 } AddCond { Name TF_COND_REPROGRAMMED } ClassIcon red2_lite Action Mobber } TFBot { Class Scout Skill Easy Name "Mini Shortstop Scout" ClassIcon red2_lite Item "The Shortstop" AddCond { Name TF_COND_REPROGRAMMED } Action Mobber } TFBot { Class Scout Name "Short Circuit Jumping Scout" Skill Easy AddCond { Name TF_COND_REPROGRAMMED } ClassIcon red2_lite Item "The Sandman" Item "The Hanger-On Hood" Item "The Flight of the Monarch" Action Mobber Attributes DisableDodge Attributes AutoJump AutoJumpMin 5 AutoJumpMax 5 WeaponSwitch { Type "Melee" MaxTargetRange 9999 MinTargetRange 600 Delay 0.1 Repeats 0 Cooldown 0 IfSeeTarget 1 } WeaponSwitch { Type "Primary" MaxTargetRange 600 MinTargetRange 0 Delay 0.1 Repeats 0 Cooldown 0 IfSeeTarget 1 } CharacterAttributes { "increased jump height" 2 } ItemAttributes { ItemName "The Sandman" "effect bar recharge rate increased" 0.5 } } TFBot { Template T_TFBot_Scout_Scatterbonk Skill Easy Name "Overclocked Scatterbonk Scout" ItemAttributes { ItemName "Bonk! Atomic Punch" "effect add attributes" "move speed bonus|10" } CharacterAttributes { "gesture speed increase" 2 } AddCond { Name TF_COND_REPROGRAMMED } ClassIcon red2_lite Action Mobber } TFBot { //Bomb guardian guy, they should be expected to perform decently alone Class Scout Skill Hard Name "Mini Shortstop Scout" Item "The Shortstop" AddCond { Name TF_COND_REPROGRAMMED } ClassIcon red2_lite Action FetchFlag } TFBot { Template T_TFBot_Scout_Scatterbonk Skill Easy AddCond { Name TF_COND_REPROGRAMMED } ClassIcon red2_lite Action Mobber } //Frantic flood guillotine template, has no gun TFBot { Class Scout Name "Frantic Guillotine Scout" Item "The Flying Guillotine" WeaponRestrictions SecondaryOnly ClassIcon red2_lite StripItemSlot 0 //no firearm CharacterAttributes { "effect bar recharge rate increased" 0.1 } Skill Easy AddCond { Name TF_COND_REPROGRAMMED } Action Mobber } //Frantic flood guillotine template, has no gun TFBot { Class Scout Name "Frantic Guillotine Scout" Item "The Flying Guillotine" WeaponRestrictions SecondaryOnly ClassIcon red2_lite StripItemSlot 0 //no firearm CharacterAttributes { "effect bar recharge rate increased" 0.1 } Skill Easy AddCond { Name TF_COND_REPROGRAMMED } Action Mobber } } } WaveSpawn { Where spawnbot_red_hatch TotalCount 999 MaxActive 3 SpawnCount 1 TotalCurrency 0 WaitBeforeStarting 0.01 WaitBetweenSpawns 0 Support 1 RandomChoice { //These were in w1 of short circuit execution, I'd commit them to the robot pop but I don't really see the purpose of them in a normal mission. TFBot { Class Scout Name "Short Circuit Jumping Scout" Skill Easy AddCond { Name TF_COND_REPROGRAMMED } ClassIcon red2_lite Item "The Sandman" Item "The Hanger-On Hood" Item "The Flight of the Monarch" Action Mobber Attributes DisableDodge Attributes AutoJump AutoJumpMin 5 AutoJumpMax 5 WeaponSwitch { Type "Melee" MaxTargetRange 9999 MinTargetRange 600 Delay 0.1 Repeats 0 Cooldown 0 IfSeeTarget 1 } WeaponSwitch { Type "Primary" MaxTargetRange 600 MinTargetRange 0 Delay 0.1 Repeats 0 Cooldown 0 IfSeeTarget 1 } CharacterAttributes { "increased jump height" 2 } ItemAttributes { ItemName "The Sandman" "effect bar recharge rate increased" 0.5 } } TFBot { Template T_TFBot_Scout_Scatterbonk Skill Easy Name "Overclocked Scatterbonk Scout" ItemAttributes { ItemName "Bonk! Atomic Punch" "effect add attributes" "move speed bonus|10" } CharacterAttributes { "gesture speed increase" 2 } AddCond { Name TF_COND_REPROGRAMMED } ClassIcon red2_lite Action Mobber } TFBot { Class Scout Skill Easy Name "Mini Shortstop Scout" ClassIcon red2_lite Item "The Shortstop" AddCond { Name TF_COND_REPROGRAMMED } Action Mobber } TFBot { Class Scout Name "Short Circuit Jumping Scout" Skill Easy AddCond { Name TF_COND_REPROGRAMMED } ClassIcon red2_lite Item "The Sandman" Item "The Hanger-On Hood" Item "The Flight of the Monarch" Action Mobber Attributes DisableDodge Attributes AutoJump AutoJumpMin 5 AutoJumpMax 5 WeaponSwitch { Type "Melee" MaxTargetRange 9999 MinTargetRange 600 Delay 0.1 Repeats 0 Cooldown 0 IfSeeTarget 1 } WeaponSwitch { Type "Primary" MaxTargetRange 600 MinTargetRange 0 Delay 0.1 Repeats 0 Cooldown 0 IfSeeTarget 1 } CharacterAttributes { "increased jump height" 2 } ItemAttributes { ItemName "The Sandman" "effect bar recharge rate increased" 0.5 } } TFBot { Template T_TFBot_Scout_Scatterbonk Skill Easy Name "Overclocked Scatterbonk Scout" ItemAttributes { ItemName "Bonk! Atomic Punch" "effect add attributes" "move speed bonus|10" } CharacterAttributes { "gesture speed increase" 2 } AddCond { Name TF_COND_REPROGRAMMED } ClassIcon red2_lite Action Mobber } TFBot { //Bomb guardian guy, they should be expected to perform decently alone Class Scout Skill Hard Name "Mini Shortstop Scout" Item "The Shortstop" AddCond { Name TF_COND_REPROGRAMMED } ClassIcon red2_lite Action FetchFlag } TFBot { Template T_TFBot_Scout_Scatterbonk Skill Easy AddCond { Name TF_COND_REPROGRAMMED } ClassIcon red2_lite Action Mobber } //Frantic flood guillotine template, has no gun TFBot { Class Scout Name "Frantic Guillotine Scout" Item "The Flying Guillotine" WeaponRestrictions SecondaryOnly ClassIcon red2_lite StripItemSlot 0 //no firearm CharacterAttributes { "effect bar recharge rate increased" 0.1 } Skill Easy AddCond { Name TF_COND_REPROGRAMMED } Action Mobber } //Frantic flood guillotine template, has no gun TFBot { Class Scout Name "Frantic Guillotine Scout" Item "The Flying Guillotine" WeaponRestrictions SecondaryOnly ClassIcon red2_lite StripItemSlot 0 //no firearm CharacterAttributes { "effect bar recharge rate increased" 0.1 } Skill Easy AddCond { Name TF_COND_REPROGRAMMED } Action Mobber } } } // [$0] WaveSpawn { Name "wave01a" Where spawnbot_upper TotalCount 32 MaxActive 8 SpawnCount 3 TotalCurrency 0 WaitBeforeStarting 0 WaitBetweenSpawns 2 TFBot { Class Scout Skill Easy } } WaveSpawn { Name "wave01a1" Where spawnbot TotalCount 4 MaxActive 4 SpawnCount 1 TotalCurrency 0 WaitBeforeStarting 0 WaitBetweenSpawns 18 TFBot { Template T_TFBot_Giant_Demo_Burst } } WaveSpawn { Name "wave01b" Where spawnbot TotalCount 24 MaxActive 5 SpawnCount 3 TotalCurrency 0 WaitBeforeStarting 0 WaitBetweenSpawns 1 WaitForAllDead "wave01a1" TFBot { Template T_TFBot_Demo_Burst } } WaveSpawn { Name "wave01b1" Where spawnbot TotalCount 3 MaxActive 3 SpawnCount 1 TotalCurrency 0 WaitBeforeStarting 0 WaitBetweenSpawns 20 WaitForAllDead "wave01a1" TFBot { Template T_TFBot_Giant_Soldier_Spammer } } WaveSpawn { Name "wave01c1" Where spawnbot TotalCount 3 MaxActive 3 SpawnCount 1 TotalCurrency 0 WaitBeforeStarting 0 WaitBetweenSpawns 18 WaitForAllDead "wave01b1" TFBot { Template T_TFBot_Giant_Heavyweapons Skill Easy } } WaveSpawn { Where spawnbot TotalCount 999 MaxActive 12 SpawnCount 4 TotalCurrency 0 Support 1 WaitBeforeStarting 4 WaitBetweenSpawns 0.8 WaitForAllSpawned "wave01b" TFBot { Class Pyro Skill Expert WeaponRestrictions MeleeOnly ClassIcon pyro_fireaxe_lite Name "Axequisitor" } } } // WAVE 2 [$0] Wave { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } Explanation { Line "{red}B-1000{reset} : {EEEEEE}The upgrade station will not see any action for the duration of the mission" Line "{red}B-1000{reset} : {EEEEEE}I will allocate stronger hosts for you in place of the station" Line "{red}B-1000{reset} : {FFFF00}There is a sliding scale between damage, health and speed with hosts." Line "{red}B-1000{reset} : {FFFF00}Bigger is not always better" Line "{00FF00}Allied robots this wave consist of: {66BB66}Fuel Injected Furies, Samurai Demos, Colastop Scouts, and Super Scouts" } WaveSpawn { Where spawnbot_red_hatch TotalCount 999 MaxActive 6 SpawnCount 1 TotalCurrency 0 WaitBeforeStarting 1 WaitBetweenSpawns 0.5 Support 1 RandomChoice { TFBot { Template T_TFBot_Scout_Shortstop AddCond { Name TF_COND_REPROGRAMMED } Name "Colastop Scout" Item "Crit-a-Cola" Item "Bonk Leadwear" ItemAttributes { ItemName "Crit-a-Cola" "effect bar recharge rate increased" 0.5 "mod_mark_attacker_for_death" 0 } ClassIcon red2_lite Action FetchFlag CharacterAttributes { "health from packs decreased" 0.25 } } TFBot { Template T_TFBot_Soldier_Extended_Concheror AddCond { Name TF_COND_REPROGRAMMED } ClassIcon red2_lite Action Mobber } TFBot { Template T_TFBot_Demoman_Samurai AddCond { Name TF_COND_REPROGRAMMED } StripItemSlot 0 ClassIcon red2_lite Action Mobber } TFBot { Template T_TFBot_Pyro_DragonsFury_Fuel_Injected AddCond { Name TF_COND_REPROGRAMMED } ClassIcon red2_lite Action Mobber } } } WaveSpawn { Where spawnbot_red_hatch TotalCount 999 MaxActive 2 SpawnCount 1 TotalCurrency 0 WaitBeforeStarting 1 WaitBetweenSpawns 5 Support 1 TFBot { Template T_TFBot_Giant_Scout_Fast AddCond { Name TF_COND_REPROGRAMMED } Action FetchFlag ClassIcon red2_lite CharacterAttributes { "health from packs decreased" 0.25 } } } WaveSpawn { Name "wave01a" Where spawnbot_upper TotalCount 64 MaxActive 12 SpawnCount 5 TotalCurrency 0 WaitBeforeStarting 0 WaitBetweenSpawns 0.4 TFBot { Template T_TFBot_Form1_Scout } } WaveSpawn { Name "wave01a1" Where spawnbot TotalCount 3 MaxActive 3 SpawnCount 1 TotalCurrency 0 WaitBeforeStarting 0 WaitBetweenSpawns 12 TFBot { Template T_TFBot_Giant_Soldier_Spammer_Reload } } WaveSpawn { Name "wave01a1" Where spawnbot_upper TotalCount 3 MaxActive 3 SpawnCount 1 TotalCurrency 0 WaitBeforeStarting 12 WaitBetweenSpawns 12 TFBot { Template T_TFBot_Giant_Soldier_Spammer_Reload } } WaveSpawn { Name "wave01b" Where spawnbot_upper TotalCount 12 MaxActive 4 SpawnCount 2 TotalCurrency 0 WaitBeforeStarting 0 WaitBetweenSpawns 3 WaitForAllDead "wave01a1" TFBot { Class Heavy Skill Easy } } WaveSpawn { Name "wave01b" Where spawnbot TotalCount 24 MaxActive 6 SpawnCount 3 TotalCurrency 0 WaitBeforeStarting 0 WaitBetweenSpawns 1 WaitForAllDead "wave01a1" TFBot { Class Soldier Skill Normal } } WaveSpawn { Name "wave01b1" Where spawnbot TotalCount 4 MaxActive 4 SpawnCount 1 TotalCurrency 0 WaitBeforeStarting 0 WaitBetweenSpawns 16 WaitForAllDead "wave01a1" TFBot { Template T_TFBot_Giant_Scout_Baseball_Armored } } WaveSpawn { Name "wave01c1" Where spawnbot TotalCount 5 MaxActive 5 SpawnCount 1 TotalCurrency 0 WaitBeforeStarting 0 WaitBetweenSpawns 15 WaitForAllDead "wave01b1" TFBot { Template T_TFBot_Giant_Demo_SustainBarrage } } WaveSpawn { Where spawnbot TotalCount 999 MaxActive 12 SpawnCount 3 TotalCurrency 0 Support 1 WaitBeforeStarting 2 WaitBetweenSpawns 0.2 WaitForAllSpawned "wave01b" TFBot { Template T_TFBot_Demoman_Knight } } } }