#base robot_standard.pop #base robot_giant.pop #base robot_scroob.pop #base custom_upgrades_scroob.pop // WAVE 1 - 0$ + B(100$) // ------------------- // TOTAL - 0$ + B(100$) WaveSchedule { StartingCurrency 800 RespawnWaveTime 3 CanBotsAttackWhileInSpawnRoom no NoRomevisionCosmetics 1 AllowBotExtraSlots 1 RobotLimit 45 //reconfigurer NoRedBotsRandomCrit 1 BotsUsePlayerTeleporters 0 FixWavespawnReserveSlotsOnDisabledSpawnbot 1 // Fix wavespawn reserving slots even when spawnbot is disabled. There isn't much reason to not use this LuaScriptFile "scripts/bot_clone_commander_logic.lua" PrecacheSound "metal_popper_giant_mode_active_1.mp3" PrecacheSound "metal_popper_giant_mode_active_2.mp3" PrecacheSound "metal_popper_giant_mode_active_3.mp3" PrecacheSound "metal_popper_giant_mode_active_4.mp3" PrecacheSound "metal_popper_giant_mode_active_5.mp3" PrecacheSound "shrapnelgun_fire.mp3" PrecacheSound "abby_pryor_clone_drone_in_the_hyperdome_ost_cyclord_theme.mp3" PrecacheSound "abby_pryor_clone_drone_in_the_hyperdome_ost_captain_theme.mp3" PrecacheModel "models/bots/sniper_boss/bot_sniper_boss.mdl" PrecacheModel "models\props_mvm\robot_spawnpoint_warning.mdl" Templates { T_TFBot_Soldier_Chief_Direct_Precise { Class Soldier Skill Expert Name "Clone Commander" Item "The Direct Hit" Health 22000 WeaponRestrictions PrimaryOnly Attributes HoldFireUntilFullReload Attributes MiniBoss ClassIcon soldier_directhit_giant Item "Soldier's Stash" Item "Head Banger" Attributes UseBossHealthBar AlwaysGlow 1 WeaponResist { "TF_WEAPON_MINIGUN" 0.6 //fuck you, play a more interesting class } ItemModel { ItemName "Soldier's Stash" //RAF Model "models/player/items/soldier/grfs_soldier.mdl" } ItemAttributes { ItemName "Soldier's Stash" "attachment size" 1.35 } ItemAttributes { ItemName "The Direct Hit" "faster reload rate" 0.2 "fire rate bonus" 2 "damage bonus" 3 } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.4 "airblast vulnerability multiplier" 0.4 "override footstep sound set" 3 } ShootTemplate { Name "airstrikeProjectile" AttachToProjectile 1 ItemName "the direct hit" } } T_TFBot_Soldier_Chief_Burst_Reload_On_Hit { Class Soldier Skill Normal Name "Clone Commander" ClassIcon soldier_spammer_burstfire Health 22000 WeaponRestrictions PrimaryOnly Attributes HoldFireUntilFullReload Attributes MiniBoss Item "Soldier's Stash" Item "Head Banger" Attributes UseBossHealthBar AlwaysGlow 1 Item "The Air Strike" WeaponResist { "TF_WEAPON_MINIGUN" 0.6 //fuck you, play a more interesting class } ItemModel { ItemName "Soldier's Stash" //RAF Model "models/player/items/soldier/grfs_soldier.mdl" } ItemAttributes { ItemName "Soldier's Stash" "attachment size" 1.35 } ItemAttributes { ItemName "The Air Strike" "fire input on hit" "popscript^$launcherReloadOnKill^" "preserve ubercharge" 1 //one rocket back per hit "faster reload rate" 0.6 "fire rate bonus" 0.1 "clip size upgrade atomic" 5.0 "Projectile speed increased" 0.65 "damage penalty" 0.7 //30% damage penalty } CharacterAttributes { "damage force reduction" 0.4 "airblast vulnerability multiplier" 0.4 "override footstep sound set" 3 "move speed bonus" 0.5 } } T_TFBot_Soldier_Chief_Spammer_Indirect { Class Soldier Skill Expert Name "Clone Commander" Health 22000 ClassIcon soldier_spammer_giant WeaponRestrictions PrimaryOnly Attributes HoldFireUntilFullReload Attributes MiniBoss Item "Soldier's Stash" Item "Head Banger" Attributes UseBossHealthBar AlwaysGlow 1 WeaponResist { "TF_WEAPON_MINIGUN" 0.6 //fuck you, play a more interesting class } ItemModel { ItemName "Soldier's Stash" //RAF Model "models/player/items/soldier/grfs_soldier.mdl" } ItemAttributes { ItemName "Soldier's Stash" "attachment size" 1.35 } ItemAttributes { ItemName "TF_WEAPON_ROCKETLAUNCHER" "faster reload rate" -0.8 "fire rate bonus" 0.3 "projectile gravity" 300 "projectile spread angle penalty" 5 } CharacterAttributes { "damage force reduction" 0.4 "airblast vulnerability multiplier" 0.4 "override footstep sound set" 3 "move speed bonus" 0.5 } SpawnTemplate { Name "grapid_laser_eye" } } T_TFBot_Soldier_Chief_Direct_Nuke { Class Soldier Skill Expert Name "Clone Commander" Health 22000 Item "The Direct Hit" ClassIcon soldier_directhit_giant WeaponRestrictions PrimaryOnly Attributes HoldFireUntilFullReload Attributes MiniBoss Item "Soldier's Stash" Item "Head Banger" Attributes UseBossHealthBar AlwaysGlow 1 WeaponResist { "TF_WEAPON_MINIGUN" 0.6 //fuck you, play a more interesting class } ItemModel { ItemName "Soldier's Stash" //RAF Model "models/player/items/soldier/grfs_soldier.mdl" } ItemAttributes { ItemName "Soldier's Stash" "attachment size" 1.35 } ItemAttributes { ItemName "The Direct Hit" "faster reload rate" 0.2 "fire rate bonus" 2.25 "damage bonus" 0.75 //makes blast radius less harmful "mult dmg direct hit" 3 "hand scale" 1.25 "dmg bonus vs buildings" 4 //so this template gets assblasted less by the wrangler existing "blast radius increased" 1.5 "use large smoke explosion" 1 "mult dmg vs giants" 2 //so reflects give him the big ouchie more. } CharacterAttributes { "damage force reduction" 0.4 "airblast vulnerability multiplier" 0.4 "override footstep sound set" 3 "move speed bonus" 0.5 } SpawnTemplate "clone_commander_final_pt" } } CustomWeapon { //Cloned from goliatron on numerator "clone_commander_eyeblast" { OriginalItemName "TF_WEAPON_SCATTERGUN" "ragdolls become ash" 1 "sniper fires tracer" 1 "no damage falloff" 1 "damage bonus" 20 "bullets per shot bonus" 0.111111111111 // 1/9 "weapon spread bonus" 0.01 "custom weapon fire sound" "=65|ambient/energy/weld1.wav" } "clone_commander_cluster_bomb" { OriginalItemName "tf_weapon_grenadelauncher" "Projectile speed decreased" 0.5 "projectile spread angle penalty" 30 "damage bonus" 1.5 "grenade not explode on impact" 1 } "clone_commander_airstrike" { OriginalItemName "tf_weapon_rocketlauncher" "Projectile speed decreased" 0.5 "projectile spread angle penalty" 30 "damage bonus" 1.5 } } ExtraSpawnPoint //W2 OR gate spawn mirror { Name "spawnbot_gated_right" TeamNum 5 X "1307.99" Y "-41.90" Z "2107.35" } ExtraSpawnPoint //W2 OR gate spawn mirror { Name "spawnbot_gated_left" TeamNum 5 X "1364.1" Y "2030.39" Z "2114.93" } ExtraSpawnPoint //Clone Commander Support spawn mirrors { Name "spawnbot_support1_right" TeamNum 5 X "1307.99" Y "-41.90" Z "2107.35" } ExtraSpawnPoint //Clone Commander Support spawn mirrors { Name "spawnbot_support2_right" TeamNum 5 X "1307.99" Y "-41.90" Z "2107.35" } ExtraSpawnPoint //Clone Commander Support spawn mirrors { Name "spawnbot_support3_right" TeamNum 5 X "1307.99" Y "-41.90" Z "2107.35" } ExtraSpawnPoint //Clone Commander Support spawn mirrors { Name "spawnbot_support4_right" TeamNum 5 X "1307.99" Y "-41.90" Z "2107.35" } ExtraSpawnPoint //Clone Commander Support spawn mirrors { Name "spawnbot_support1_center" TeamNum 5 X "1466.08" Y "1143.6" Z "2281.68" } ExtraSpawnPoint //Clone Commander Support spawn mirrors { Name "spawnbot_support2_center" TeamNum 5 X "1466.08" Y "1143.6" Z "2281.68" } ExtraSpawnPoint //Clone Commander Support spawn mirrors { Name "spawnbot_support3_center" TeamNum 5 X "1466.08" Y "1143.6" Z "2281.68" } ExtraSpawnPoint //Clone Commander Support spawn mirrors { Name "spawnbot_support4_center" TeamNum 5 X "1466.08" Y "1143.6" Z "2281.68" } ExtraSpawnPoint //Clone Commander Support spawn mirrors { Name "spawnbot_support1_left" TeamNum 5 X "1364.1" Y "2030.39" Z "2114.93" } ExtraSpawnPoint //Clone Commander Support spawn mirrors { Name "spawnbot_support2_left" TeamNum 5 X "1364.1" Y "2030.39" Z "2114.93" } ExtraSpawnPoint //Clone Commander Support spawn mirrors { Name "spawnbot_support3_left" TeamNum 5 X "1364.1" Y "2030.39" Z "2114.93" } ExtraSpawnPoint //Clone Commander Support spawn mirrors { Name "spawnbot_support4_left" TeamNum 5 X "1364.1" Y "2030.39" Z "2114.93" } PointTemplates { misc_logic { logic_relay { "targetname" "support_wipe" "onspawn" "spawnbot_support*,Disable,,0,-1" "onspawn" "spawnbot_gated*,Disable,,0,-1" "ontrigger" "spawnbot_support*,Disable,,0,-1" } logic_relay { "targetname" "support1_activate" "ontrigger" "spawnbot_support1*,Enable,,0,1" } logic_relay { "targetname" "support2_activate" "ontrigger" "spawnbot_support2*,Enable,,0,1" } logic_relay { "targetname" "support3_activate" "ontrigger" "spawnbot_support3*,Enable,,0,1" } logic_relay { "targetname" "support4_activate" "ontrigger" "spawnbot_support4*,Enable,,0,1" } logic_relay { "targetname" "nuke_soldier_funni" "OnTrigger" "player$DisplayTextChat{99CCFF}Giant Nuke Soldier{reset} : {fbeccf}A well regulated Militia, being necessary to the security of a free State, the right of the people to keep and bear Arms, shall not be infringed01" "OnTrigger" "player$PlaySoundToSelfvo/mvm/mght/soldier_mvm_m_hatoverhearttaunt03.mp301" } logic_relay { //old unicode heart: ❤ "targetname" "CC_Phase1" "ontrigger" "player,$DisplayTextChat,{99CCFF}Clones Remaining: {FF0000}♥ ♥ ♥ ♥ ♥,0.25,-1" "ontrigger" "player,$DisplayTextChat,{00FF00}+Damage +Projectile Speed +Airstrike On Hit{FF0000} -Firing Speed,0,-1" "ontrigger" "player$DisplayTextChat{BBFFBB}Now Playing:{BBBBFF}Cyclord's Theme, Abby Pryor, Clone Drone In The Hyperdome OST1-1" "onTrigger" "w5_music_player,PlaySound,,0,-1" } logic_relay { "targetname" "CC_Phase2" "ontrigger" "player,$DisplayTextChat,{99CCFF}Clones Remaining: {FF0000}♥ ♥ ♥ ♥,0.25,-1" "ontrigger" "player,$DisplayTextChat,{00FF00}+Reload On Hit +Clip Size{FF0000} +Downtime -Damage,0,-1" } logic_relay { "targetname" "CC_Phase3" "ontrigger" "player,$DisplayTextChat,{99CCFF}Clones Remaining: {FF0000}♥ ♥ ♥,0.25,-1" "ontrigger" "player,$DisplayTextChat,{00FF00}+Firing Speed +Laser Eyes{FF0000} -Precision,0,-1" } logic_relay { "targetname" "CC_Phase4" "ontrigger" "player,$DisplayTextChat,{99CCFF}Clones Remaining: {FF0000}NONE,0.25,-1" "ontrigger" "player,$DisplayTextChat,{00FF00}+Numbers {FF0000}-Durability,0,-1" "ontrigger" "player$DisplayTextChat{BBFFBB}Now Playing:{BBBBFF}The Captain's Theme, Abby Pryor, Clone Drone In The Hyperdome OST1-1" "OnTrigger" "w5_music_player,Volume,0.01,0,-1" "OnTrigger" "w5_music_player_final,PlaySound,,0,-1" } logic_relay { "targetname" "CC_Phase5" "ontrigger" "player,$DisplayTextChat,{99CCFF}Clones Remaining: {FF0000}LAST CLONE,0,-1" "ontrigger" "player,$DisplayTextChat,{00FF00}+Damage +Projectile Speed +Blast Radius{FF0000}-Firing Speed,0,-1" } logic_relay { "targetname" "w5_music_end" "OnTrigger" "w5_music_player_final,Volume,0.01,0,-1" } //Credit to Myeh (known as Sword Bot Mk 3 on youtube), who is the one who ripped these //Videos these tracks came from: //https://www.youtube.com/watch?v=LQAyH7kFwXo //https://www.youtube.com/watch?v=-zhfbFJf6iI ambient_generic { "targetname" "w5_music_player" "message" "#abby_pryor_clone_drone_in_the_hyperdome_ost_cyclord_theme.mp3" "health" "10" "radius" "69420" "spawnflags" "17" } ambient_generic { "targetname" "w5_music_player_final" "message" "#abby_pryor_clone_drone_in_the_hyperdome_ost_captain_theme.mp3" "health" "10" "radius" "69420" "spawnflags" "17" } //Copied from claudz's utility set up, see the comment on goopmakershort for source file and credit info_target { "targetname" "randomCode" "origin" "0 0 0" } OnSpawnOutput { Target "randomCode" Action "RunScriptCode" //removed bread bite damage because it is never used here Param " ::custom_acid_dmg <- SpawnEntityFromTable(`info_target`,{classname = `infection_acid_puddle`}); " Delay 0.0 } filter_activator_class { "targetname" "filter_is_player" "Negated" "0" "filterclass" "player" } filter_activator_tfteam { "targetname" "filter_is_blue" "Negated" "0" "TeamNum" "3" } filter_activator_tfteam { "targetname" "filter_is_red" "Negated" "0" "TeamNum" "2" } filter_multi { "targetname" "filter_is_red_player" "Negated" "0" "FilterType" "0" //and "Filter01" "filter_is_red" "Filter02" "filter_is_player" } filter_tf_condition { "targetname" "_filter_is_not_ubered" "Negated" "1" "condition" "5" //medigun uber } filter_tf_condition { "targetname" "_filter_is_not_ubered2" "Negated" "1" "condition" "52" //canteen uber } filter_tf_condition { "targetname" "_filter_is_not_ubered3" "Negated" "1" "condition" "51" //hidden uber } filter_tf_condition { "targetname" "_filter_is_not_ubered4" "Negated" "1" "condition" "57" //WoF uber } filter_multi { // is red player, AND is NOT ubered "targetname" "filter_is_red_not_ubered" "Negated" "0" "FilterType" "0" //and "Filter01" "filter_is_red" "Filter02" "_filter_is_not_ubered" "Filter03" "_filter_is_not_ubered2" "Filter04" "_filter_is_not_ubered3" "Filter05" "_filter_is_not_ubered4" "Filter06" "filter_is_player" } filter_multi { "targetname" "filter_not_ubered" "Negated" "0" "FilterType" "0" "Filter01" "_filter_is_not_ubered" "Filter02" "_filter_is_not_ubered2" "Filter03" "_filter_is_not_ubered3" "Filter04" "_filter_is_not_ubered4" "Filter05" "filter_is_player" } } danger_indicator { prop_dynamic { "model" "models/props_gameplay/cap_circle_320.mdl" "disableshadows" 1 "modelscale" "0.625" "targetname" danger_indicator "skin" 2 "origin" "0 0 -0.2" } prop_dynamic { "model" "models/props_gameplay/cap_circle_320.mdl" "disableshadows" 1 "modelscale" "0.625" "targetname" danger_indicator "skin" 2 "origin" "0 0 15" } } grapid_laser_eye { prop_dynamic { "model" "models/props_gameplay/cap_circle_320.mdl" "disableshadows" 1 "modelscale" "0.75" "targetname" biden_blast_indicator1 "skin" 2 "origin" "10 0 120" "angles" "80 0 0" } prop_dynamic { "model" "models/props_gameplay/cap_circle_320.mdl" "disableshadows" 1 "modelscale" "0.50" "targetname" biden_blast_indicator2 "skin" 2 "origin" "20 0 120" "angles" "80 0 0" } prop_dynamic { "model" "models/props_gameplay/cap_circle_320.mdl" "disableshadows" 1 "modelscale" "0.25" "targetname" biden_blast_indicator3 "skin" 0 "origin" "40 0 120" "angles" "80 0 0" } prop_dynamic { "model" "models/props_gameplay/cap_circle_320.mdl" "disableshadows" 1 "modelscale" "0.15" "targetname" biden_blast_indicator4 "skin" 0 "origin" "80 0 120" "angles" "80 0 0" } prop_dynamic { "model" "models/props_gameplay/cap_circle_320.mdl" "disableshadows" 1 "modelscale" "0.075" "targetname" biden_blast_indicator5 "skin" 0 "origin" "100 0 120" "angles" "80 0 0" } prop_dynamic { "model" "models/props_gameplay/cap_circle_320.mdl" "disableshadows" 1 "modelscale" "0.75" "targetname" biden_blast_indicator1 "skin" 2 "origin" "10 0 120" "angles" "100 0 0" } prop_dynamic { "model" "models/props_gameplay/cap_circle_320.mdl" "disableshadows" 1 "modelscale" "0.50" "targetname" biden_blast_indicator2 "skin" 2 "origin" "20 0 120" "angles" "100 0 0" } prop_dynamic { "model" "models/props_gameplay/cap_circle_320.mdl" "disableshadows" 1 "modelscale" "0.25" "targetname" biden_blast_indicator3 "skin" 0 "origin" "40 0 120" "angles" "100 0 0" } prop_dynamic { "model" "models/props_gameplay/cap_circle_320.mdl" "disableshadows" 1 "modelscale" "0.15" "targetname" biden_blast_indicator4 "skin" 0 "origin" "80 0 120" "angles" "100 0 0" } prop_dynamic { "model" "models/props_gameplay/cap_circle_320.mdl" "disableshadows" 1 "modelscale" "0.075" "targetname" biden_blast_indicator5 "skin" 0 "origin" "100 0 120" "angles" "100 0 0" } tf_point_weapon_mimic { "targetname" "biden_blast" "origin" "0 0 120" "angles" "0 0 0" "teamnum" "3" "$weaponname" "clone_commander_eyeblast" } logic_timer { "targetname" "biden_blast_time" "OnTimer" "biden_blast_indicator*,Enable,,0.01,-1" "OnTimer" "biden_blast_indicator*,Enable,,0.01,-1" "OnTimer" "biden_blast_indicator1,SetModelScale,0.65625,0.25,-1" "OnTimer" "biden_blast_indicator1,SetModelScale,0.5625,0.50,-1" "OnTimer" "biden_blast_indicator1,SetModelScale,0.46875,0.75,-1" "OnTimer" "biden_blast_indicator1,SetModelScale,0.375,1,-1" "OnTimer" "biden_blast_indicator1,SetModelScale,0.28125,1.25,-1" "OnTimer" "biden_blast_indicator1,SetModelScale,0.1875,1.5,-1" "OnTimer" "biden_blast_indicator1,SetModelScale,0.09375,1.75,-1" "OnTimer" "biden_blast_indicator2,SetModelScale,0.4375,0.25,-1" "OnTimer" "biden_blast_indicator2,SetModelScale,0.375,0.50,-1" "OnTimer" "biden_blast_indicator2,SetModelScale,0.3125,0.75,-1" "OnTimer" "biden_blast_indicator2,SetModelScale,0.25,1,-1" "OnTimer" "biden_blast_indicator2,SetModelScale,0.1875,1.25,-1" "OnTimer" "biden_blast_indicator2,SetModelScale,0.125,1.5,-1" "OnTimer" "biden_blast_indicator2,SetModelScale,0.0625,1.75,-1" "OnTimer" "biden_blast_indicator*,Disable,,2,-1" "OnTimer" "biden_blast_indicator1,SetModelScale,0.75,2.1,-1" "OnTimer" "biden_blast_indicator2,SetModelScale,0.5,2.1,-1" "OnTimer" "biden_blast_indicator3,SetModelScale,0.25,2.1,-1" "OnTimer" "biden_blast_indicator4,SetModelScale,0.15,2.1,-1" "OnTimer" "biden_blast,fireonce,,2,-1" "OnTimer" "biden_blast,fireonce,,2.2,-1" "OnTimer" "biden_blast,fireonce,,2.4,-1" "RefireTime" "4" } info_target { "targetname" "CenterSpawnBeacon" "origin" "0 0 0.2" } OnSpawnOutput { Target "CenterSpawnBeacon" Action "SetParent" Param "!activator" Repeats 1 } OnSpawnOutput { Target "biden_blast" Action $SetOwner Param "@p@CenterSpawnBeacon" Delay 0 } OnSpawnOutput { Target "popscript" Action "$LaserEyesLogic" Delay 0.01 } } greload_squad_beacons { info_target { "targetname" "CenterSpawnBeaconSquad" "origin" "0 0 0.2" } info_target { "targetname" "LeftSpawnBeaconSquad" "origin" "80 60 0.2" } info_target { "targetname" "LeftFarSpawnBeaconSquad" "origin" "20 100 0.2" } info_target { "targetname" "RightSpawnBeaconSquad" "origin" "80 -60 0.2" } info_target { "targetname" "RightFarSpawnBeaconSquad" "origin" "20 -100 0.2" } info_target { "targetname" "ForwardSpawnBeaconSquad" "origin" "80 0 0.2" } prop_dynamic { "model" "models/props_gameplay/cap_circle_320.mdl" "disableshadows" 1 "modelscale" "0.15" "targetname" squad_indicator "skin" 2 "origin" "80 0 15" } prop_dynamic { "model" "models/props_gameplay/cap_circle_320.mdl" "disableshadows" 1 "modelscale" "0.15" "targetname" squad_indicator "skin" 2 "origin" "80 -60 15" } prop_dynamic { "model" "models/props_gameplay/cap_circle_320.mdl" "disableshadows" 1 "modelscale" "0.15" "targetname" squad_indicator "skin" 2 "origin" "80 60 15" } prop_dynamic { "model" "models/props_gameplay/cap_circle_320.mdl" "disableshadows" 1 "modelscale" "0.15" "targetname" squad_indicator "skin" 2 "origin" "20 100 15" } prop_dynamic { "model" "models/props_gameplay/cap_circle_320.mdl" "disableshadows" 1 "modelscale" "0.15" "targetname" squad_indicator "skin" 2 "origin" "20 -100 15" } } clusterBombProjectile { KeepAlive 1 tf_point_weapon_mimic { "targetname" "clustershooter" "origin" "0 0 5" "angles" "-90 0 0" "teamnum" "3" "$weaponname" "clone_commander_cluster_bomb" } OnParentKilledOutput { Target "clustershooter" Action "fireonce" Delay 0.01 } OnParentKilledOutput { Target "clustershooter" Action "fireonce" Delay 0.02 } OnParentKilledOutput { Target "clustershooter" Action "fireonce" Delay 0.03 } OnParentKilledOutput { Target "clustershooter" Action "fireonce" Delay 0.01 } OnParentKilledOutput { Target "clustershooter" Action "fireonce" Delay 0.02 } OnParentKilledOutput { Target "clustershooter" Action "fireonce" Delay 0.03 } OnParentKilledOutput { Target "clustershooter" Action "kill" Delay 0.05 } } airstrikeProjectile { KeepAlive 1 tf_point_weapon_mimic { "targetname" "clustershooter" "origin" "0 0 700" "angles" "90 0 0" "teamnum" "3" "$weaponname" "clone_commander_airstrike" } prop_dynamic { "model" "models\props_mvm\robot_spawnpoint_warning.mdl" "disableshadows" 1 "modelscale" "6" "targetname" clusterWarning "skin" 0 "origin" "0 0 700" "angles" "180 0 0" "startdisabled" 1 } prop_dynamic { "model" "models\props_mvm\robot_spawnpoint_warning.mdl" "disableshadows" 1 "modelscale" "6" "targetname" clusterWarning "skin" 0 "origin" "0 0 -100" "angles" "0 0 0" "startdisabled" 1 } OnParentKilledOutput { Target "clusterWarning" Action "Enable" Delay 0.01 } OnParentKilledOutput { Target "clustershooter" Action "fireonce" Delay 1 } OnParentKilledOutput { Target "clustershooter" Action "fireonce" Delay 1 } OnParentKilledOutput { Target "clustershooter" Action "fireonce" Delay 1.2 } OnParentKilledOutput { Target "clustershooter" Action "fireonce" Delay 1.2 } OnParentKilledOutput { Target "clustershooter" Action "fireonce" Delay 1.4 } OnParentKilledOutput { Target "clustershooter" Action "fireonce" Delay 1.4 } OnParentKilledOutput { Target "clustershooter" Action "fireonce" Delay 1.6 } OnParentKilledOutput { Target "clustershooter" Action "fireonce" Delay 1.6 } OnParentKilledOutput { Target "clustershooter" Action "fireonce" Delay 1.8 } OnParentKilledOutput { Target "clustershooter" Action "fireonce" Delay 1.8 } OnParentKilledOutput { Target "clusterWarning" Action "kill" Delay 1.81 } OnParentKilledOutput { Target "clustershooter" Action "kill" Delay 1.81 } } //This pair of templates has been made by Claudz, for night of the living bread (https://testing.potato.tf/tf/scripts/population/mvm_boogge_rc3d_adv_night_of_the_living_bread.pop) //Used with permission goopMakerShort { KeepAlive 1 //RemoveIfKilled "makercore" info_target { "targetname" "makercore" "origin" "0 0 100" "origin" "$Offset$" } env_entity_maker { "targetname" "goop_maker" "entitytemplate" "goopShort" "$autoparent" "0" "$modules" "fakeparent" "$SetFakeParent" "makercore" "$positiononly" "1" "origin" "0 0 100" "origin" "$Offset$" } OnSpawnOutput { Target "goospawner" Action "$SetFakeParent" Param "makercore" Delay 0 } logic_relay { "targetname" "goospawner" "OnTrigger" "goop_maker,ForceSpawn,,0,-1" "OnTrigger" "!self,Trigger,,0.8,-1" "spawnflags" "2" } OnSpawnOutput { Target "goospawner" Action "Trigger" Delay 2.5 Delay "$Fuse$" } OnSpawnOutput { Target "goop_maker" Action "ForceSpawn" Delay 1.5 } // OnParentKilledOutput // { // Target "goot_maker" // Action "RunScriptCode" // Param "ClientPrint(null,3,`testtest`)" // Delay 0.0 // } OnParentKilledOutput { Target "goop_maker" Action "ForceSpawn" Delay 0.0 } OnParentKilledOutput { Target "makercore" Action "kill" Delay 0.2 } OnParentKilledOutput { Target "goop_maker" Action "kill" Delay 0.1 } OnParentKilledOutput { Target "goospawner" Action "kill" Delay 0.1 } } goopShort { //RemoveIfKilled "goopPhys" OnSpawnOutput { Target "goologic" Action "Trigger" Delay 0.0 } logic_relay { "targetname" "goologic" "OnTrigger" "goopProp,$SetKey$renderfx,7,0.9,-1" "OnTrigger" "goopProp,$SetKey$renderfx,0,2.6,-1" "OnTrigger" "goopProp,$SetKey$renderamt,200,2.6,-1" "OnTrigger" "goopPhys,DisableMotion,,3,-1" "OnTrigger" "goopHurt,Enable,,1.0,-1" "OnTrigger" "goopBubble,Start,,0.5,-1" "OnTrigger" "goopSplash,Start,,0.2,-1" "OnTrigger" "goopBubble,Stop,,1,-1" "OnTrigger" "goopHurt,Disable,,4,-1" "OnTrigger" "goopProp,$SetKey$renderfx,5,2.7,-1" "OnTrigger" "goopPhys,kill,,5,-1" "OnTrigger" "goopProp,kill,,5,-1" "OnTrigger" "goopHurt,kill,,5,-1" "OnTrigger" "goopSplash,kill,,5,-1" "OnTrigger" "goopBubble,kill,,5,-1" "OnTrigger" "!self,kill,,5.1,-1" "spawnflags" "1" } prop_dynamic { "targetname" "goopProp" "parentname" "goopPhys" "model" "models/props_invasion/2fort/chem_spill_1.mdl" "skin" "0" "origin" "0 0 2" "angles" "0 0 0" "modelscale" "1.0" "solid" "0" "rendermode" "1" "renderfx" "0" "renderamt" "0" "rendercolor" "235 255 66" "disableshadows" "1" } prop_dynamic { "targetname" "goopPropBack" "parentname" "goopPhys" "model" "models/props_invasion/2fort/chem_spill_1.mdl" "skin" "0" "origin" "0 0 -2" "angles" "180 0 0" "modelscale" "1.0" "solid" "0" "rendermode" "1" "renderfx" "0" "renderamt" "0" "rendercolor" "235 255 66" "disableshadows" "1" } // OnSpawnOutput // { // Target "goopProp" // Action "SetLocalAngles" // Param "$$='0 '..string(randomint(0, 360))..' 0'" // Delay 0.1 // } prop_physics_multiplayer { "targetname" "goopPhys" "model" "models/props_mvm/sack_stack_pallet.mdl" //"models/props_hydro/barrel_crate_half.mdl" "modelscale" "0.4" "rendermode" "10" "renderamt" "0" "physicsmode" "2" "origin" "0 0 0" "angles" "0 0 0" "massScale" "4.0" "disableshadows" "1" //"spawnflags" "4194304" "spawnflags" "4" } // trigger_hurt // { // "parentname" "goopPhys" // "targetname" "goopHurt" // "origin" "0 0 0" // "angles" "0 0 0" // "mins" "-45 -20 -45" // "maxs" "45 15 45" // "damagetype" "262144" // "damage" "2" // "StartDisabled" "1" // "spawnflags" "64" // "filtername" "filter_is_red_not_ubered" // "OnHurtPlayer" "!activator,bleedplayer,2,0,-1" // "OnHurtPlayer" "!activator,$AddCond,24 1.5,0,-1" // "OnHurtPlayer" "!activator,$AddCond,48 1.5,0,-1" // //"OnHurtPlayer" "!activator,$AddCond,32 1.5,0,-1" // //"OnHurtPlayer" "!activator,$PlaySoundToSelf,=40|weapons\grappling_hook_impact_flesh.wav,0,-1" // } trigger_multiple { "parentname" "goopPhys" "targetname" "goopHurt" "origin" "0 0 0" "angles" "0 0 0" "mins" "-45 -20 -45" "maxs" "45 15 45" "spawnflags" "1" "wait" "0.5" //"OnTrigger" "!activator,bleedplayer,0.1,0,-1" //"OnTrigger" "!activator,$AddCond,24 1.5,0,-1" "OnTrigger" "!activator,$AddCond,48 1.5,0,-1" "OnTrigger" "!activatorRunScriptCodeself.TakeDamageEx(custom_acid_dmg, activator, null, Vector(), Vector(), 5, 0)0-1" "OnTrigger" "!activator,$PlaySoundToSelf,=30|weapons\3rd_degree_hit_01.wav,0,-1" "filtername" "filter_is_red_not_ubered" } trigger_multiple { "parentname" "goopPhys" "targetname" "goopHurt" "origin" "0 0 0" "angles" "0 0 0" "mins" "-45 -20 -45" "maxs" "45 15 45" "spawnflags" "1" "wait" "0.2" "OnTrigger" "!activator,$AddCond,32 1,0,-1" "filtername" "filter_is_player" } info_particle_system { "targetname" "goopBubble" "parentname" "goopProp" "origin" "0 0 0" "effect_name" "utaunt_bubbles_glow_green_parent" "start_active" "0" } info_particle_system { "targetname" "goopSplash" "parentname" "goopProp" "origin" "0 0 0" "effect_name" "breadjar_impact" "start_active" "0" } } } //absent in the three example missions for this map for some unfathomable reason. Mission { Where spawnbot Objective DestroySentries InitialCooldown 35 BeginAtWave 1 RunForThisManyWaves 6 CooldownTime 40 DesiredCount 1 TFBot { Template T_TFBot_SentryBuster } } Mission { Where spawnbot Objective Spy InitialCooldown 10 BeginAtWave 4 RunForThisManyWaves 1 CooldownTime 25 DesiredCount 3 TFBot { Class Spy Skill Expert } } SpawnTemplate "misc_logic" // WAVE 1 [$500] Wave { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } Explanation { Line "{FFAAFF}The caustic bots this wave are using {AAFF00}Bread Monster Extract{FFAAFF} instead of their usual washable chemicals" Line "{FFAAFF}They will leave {FF77AA}damaging puddles on the floor{FFAAFF} that will {FFFF00}give both you and the robots a speed boost" Line "{FFAAFF}However, they will not coat you in jarate unlike the all natural kind." } // [$0] WaveSpawn { Name "wave01a1" Where spawnbot TotalCount 9 MaxActive 6 SpawnCount 3 TotalCurrency 75 WaitBeforeStarting 0 WaitBetweenSpawns 15 Squad { TFBot { Template T_TFBot_Giant_Soldier_Spammer_Reload_Acid ShootTemplate { Name "goopMakerShort" AttachToProjectile 1 ItemName "Upgradeable TF_WEAPON_ROCKETLAUNCHER" } ItemAttributes { ItemName "Upgradeable TF_WEAPON_ROCKETLAUNCHER" "projectile trail particle" "gas_can_drips_blue" "attach particle effect" 702 "bleeding duration" 1 "Blast radius increased" 0.01 } } TFBot { Template T_TFBot_Medic_Battalion } TFBot { Template T_TFBot_Medic_Battalion } } } // [$0] WaveSpawn { Name "wave01a" Where spawnbot_left Where spawnbot_right TotalCount 30 MaxActive 8 SpawnCount 3 TotalCurrency 75 WaitBeforeStarting 0 WaitBetweenSpawns 0.6 TFBot { Template T_TFBot_Pyro_Flaregun Skill Normal } } // Wait for w1 commons to spawn, and for w1 giant combos to die before continuing WaveSpawn { Name "wave01Signaller" TotalCount 0 SpawnCount 0 WaitBeforeStarting 2 WaitForAllDead "wave01a1" } WaveSpawn { Name "wave01Signaller" TotalCount 0 SpawnCount 0 WaitBeforeStarting 2 WaitForAllSpawned "wave01a" } // [$0] WaveSpawn { Name "wave01b" Where spawnbot_left TotalCount 24 MaxActive 8 SpawnCount 5 TotalCurrency 150 WaitBeforeStarting 0 WaitBetweenSpawns 1.2 WaitForAllDead "wave01Signaller" TFBot { Class Scout Skill Easy } } // [$0] WaveSpawn { Name "wave01b" Where spawnbot_left TotalCount 12 MaxActive 5 SpawnCount 2 TotalCurrency 75 WaitBeforeStarting 0 WaitBetweenSpawns 1.8 WaitForAllDead "wave01Signaller" TFBot { Template T_TFBot_Demo_Acid_Loch ShootTemplate { Name "goopMakerShort" AttachToProjectile 1 ItemName "the loch-n-load" } ItemAttributes { ItemName "the loch-n-load" "bleeding duration" 1 "Blast radius increased" 0.01 } } } // [$0] WaveSpawn { Name "wave01b1" Where spawnbot TotalCount 3 MaxActive 3 SpawnCount 1 TotalCurrency 75 WaitBeforeStarting 0 WaitBetweenSpawns 12 WaitForAllDead "wave01Signaller" TFBot { Template T_TFBot_Giant_Pyro Attributes AlwaysFireWeapon } } // [$0] WaveSpawn { Name "wave01c1" Where spawnbot TotalCount 3 MaxActive 3 SpawnCount 1 TotalCurrency 75 WaitBeforeStarting 12 WaitBetweenSpawns 18 WaitForAllSpawned "wave01b1" Squad { TFBot { Template T_TFBot_Giant_Demo_Acid_Loch ShootTemplate { Name "goopMakerShort" AttachToProjectile 1 ItemName "the loch-n-load" } ItemAttributes { ItemName "the loch-n-load" "bleeding duration" 1 "Blast radius increased" 0.01 } } } } // [$0] WaveSpawn { Name "wave01c" Where spawnbot TotalCount 12 MaxActive 5 SpawnCount 3 TotalCurrency 25 WaitBeforeStarting 0 WaitBetweenSpawns 2 WaitForAllDead "wave01b1" Support Limited TFBot { Class Heavy Skill Easy } } // [$0] WaveSpawn { Where spawnbot_left Where spawnbot_right TotalCount 50 MaxActive 6 SpawnCount 3 TotalCurrency 50 WaitBeforeStarting 7 WaitBetweenSpawns 2 WaitForAllSpawned "wave01b" Support 1 TFBot { Template T_TFBot_Demoman_Knight } } } // WAVE 2 [$500] Wave { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } // [$0] WaveSpawn { Name "wave02a1" Where spawnbot TotalCount 12 MaxActive 9 SpawnCount 3 TotalCurrency 50 WaitBeforeStarting 0 WaitBetweenSpawns 12 Squad { TFBot { Template T_TFBot_Giant_Sniper UseCustomModel "models/bots/sniper_boss/bot_sniper_boss.mdl" Skill Hard } TFBot { Template T_TFBot_Medic } TFBot { Template T_TFBot_Medic } } } // [$0] WaveSpawn { Name "wave02a" Where spawnbot_left Where spawnbot_right Where spawnbot TotalCount 26 MaxActive 6 SpawnCount 3 TotalCurrency 75 WaitBeforeStarting 0 WaitBetweenSpawns 1.1 RandomChoice { TFBot { Template T_TFBot_Soldier_Direct_Hit Skill Easy } TFBot { Template T_TFBot_Soldier_Direct_Hit Skill Normal } TFBot { Template T_TFBot_Soldier_Direct_Hit Skill Easy } TFBot { Template T_TFBot_Soldier_Direct_Hit Skill Easy } TFBot { Template T_TFBot_Soldier_Direct_Hit Skill Easy } TFBot { Template T_TFBot_Soldier_Direct_Hit Skill Normal } } } // [$0] WaveSpawn { Name "wave02b1" Where spawnbot TotalCount 9 MaxActive 9 SpawnCount 3 TotalCurrency 130 WaitBeforeStarting 0 WaitBetweenSpawns 16 WaitForAllDead "wave02a1" Squad { TFBot { Template T_TFBot_Giant_Soldier_Spammer_Direct } TFBot { Template T_TFBot_Heavyweapons_Fist } TFBot { Template T_TFBot_Heavyweapons_Fist } } } // [$0] WaveSpawn { Where spawnbot TotalCount 1 MaxActive 1 SpawnCount 1 TotalCurrency 130 WaitBeforeStarting 0 WaitBetweenSpawns 16 WaitForAllDead "wave02a1" FirstSpawnMessage "{22AAFF}Tank deployed with 15k (15000) HP!{6666FF}" Tank { Health 15000 Name Tank Speed 75 StartingPathTrackNode boss_path_1 OnKilledOutput { Target boss_dead_relay Action Trigger } OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } // [$0] WaveSpawn { Name "wave02c" Where spawnbot_left Where spawnbot_right TotalCount 24 MaxActive 10 SpawnCount 4 TotalCurrency 24 WaitBeforeStarting 0 WaitBetweenSpawns 0.85 WaitForAllDead "wave02a1" Support Limited TFBot { Template T_TFBot_Scout_Bonk_Sandman_FastCharge } } // [$0] WaveSpawn { Where spawnbot_left Where spawnbot_right TotalCount 76 MaxActive 10 SpawnCount 4 TotalCurrency 76 WaitBeforeStarting 3 WaitBetweenSpawns 0.85 WaitForAllSpawned "wave02c" Support 1 TFBot { Template T_TFBot_Scout_Sandman_FastCharge } } //thank you package WaveSpawn { WaitBeforeStarting 30 WaitForAllSpawned wave02b1 FirstSpawnOutput { Target wave_start_relay Action RunScriptCode Param " EntFire(`spawnbot_gated*`, `Enable`) " } } WaveSpawn { WaitBeforeStarting 0 WaitForAllDead wave02b1 FirstSpawnOutput { Target wave_start_relay Action RunScriptCode Param " EntFire(`spawnbot_gated*`, `Enable`) " } } WaveSpawn { Name "wave02c1" Where spawnbot_gated_left TotalCount 4 MaxActive 4 SpawnCount 2 TotalCurrency 75 WaitBeforeStarting 0 WaitBetweenSpawns 9 WaitForAllDead "wave02a1" Squad { TFBot { Template T_TFBot_Giant_Demo_Burst } TFBot { Template T_TFBot_Giant_Demo_Crit } } } WaveSpawn { Name "wave02c2" Where spawnbot_gated_right TotalCount 2 MaxActive 2 SpawnCount 2 TotalCurrency 40 WaitBeforeStarting 13 WaitBetweenSpawns 9 WaitForAllSpawned "wave02c1" Squad { TFBot { Template T_TFBot_Giant_Sniper_Carbine } TFBot { Template T_TFBot_Giant_Demo_Burst } } } } // WAVE 3 [$500] Wave { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } // [$0] WaveSpawn { Name "wave03a" Where spawnbot_left Where spawnbot_right TotalCount 42 MaxActive 9 SpawnCount 4 TotalCurrency 75 WaitBeforeStarting 0 WaitBetweenSpawns 1.7 RandomChoice { TFBot { Class Demoman Skill Normal } TFBot { Class Demoman Skill Easy } } } // [$0] WaveSpawn { Name "wave03a1" Where spawnbot TotalCount 8 MaxActive 4 SpawnCount 2 TotalCurrency 75 WaitBeforeStarting 0 WaitBetweenSpawns 16 Squad { TFBot { Template T_TFBot_Giant_Soldier_Cowmangler_Charged } TFBot { Template T_TFBot_Medic_Bigheal } } } // DUMMY WaveSpawn { Name "wave03signaller" TotalCount 0 SpawnCount 0 WaitBeforeStarting 0 WaitForAllDead "wave03a1" } // DUMMY WaveSpawn { Name "wave03signaller" TotalCount 0 SpawnCount 0 WaitBeforeStarting 0 WaitForAllSpawned "wave03a" } // [$0] WaveSpawn { Name "wave03b1" Where spawnbot TotalCount 6 MaxActive 4 SpawnCount 2 TotalCurrency 75 WaitBeforeStarting 0 WaitBetweenSpawns 15 WaitForAllDead "wave03signaller" Squad { TFBot { Template T_TFBot_Giant_Soldier_RocketShotgun_Giga } TFBot { Template T_TFBot_Medic_Bigheal } } } // [$0] WaveSpawn { Name "wave03b" Where spawnbot TotalCount 16 MaxActive 5 SpawnCount 2 TotalCurrency 75 WaitBeforeStarting 0 WaitBetweenSpawns 1.3 WaitForAllDead "wave03signaller" TFBot { Template T_TFBot_Sniper_Huntsman } } // [$0] WaveSpawn { Name "wave03b" Where spawnbot_left Where spawnbot_right TotalCount 8 MaxActive 3 SpawnCount 1 TotalCurrency 100 WaitBeforeStarting 2 WaitBetweenSpawns 5.2 WaitForAllDead "wave03signaller" TFBot { Template T_TFBot_Pyro_EOI_MiniGiant_NoFake //real EOI } } // [$0] WaveSpawn { Name "wave03c1" Where spawnbot TotalCount 9 MaxActive 9 SpawnCount 3 TotalCurrency 100 WaitBeforeStarting 0 WaitBetweenSpawns 12 WaitForAllDead "wave03b1" Squad { TFBot { Template T_TFBot_Giant_Soldier_Nuke_Weak_Blast ItemAttributes { ItemName "Upgradeable TF_WEAPON_ROCKETLAUNCHER" "dmg bonus vs buildings" 1 "fire input on kill" "nuke_soldier_funni^Trigger^" "use large smoke explosion" 0 } } TFBot { Template T_TFBot_Medic } TFBot { Template T_TFBot_Medic } } } // [$0] WaveSpawn { Where spawnbot_left Where spawnbot_right TotalCount 50 MaxActive 3 SpawnCount 2 TotalCurrency 50 WaitBeforeStarting 0 WaitBetweenSpawns 2.6 WaitForAllDead "wave03b1" Support 1 TFBot { Template T_TFBot_Sniper_Fetchflag } } // [$0] WaveSpawn { Where spawnbot_left Where spawnbot_right TotalCount 50 MaxActive 9 SpawnCount 2 TotalCurrency 50 WaitBeforeStarting 3 WaitBetweenSpawns 0.65 WaitForAllSpawned "wave03b" Support 1 RandomChoice { TFBot { Template T_TFBot_Heavy_Reg_Gauntlet } TFBot { Template T_TFBot_Heavy_Reg_Gauntlet } TFBot { Name "randomgauntlet" Template T_TFBot_Heavy_Reg_Gauntlet } } } } // WAVE 4 [$500] Wave { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } // [$0] WaveSpawn { Name "wave04a1" Where spawnbot_left Where spawnbot_right TotalCount 9 MaxActive 9 SpawnCount 3 TotalCurrency 100 WaitBeforeStarting 0 WaitBetweenSpawns 20 Squad { TFBot { Template T_TFBot_Giant_Soldier_SlowBarrage } TFBot { Template T_TFBot_Medic } TFBot { Template T_TFBot_Medic } } } WaveSpawn { Name "wave04a" Where spawnbot TotalCount 20 MaxActive 7 SpawnCount 4 TotalCurrency 75 WaitBeforeStarting 0 WaitBetweenSpawns 2 TFBot { Class Heavy Skill Easy } } // DUMMY WaveSpawn { Name "wave04signaller" TotalCount 0 SpawnCount 0 WaitBeforeStarting 0 WaitForAllDead "wave04a1" } WaveSpawn { Name "wave04signaller" TotalCount 0 SpawnCount 0 WaitBeforeStarting 5 WaitForAllSpawned "wave04a" } WaveSpawn { Name "wave04b" Where spawnbot_left Where spawnbot_right TotalCount 28 MaxActive 7 SpawnCount 3 TotalCurrency 75 WaitBeforeStarting 0 WaitBetweenSpawns 2 WaitForAllDead "wave04signaller" TFBot { Template T_TFBot_Pyro_DragonsFury } } WaveSpawn { Name "wave04b1" Where spawnbot TotalCount 6 MaxActive 4 SpawnCount 2 TotalCurrency 75 WaitBeforeStarting 0 WaitBetweenSpawns 15 WaitForAllDead "wave04signaller" Squad { TFBot { Template T_TFBot_Giant_Heavyweapons Skill Easy //so pyro can play the game } TFBot { Template T_TFBot_Medic_Kritz } } } WaveSpawn { Name "wave04c1" Where spawnbot TotalCount 6 MaxActive 6 SpawnCount 2 TotalCurrency 75 WaitBeforeStarting 0 WaitBetweenSpawns 24 WaitForAllDead "wave04b1" Squad { TFBot { Template T_TFBot_Giant_Demo_Acid Attributes AlwaysCrit ShootTemplate { Name "goopMakerShort" AttachToProjectile 1 ItemName "Upgradeable TF_WEAPON_GRENADELAUNCHER" } ItemAttributes { ItemName "Upgradeable TF_WEAPON_GRENADELAUNCHER" "bleeding duration" 1 "Blast radius increased" 0.01 } } TFBot { Template T_TFBot_Giant_Medic_Regen_Smaller } } } WaveSpawn { Where spawnbot_left TotalCount 100 MaxActive 7 SpawnCount 2 TotalCurrency 100 WaitBeforeStarting 8 WaitBetweenSpawns 1.13 WaitForAllSpawned "wave04b" Support 1 TFBot { Template T_TFBot_Soldier_Shotgun_Charge_NoShield Skill Easy } } WaveSpawn { Where spawnbot_right TotalCount 100 MaxActive 4 SpawnCount 3 TotalCurrency 100 WaitBeforeStarting 8 WaitBetweenSpawns 3 WaitForAllSpawned "wave04b" Support 1 TFBot { Template T_TFBot_Soldier_Shotgun_Charge_NoShield Skill Easy } } } // WAVE 5 [$500] Wave { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } Explanation { Line "{FFAAFF}There is a {99CCFF}Chief{FFAAFF} coming this wave, {FF77DD}despite what the wavebar would indicate" Line "{FFFF00}One who is many. A member of a chief class so numerous he has entire extra bodies to spare." Line "{FFAAFF}Oh right, {FF0000}he also takes 40% less damage from miniguns. {FFAAFF}Adapt accordingly." } // [$50] WaveSpawn { Name "wave05a" Where spawnbot TotalCount 28 MaxActive 8 SpawnCount 3 TotalCurrency 28 WaitBeforeStarting 0 WaitBetweenSpawns 1.5 TFBot { Template T_TFBot_Sniper_Carbine Skill Easy } } WaveSpawn { Name "wave05a" Where spawnbot_left Where spawnbot_right TotalCount 12 MaxActive 5 SpawnCount 1 TotalCurrency 22 WaitBeforeStarting 0 WaitBetweenSpawns 0.5 TFBot { Template T_TFBot_Sniper_Carbine Skill Easy } } // [$0] WaveSpawn { Name "wave05a1" Where spawnbot_left Where spawnbot_right TotalCount 4 MaxActive 4 SpawnCount 2 TotalCurrency 100 WaitBeforeStarting 0 WaitBetweenSpawns 16 Squad { TFBot { Template T_TFBot_Pyro_DragonsFury_Fuel_Injected_Giant //has to be fast to be useful } TFBot { Template T_TFBot_Giant_Medic_Regen } } } // DUMMY WaveSpawn { TotalCount 0 SpawnCount 0 WaitBeforeStarting 0 Name "wave05signaller" WaitForAllDead "wave05a1" } // DUMMY WaveSpawn { TotalCount 0 SpawnCount 0 WaitBeforeStarting 4 Name "wave05signaller" WaitForAllSpawned "wave05a" } // [$50] WaveSpawn { Name "wave05b1" Where spawnbot TotalCount 8 MaxActive 8 SpawnCount 4 TotalCurrency 200 WaitBeforeStarting 0 WaitBetweenSpawns 18 WaitForAllDead "wave05signaller" Squad { TFBot { Template T_TFBot_Giant_Heavyweapons_Conch Skill Normal //so pyro can play the game } TFBot { Template T_TFBot_Heavy_Minigiant } TFBot { Template T_TFBot_Heavy_Minigiant } TFBot { Template T_TFBot_Medic } } } // [$50] WaveSpawn { Name "wave05b" Where spawnbot_left TotalCount 36 MaxActive 10 SpawnCount 4 TotalCurrency 200 WaitBeforeStarting 0 WaitBetweenSpawns 0.2 WaitForAllDead "wave05signaller" TFBot { Class Pyro Skill Easy } } // [$0] WaveSpawn { Where spawnbot_support1_left Where spawnbot_support1_right TotalCount 50 MaxActive 5 SpawnCount 2 TotalCurrency 50 WaitBeforeStarting 3 WaitBetweenSpawns 2 WaitForAllSpawned "wave05b" Support 1 TFBot { Class Demoman Skill Normal } } // [$0] WaveSpawn { Where spawnbot_support1_left Where spawnbot_support1_right TotalCount 50 MaxActive 5 SpawnCount 2 TotalCurrency 50 WaitBeforeStarting 3 WaitBetweenSpawns 2 WaitForAllSpawned "wave05b" Support 1 TFBot { Template T_TFBot_Sniper_Huntsman Skill Normal } } // [$0] WaveSpawn { Where spawnbot_support2_center TotalCount 50 MaxActive 3 SpawnCount 1 TotalCurrency 50 WaitBeforeStarting 2 WaitBetweenSpawns 2 WaitForAllSpawned "wave05b" Support 1 TFBot { Class Heavy Skill Easy } } // [$0] WaveSpawn { Where spawnbot_support2_left Where spawnbot_support2_right TotalCount 50 MaxActive 7 SpawnCount 3 TotalCurrency 50 WaitBeforeStarting 2 WaitBetweenSpawns 0.4 WaitForAllSpawned "wave05b" Support 1 TFBot { Template T_TFBot_Demoman_Knight Skill Normal } } // [$0] WaveSpawn { Where spawnbot_support3_left Where spawnbot_support3_right Where spawnbot_support3_center TotalCount 50 MaxActive 7 SpawnCount 3 TotalCurrency 50 WaitBeforeStarting 2 WaitBetweenSpawns 0.8 WaitForAllSpawned "wave05b" Support 1 TFBot { Class Pyro Skill Easy Name "100.16.65.112" } } // [$0] WaveSpawn { Where spawnbot_support4_left Where spawnbot_support4_right TotalCount 50 MaxActive 4 SpawnCount 2 TotalCurrency 50 WaitBeforeStarting 2 WaitBetweenSpawns 2 WaitForAllSpawned "wave05b" Support 1 TFBot { Class Demoman Skill Normal } } // [$0] WaveSpawn { Where spawnbot_support4_center TotalCount 50 MaxActive 2 SpawnCount 1 TotalCurrency 50 WaitBeforeStarting 2 WaitBetweenSpawns 3 WaitForAllSpawned "wave05b" Support 1 TFBot { Class Heavy Skill Easy } } // [$0] WaveSpawn { Name "CloneCommanderPhase1" Where spawnbot TotalCount 1 MaxActive 1 SpawnCount 1 TotalCurrency 100 WaitBeforeStarting 0 WaitBetweenSpawns 0 WaitForAllDead "wave05b1" FirstSpawnOutput { Target support1_activate Action Trigger } TFBot { Template T_TFBot_Soldier_Chief_Direct_Precise FireInput { Target "CC_Phase1" Action "Trigger" Delay 0.01 Repeats 1 } } } // DUMMY WaveSpawn { TotalCount 0 SpawnCount 0 WaitBeforeStarting 0 WaitForAllDead "CloneCommanderPhase1" FirstSpawnOutput { Target support_wipe Action Trigger } } // [$0] WaveSpawn { Name "CloneCommanderPhase2" Where spawnbot TotalCount 1 MaxActive 1 SpawnCount 1 TotalCurrency 100 WaitBeforeStarting 0.01 WaitBetweenSpawns 0 WaitForAllDead "CloneCommanderPhase1" FirstSpawnOutput { Target support2_activate Action Trigger } TFBot { Template T_TFBot_Soldier_Chief_Burst_Reload_On_Hit FireInput { Target "CC_Phase2" Action "Trigger" Delay 0.01 Repeats 1 } } } // DUMMY WaveSpawn { TotalCount 0 SpawnCount 0 WaitBeforeStarting 0 WaitForAllDead "CloneCommanderPhase2" FirstSpawnOutput { Target support_wipe Action Trigger } } // [$0] WaveSpawn { Name "CloneCommanderPhase3" Where spawnbot TotalCount 1 MaxActive 1 SpawnCount 1 TotalCurrency 100 WaitBeforeStarting 0.01 WaitBetweenSpawns 0 WaitForAllDead "CloneCommanderPhase2" FirstSpawnOutput { Target support3_activate Action Trigger } TFBot { Template T_TFBot_Soldier_Chief_Spammer_Indirect FireInput { Target "CC_Phase3" Action "Trigger" Delay 0.01 Repeats 1 } } } // DUMMY WaveSpawn { TotalCount 0 SpawnCount 0 WaitBeforeStarting 0 WaitForAllDead "CloneCommanderPhase3" FirstSpawnOutput { Target support_wipe Action Trigger } } // [$0] WaveSpawn { Name "CloneCommanderPhase4" Where spawnbot_left TotalCount 1 MaxActive 1 SpawnCount 1 TotalCurrency 100 WaitBeforeStarting 0.01 WaitBetweenSpawns 0 WaitForAllDead "CloneCommanderPhase3" FirstSpawnOutput { Target support4_activate Action Trigger } TFBot { Template T_TFBot_Soldier_Chief_Spammer_Indirect Health 15000 FireInput { Target "CC_Phase4" Action "Trigger" Delay 0.01 Repeats 1 } } } // [$0] WaveSpawn { Name "CloneCommanderPhase4" Where spawnbot TotalCount 1 MaxActive 1 SpawnCount 1 TotalCurrency 100 WaitBeforeStarting 0 WaitBetweenSpawns 0 WaitForAllDead "CloneCommanderPhase3" TFBot { Template T_TFBot_Soldier_Chief_Direct_Precise Health 15000 } } // [$0] WaveSpawn { Name "CloneCommanderPhase4" Where spawnbot_right TotalCount 1 MaxActive 1 SpawnCount 1 TotalCurrency 100 WaitBeforeStarting 0.01 WaitBetweenSpawns 0 WaitForAllDead "CloneCommanderPhase3" TFBot { Template T_TFBot_Soldier_Chief_Burst_Reload_On_Hit Health 15000 } } // DUMMY WaveSpawn { TotalCount 0 SpawnCount 0 WaitBeforeStarting 0 WaitForAllDead "CloneCommanderPhase4" FirstSpawnOutput { Target support_wipe Action Trigger } } WaveSpawn { Where spawnbot //lower TotalCount 1 MaxActive 1 SpawnCount 1 TotalCurrency 0 WaitBeforeStarting 0 WaitBetweenSpawns 0 WaitForAllDead "CloneCommanderPhase4" Support Limited DoneOutput { Target w5_music_end Action Trigger } } } }