//Things to note: each wave should contain atleast a gimmick giant so start concocting, Bobbert //Each Normal bot should synergize with said gimmick... once again, think about it //Gimmick one: Giant Radical Knights #base robot_giant.pop #base robot_standard.pop #base goodbobcustom.pop // #base goodbobweapons.pop goodbobs_attack //WaveSchedule { StartingCurrency 1149 Advanced 1 UseOriginalAnimsForUnintendedClassWeapons 1 CanBotsAttackWhileInSpawnRoom no RespawnWaveTime 4 WaveStartCountdown 5 FixSetCustomModelInput 1 TextPrintTime 0 //IMPORTANT PRECACHING PrecacheSound "ui\cyoa_musicdrunkenpipebomb.mp3" PrecacheSound "lightspeed_demo_spawn.mp3" PrecacheSound "heavy_mvm_m_laughlong01.mp3" PrecacheSound "weapons\sentry_damage4.wav" PrecacheSound "mvm\mvm_tank_explode.wav" PrecacheSound "vo\mvm\norm\demoman_mvm_laughlong02.mp3" PrecacheSound "mvm\mvm_bought_in.wav" //OH BOY POINT TEMPALTES?!?!?!? PointTemplates { classamplifier { OnSpawnOutput { Name classbuffer Action SetParent Param !activator } OnParentKilledOutput { Name classbuffer Action Disable } OnParentKilledOutput { Name buffteammates Action Disable } // THE SHENANIGANS, THANK YOU TO YUUGI FOR THE COOL IDEA INSPIRATION prop_dynamic { "targetname" "classbuffer" "Model" "models\props_gameplay\cap_square_512.mdl" //cool elizabeth model right here "skin" "2" "solid" "0" "origin" "0 0 20" "angles" "0 0 0" "modelscale" "1.3" "disableshadows" "1" } //TEAM GETS THE BUFFS filter_activator_tfteam { "targetname" "bluteamonly" "TeamNum" "3" "Negated" "0" } //Demobuffs trigger_add_tf_player_condition { "targetname" "buffteammates" "filtername" "bluteamonly" "spawnflags" "1" "condition" "17" "duration" "3" "mins" "-300 -300 -300" "maxs" "300 300 300" } trigger_add_tf_player_condition { "targetname" "buffteammates" "filtername" "bluteamonly" "spawnflags" "1" "condition" "26" "duration" "-1" "mins" "-300 -300 -300" "maxs" "300 300 300" } trigger_add_tf_player_condition { "targetname" "buffteammates" "filtername" "bluteamonly" "spawnflags" "1" "condition" "16" "duration" "-1" "mins" "-300 -300 -300" "maxs" "300 300 300" } trigger_add_tf_player_condition { "targetname" "buffteammates" "filtername" "bluteamonly" "spawnflags" "1" "condition" "5" "duration" "0.2" "mins" "-300 -300 -300" "maxs" "300 300 300" } } lightspeedvariant { OnParentKilledOutput { Target lightglow Action Disable } tf_glow { "GlowColor" "255 255 237 222" "target" "!parent" "targetname" "lightglow" } } darkspeedvariant { OnParentKilledOutput { Target lightglow2 Action Disable } tf_glow { "GlowColor" "1 1 1 222" "target" "!parent" "targetname" "lightglow2" } } //aha yes... "defeated" lightbossdefeat { //Shenanigans right here OnSpawnOutput { Target "lightbossdown" Action SetPlaybackRate Param 0 } OnParentKilledOutput { Target "lightbossdown" Action "Enable" } //DEALING WITH THE DEFEAT ANIM OnParentKilledOutput { Target "lightbossdown" Action "SetPlaybackRate" Param "0.3" Delay 0.02 } OnParentKilledOutput { Target "lightbossdown" Action "SetPlaybackRate" Param "1" Delay 2.2 } OnParentKilledOutput { Target "lightbossdown" Action "SetPlaybackRate" Param "0.00001" Delay 3.1 } OnParentKilledOutput { Target "lightbossdown" Action "Kill" Delay 3.1 } OnParentKilledOutput { Target "lbcosmetic1" Action "Kill" Delay 3.1 } OnParentKilledOutput { Target "lbcosmetic2" Action "Kill" Delay 3.1 } //THE SFX OF THE DEFEAT OnParentKilledOutput { Target "sfxfuck" Action PlaySound } OnParentKilledOutput { Target "sfxfuck2" Action PlaySound Delay 0.5 } OnParentKilledOutput { Target "sfxfuck3" Action PlaySound Delay 3.1 } //THE EFFECTS OF DEFEAT OnParentKilledOutput { Target "damnitshake" Action StartShake Delay 3.1 } OnParentKilledOutput { Target "damnit" Action Start Delay 3.1 } OnParentKilledOutput { Target "deathmessagelight" Action Trigger } //Thanks to Sergeant's SPYBASED for the study info //Models here KeepAlive 1 prop_dynamic { "targetname" "lightbossdown" "origin" "0 0 0" "angles" "0 0 0" "color" "255 255 255" "solid" "0" "modelscale" "2" "defaultanim" "primary_death_backstab" "disablebonefollowers" "1" "model" "models\bots\demo_boss\bot_demo_boss.mdl" "OnAnimationDone" "!self,Kill,,0,-1" "startdisabled" "1" "skin" "1" } KeepAlive 1 prop_dynamic_ornament { "targetname" "lbcosmetic1" "model" "models\workshop\player\items\all_class\tw2_roman_wreath\tw2_roman_wreath_demo.mdl" "solid" "0" "disablebonefollowers" "1" "disableshadows" "1" "skin" "1" "initialowner" "lightbossdown" "startdisabled" "1" } KeepAlive 1 prop_dynamic_ornament { "targetname" "lbcosmetic2" "model" "models\player\items\all_class\all_halo.mdl" "solid" "0" "disablebonefollowers" "1" "disableshadows" "1" "skin" "1" "initialowner" "lightbossdown" "startdisabled" "1" } //Sounds here ambient_generic { "targetname" "sfxfuck" "message" "weapons\sentry_damage4.wav" "health" "10" "pitch" "100" "spawnflags" "17" } ambient_generic { "targetname" "sfxfuck2" "message" "vo\mvm\norm\demoman_mvm_jeers05.mp3" "health" "10" "pitch" "100" "spawnflags" "17" } ambient_generic { "targetname" "sfxfuck3" "message" "mvm\mvm_tank_explode.wav" "health" "10" "pitch" "100" "spawnflags" "17" } //Effects here KeepAlive 1 env_shake { "targetname" "damnitshake" "spawnflags" "5" "amplitude" "16" "radius" "2500" "frequency" "40" "duration" "2" } KeepAlive 1 info_particle_system { "targetname" "damnit" "origin" "0 0 0" "angles" "-90 0 0" "effect_name" "mvm_tank_destroy" } //Just use a logic relay they said ahdaiudhaiudhiadiuaniudansid logic_relay { "targetname" "deathmessagelight" "OnTrigger" "player,$DisplayTextChat,{99CCFF}Sun Lieutenant {FFFFFF}has been {FF0000}DEFEATED,3.1,-1" } } //UPDATE: IGNORE // //dark variant more swagger // bossid //Just whyyyyyyyyyyyyyyyyyyy but its ok // { // OnSpawnOutput // { // Target dead // Action SetParent // Param "!activator" // } // KeepAlive 1 // info_target // { // "targetname" "dead" // "origin" "0 0 0" // } // } darkbossdefeat { NoFixup 1 KeepAlive 1 OnSpawnOutput { Target darkdefeat Action SetParent Param "!activator" Delay 0.05 } //He's more different cause he taunts info_target { "targetname" "darkdefeat" "origin" "0 0 0" } logic_relay { //takes atleast 6.8 seconds to end "targetname" "sillymoondefeat" "OnTrigger" "@p@darkdefeat,SetHealth,99999,0,0.02,-1" // "OnTrigger" "@p@darkdefeat,$TauntFromItem,Laugh Taunt,0.04,-1" "OnTrigger" "player,$PlaySoundToSelf,vo\mvm\norm\demoman_mvm_laughlong02.mp3,0.04,-1" "OnTrigger" "@p@darkdefeat,$suicide,,5.8,-1" // "OnTrigger" "seeyabetches,Start,,,-1" "OnTrigger" "seeyabetches,Stop,,5.8,-1" "OnTrigger" "seeyabetcheswoom,Start,,5.8,-1" "OnTrigger" "byebye,PlaySound,,5.82,-1" "OnTrigger" "byebye2,PlaySound,,6,-1" "OnTrigger" "fuckshake,StartShake,,5.8,-1" // "OnTrigger" "player,$DisplayTextChat,{99CCFF}Moon Lieutenant {FFFFFF}has {9ACD32}SCREWED OFF,5.8,-1" } //The Effects of death lala info_particle_system { "targetname" "seeyabetches" "origin" "0 0 0" "angles" "0 0 0" "effect_name" "teleported_mvm_bot" } info_particle_system { "targetname" "seeyabetcheswoom" "origin" "0 0 0" "angles" "0 0 0" "effect_name" "hammer_bell_ring_shockwave" } ambient_generic { "targetname" "byebye" "message" "mvm\mvm_bought_in.wav" "health" "10" "pitch" "100" "spawnflags" "17" } ambient_generic { "targetname" "byebye2" "message" "vo\mvm\norm\demoman_mvm_jeers03.mp3" "health" "10" "pitch" "100" "spawnflags" "17" } env_shake { "targetname" "fuckshake" "spawnflags" "5" "amplitude" "16" "radius" "2500" "frequency" "40" "duration" "2" } } } //POINT TEMPLATES SPANED HERE //Support Bots [red] Here ExtraSpawnPoint { Name "allyspawn1" TeamNum 3 X "1056" Y "-2253" Z "412" } ExtraSpawnPoint { Name "allyspawn2" TeamNum 3 X "-555" Y "-2222" Z "356" } //DeathAnim Bots ExtraSpawnPoint { Name "deathspawn" TeamNum 3 X "-45.85" Y "3432.78" Z "616.30" } //Suprise Bots Here ExtraSpawnPoint { Name "suprise" TeamNum 3 X "1399.95" Y "609.71" Z "641.03" } ExtraSpawnPoint { Name "suprise" TeamNum 3 X "493.08" Y "-544.21" Z "801.03" } ExtraSpawnPoint { Name "suprise" TeamNum 3 X "-1176.26" Y "-1963.31" Z "705.03" } ExtraSpawnPoint { Name "suprise" TeamNum 3 X "-1176.26" Y "-1963.31" Z "705.03" } //Wave 1 will provide red team help but its only scouts and soldiers //Wave 1: Wave { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } // //red team bots here WaveSpawn { MaxActive 2 SpawnCount 2 WaitBeforeStarting 4 WaitBetweenSpawns 13 Support 1 Where allyspawn1 Where allyspawn2 TFBot { Template T_TFBot_Scout_Bonk Item "The Wrap Assassin" ClassIcon red2_lite ExtAttr AlwaysFireWeaponAlt Action Mobber VoiceCommand { Delay 1 Repeats 1 Type "Battle cry" } AddCond { Index 43 } ItemAttributes { ItemName "The Wrap Assassin" "effect bar recharge rate increased" 0.15 } } } WaveSpawn { MaxActive 1 Support 1 Where allyspawn1 Where allyspawn2 TFBot { Class Soldier ClassIcon red2_lite Skill Expert Action Mobber VoiceCommand { Delay 1 Repeats 1 Type "Battle cry" } AddCond { Index 43 } } } //Now The Real Trouble Begins WaveSpawn { Name a1 TotalCurrency 200 TotalCount 2 Where spawnbot Squad { TFBot { Template T_TFBot_Giant_Pyro_Flare_Spammer_ScorchShot ClassIcon pyro_scorch_spammer Item "Pestering Jester" } TFBot { Template T_TFBot_Giant_Medic Health 2500 Name "Giant Overclocking Medic" ClassIcon medic_kritz_flash Attributes AlwaysCrit Attributes SpawnWithFullCharge Item "The Kritzkrieg" Item "Brothers in Blues" ItemAttributes { ItemName "The Kritzkrieg" "medigun passive attributes" "move speed penalty|2.49" "add cond when active" 36 "ubercharge rate bonus" 99 } CharacterAttributes { "bot medic uber health threshold" 9999 } } } } WaveSpawn { WaitForAllDead a1 TotalCurrency 100 TotalCount 18 MaxActive 6 SpawnCount 2 Where spawnbot WaitBetweenSpawns 6 TFBot { Class Demoman ClassIcon demo_targe_nys Skill Hard Action FetchFlag Attributes HoldFireUntilFullReload Item "The Splendid Screen" Item "The Iron Bomber" Item "Bombard Brigadier" } } WaveSpawn { TotalCurrency 101 TotalCount 48 MaxActive 9 SpawnCount 3 WaitBeforeStarting 13 WaitBetweenSpawns 2 Where spawnbot TFBot { Class Scout ClassIcon scout_bat_nys Name "Crit Bat Scout" WeaponRestrictions MeleeOnly Attributes AlwaysCrit Attributes AlwaysFireWeapon DesiredAttackRange 100 } } //Sniper Soldier yes WaveSpawn { WaitForAlldead a1 Name a2 TotalCurrency 150 TotalCount 2 WaitBeforeStarting 14 WaitBetweenSpawns 0.4 Where spawnbot Squad { TFBot { Template T_TFBot_Giant_Demo_RapidFire Name "Infinity Demoman" ItemAttributes { ItemName "TF_WEAPON_GRENADELAUNCHER" "clip size upgrade atomic" 199 } ClassIcon demo_infinite } TFBot { Template T_TFBot_Giant_Soldier_Crit Skill Expert } } } WaveSpawn { WaitForAllDead a2 TotalCurrency 200 TotalCount 2 SpawnCount 2 WaitBeforeStarting 2 Where spawnbot Squad { TFBot { Template T_TFBot_Giant_DemoMan_PrinceTavish Health 5500 ClassIcon demoknight_armored // SpawnTemplate classamplifier } TFBot { Template T_TFBot_Giant_Demo_RapidFire Name "Infinity Demoman" ItemAttributes { ItemName "TF_WEAPON_GRENADELAUNCHER" "clip size upgrade atomic" 199 } ClassIcon demo_infinite } } } WaveSpawn { WaitForAllDead a2 TotalCurrency 100 TotalCount 16 MaxActive 8 SpawnCount 2 WaitBetweenSpawns 0.8 WaitBeforeStarting 2 Where spawnbot TFBot { Class Soldier Skill Normal } } //Enemy Support WaveSpawn { TotalCurrency 100 WaitForAllDead a1 MaxActive 4 SpawnCount 2 Where spawnbot WaitBeforeStarting 10 WaitBetweenSpawns 3 Support 1 TFBot { Class HeavyWeapons ClassIcon heavy_shotgun ExtAttr MedicLookAtThreats Action Medic WeaponRestrictions SecondaryOnly Skill Normal } } WaveSpawn { WaitForAllDead a1 MaxActive 4 SpawnCount 4 Support 1 Where spawnbot WaitBetweenSpawns 4 TFBot { Template T_TFBot_Demoman_Knight Skill Expert } } } Wave { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } Explanation { Line "{6488EA}BZZZT BZZZT (STATIC STUFF HERE)" Line "{800080}Miss Pauling : {FFC0CB}Hello-Oh wow, I actually got a signal. Hey,Mercs?" Line "{FFC0CB}There's been a problem with the red robots production here in Scrapyard and we're only able to send you {FF0000}ONE RED GIANT ROBOT {FFC0CB} to aid you in this wave {FFFFFF}SO MAKE IT COUNT." Line "{FFC0CB}Also intel tells that the robots are planning some sort of push in the early wave so get ready for it!" Line "{800080}Miss Pauling out!" } //Wave 2 supports (red) Here // WaveSpawn { WaitForAllDead a1 MaxActive 3 SpawnCount 1 WaitBetweenSpawns 2 Support 1 Where allyspawn1 Where allyspawn2 TFBot { Class Soldier ClassIcon red2_lite WeaponRestrictions SecondaryOnly Action Mobber Skill Hard AddCond { Index 43 } VoiceCommand { Delay 1 Repeats 1 Type "Battle cry" } } } WaveSpawn { TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 20 Where allyspawn1 TFBot { Template T_TFBot_Giant_Scout_Bonk ClassIcon scout_bonk_allyred Action Mobber AddCond { Index 43 } VoiceCommand { Delay 1 Repeats 1 Type "Battle cry" } } } // WaveSpawn // { // TotalCurrency 100 // TotalCount 24 // MaxActive 12 // SpawnCount 4 // WaitBetweenSpawns 2 // Where spawnbot // Squad // { // TFBot // { // Class Pyro // Skill Easy // Attributes DisableDodge // Attributes AlwaysFireWeapon // Item "Starboard Crusader" // Item "Firebrand" // } // TFBot // { // Class Pyro // Name "Homing Flare Pyro" // ClassIcon pyro_flare_homing_lite // Skill Expert // WeaponRestrictions SecondaryOnly // Item "The Flare Gun" // Item "The Last Breath" // ItemAttributes // { // ItemName "The Flare Gun" // "mod projectile heat seek power" 35 // "add cond when active" 36 // } // } // } // } // WaveSpawn // { // Name a1 // TotalCurrency 100 // TotalCount 2 // Where spawnbot_giant // WaitBeforeStarting 18 // StartWaveWarningSound "heavy_mvm_m_laughlong01.mp3" // FirstSpawnMessage "{99CCFF}Heal On Kill Heavy: {FFFFFF}I start on first spawn! Foolish baby men." // Squad // { // TFBot // { // Template T_TFBot_Giant_Heavyweapons // ClassIcon heavy_healonkill // Health 6500 // Skill Normal // Attributes UseBossHealthBar // Item "dec2014 heavy_parka" // ItemAttributes // { // ItemName "TF_WEAPON_MINIGUN" // "damage bonus" 1.2 // "attack projectiles" 2 // "heal on kill" 5000 // } // CharacterAttributes // { // "attachment scale" 1.5 // } // } // TFBot // { // Template overclockmedic // } // } // } // WaveSpawn // { // WaitForAllSpawned a1 // TotalCurrency 150 // TotalCount 24 // MaxActive 8 // SpawnCount 2 // WaitBeforeStarting 40 // WaitBetweenSpawns 1.2 // Where spawnbot // Squad // { // TFBot // { // Template T_TFBot_Scout_Shortstop // Name "Armored Bat Scout" // Item "Batter's Helmet" // ClassIcon scout_armored_pda // WeaponRestrictions MeleeOnly // Action Mobber // Attributes DisableDodge // } // TFBot // { // Template overclockmedic // Action Medic // } // } // } // WaveSpawn // { // WaitForAllDead a1 // TotalCount 24 // TotalCurrency 100 // MaxActive 8 // SpawnCount 1 // Where spawnbot_giant // Where spawnbot // WaitBetweenSpawns 0.3 // WaitBeforeStarting 5 // TFBot // { // Template jump_soldier // } // } // WaveSpawn // { // Name a2 // WaitForAllDead a1 // TotalCount 2 // TotalCurrency 150 // MaxActive 2 // SpawnCount 1 // WaitBeforeStarting 120 // WaitBetweenSpawns 2.5 // Where spawnbot_giant // Squad // { // NoFormation 1 // NoWaitForFormation 1 // TFBot // { // Template T_TFBot_Giant_Scout_Fast // } // TFBot // { // Template T_TFBot_Giant_Soldier_Spammer_Reload // } // } // } // WaveSpawn // { // WaitForAllDead a1 // TotalCount 12 // TotalCurrency 100 // MaxActive 4 // WaitBeforeStarting 15 // WaitBetweenSpawns 2.5 // Where spawnbot_giant // TFBot // { // Template T_TFBot_Sniper_Huntsman_Spammer // Name "Multi Blast Arrow Hunstmann" // Skill Hard // Item "The Razorback" // Item "Cranium Cover" // ClassIcon sniper_bow_atomic // ItemAttributes // { // ItemName "The Huntsman" // "mult projectile count" 3 // "damage bonus" 0.9 // "projectile spread angle penalty" 5 // "override projectile type" 12 // "Projectile speed increased" 1.21 // } // } // } // WaveSpawn // { // WaitForAllDead a2 // TotalCurrency 100 // TotalCount 5 // WaitBeforeStarting 4 // Where spawnbot // WaitBetweenSpawns 6 // TFBot // { // Template T_TFBot_Giant_Scout_Fast // } // } // WaveSpawn // { // Name a3 // WaitForAllDead a2 // TotalCurrency 100 // TotalCount 3 // WaitBetweenSpawns 12 // Where spawnbot // TFBot // { // Template T_TFBot_Soldier_BurstFire // Skill Expert // } // } WaveSpawn { WaitForAllDead a3 TotalCurrency 75 TotalCount 1 Where spawnbot_giant WaitBeforeStarting 1 // StartWaveWarningSound "ui\cyoa_musicdrunkenpipebomb.mp3" FirstSpawnWarningSound lightspeed_demo_spawn.mp3 Squad { TFBot //The Sun Lieutenant { Class Demoman Name "Sun Lieutenant" ClassIcon demo_light Health 7500 Skin 1 AlwaysGlow 1 Attributes MiniBoss Attributes HoldFireUntilFullReload MaxVisionRange 1800 Item "The Loose Cannon" Skill Hard Item "The Hardy Laurel" Item "Honest Halo" SpawnTemplate lightspeedvariant SpawnTemplate lightbossdefeat AimOffset "0 0 900" AddCond { Index 16 } //THING BLOWS DAMN ItemAttributes { ItemName "The Loose Cannon" "Projectile speed decreased" 0.65 "damage bonus HIDDEN" 3.45 "grenade launcher mortar mode" -1 "damage causes airblast" 3 "clip size penalty" 0.25 "Reload time increased" 4.25 "blast radius increased" 3.5 "use large smoke explosion" 1 "attach particle effect" 3010 "Paintkit_proto_def_index" 205 "mult projectile scale" 2.3 "custom projectile size" 1.4 "Set DamageType Ignite" 8 } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.4 "airblast vulnerability multiplier" 0.4 "override footstep sound set" 4 "attach particle effect" 3010 } } } } WaveSpawn { Name moon WaitForAllDead a3 TotalCurrency 75 TotalCount 1 Where spawnbot_giant WaitBeforeStarting 1.3 //Add an intro for moon guy TFBot //The Moon Lieutenant { Class Demoman Action EscortFlag Name "Moon Lieutenant" UseHumanAnimations 1 ClassIcon demo_dark SKill Expert // Health 6500 Health 8000 Skin 1 AlwaysGlow 1 Attributes MiniBoss Attributes AlwaysFireWeapon WeaponRestrictions SecondaryOnly SpawnTemplate darkspeedvariant SpawnTemplate darkbossdefeat MaxVisionRange 1800 Item "The Classic" Item "The Scottish Resistance" Item "The Voodoo Juju (Slight Return)" Item "The Tartan Shade" //DEATHANIM CUZ FACKING HELL IM NOT DOING POINT TEMPLATES. THAT BROKE ME AddCond { Index 51 IfHealthBelow 1100 Delay 0.02 } FireInput { Target "sillymoondefeat" Action Trigger Delay 0.02 Repeats 1 IfHealthBelow 1100 } ItemAttributes { ItemName "The Iron Bomber" "is_passive_weapon" 1 "override projectile type" 27 "fire rate penalty" 99 } ItemAttributes { ItemName "The Scottish Resistance" "clip size upgrade atomic" 999 "stickybomb charge rate" 0.001 "max pipebombs increased" 10 "projectile range increased" 0.35 "fire rate bonus" 0.09 "Projectile speed increased HIDDEN" 1.50 "faster reload rate" -1 "blast radius increased" 1.20 // "stickybomb stick to enemies" 1 "stickybomb no stick" 1 "projectile spread angle penalty" 5 } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.4 "airblast vulnerability multiplier" 0.4 "override footstep sound set" 4 "attach particle effect" 3010 } } } // WaveSpawn { WaitForAllDead a2 TotalCurrency 100 MaxActive 6 Support 1 WaitBeforeStarting 6 Where spawnbot_giant Where spawnbot WaitBetweenSpawns 0.8 TFBot { Class Heavyweapons Name "Heavy Pan" ClassIcon pan_lite WeaponRestrictions MeleeOnly Attributes AlwaysCrit Skill Expert Action Mobber Item "Frying Pan" Item "TTG Glasses" ItemAttributes { ItemName "Frying Pan" "damage causes airblast" 3 } CharacterAttributes { "move speed bonus" 1.2 } } } WaveSpawn { WaitForAllDead a2 TotalCurrency 50 MaxActive 6 Support 1 WaitBeforeStarting 6 Where spawnbot_giant Where spawnbot WaitBetweenSpawns 1.2 TFBot { Template jump_soldier } } } }