#base robot_giant.pop #base robot_standard.pop #base robot_gatebot.pop #base robot_tank_small_turret.pop population { StartingCurrency 3800 RespawnWaveTime 6 CanBotsAttackWhileInSpawnRoom no WaveStartCountdown 5 SpawnTemplate timerbot_logic PrecacheModel "models/bots/boss_bot/boss_blimp.mdl" PrecacheModel "models/bots/boss_bot/boss_blimp_damage1.mdl" PrecacheModel "models/bots/boss_bot/boss_blimp_damage2.mdl" PrecacheModel "models/bots/boss_bot/boss_blimp_damage3.mdl" PrecacheModel "models/bots/boss_bot/boss_blimp_damage_explode.mdl" PrecacheModel "models/bots/boss_bot/boss_blimp_explode.mdl" ExtraSpawnPoint { Name "spawnbot_ez" TeamNum 3 X "-5" Y "1930" Z "388" StartDisabled 1 } ExtraSpawnPoint { Name "spawnbot_es" TeamNum 3 X "-1" Y "-1117" Z "452" StartDisabled 1 } ExtraSpawnPoint { Name "spawnbot_bomb" TeamNum 3 X "0" Y "-1028" Z "452" } ExtraSpawnPoint { Name "outside" TeamNum 3 X "-2440" Y "1878" Z "-11" } ExtraSpawnPoint { Name "spawnbot_dummy" TeamNum 3 X "-2440" Y "1878" Z "-11" } ExtraTankPath { Name "blimp_path" Node "-2562 3279 1488" Node "-3100 2218 1281" Node "-3127 371 927" Node "-1063 -503 868" Node "-62 -1975 800" } ExtraTankPath { Name "tank_ambush_path" Node "890.79 -651.15 396.17" Node "0 -651.12 459.02" Node "-7.71 -1610.02 459.02" Node "-478.08 -1708.05 455.91" Node "-440 -2334.48 523.03" Node "-106.25 -2335.48 523.03" Node "368.22 -2544 587.03" } PointTemplates { tp_tank_annotation { NoFixup 1 training_annotation { "targetname" "tptank_hint" "display_text" "Tank teleporting in!" "lifetime" "5.5" "origin" "890.79 -651.15 396.17" } } blimp_annotation { NoFixup 1 training_annotation { "targetname" "blimp_hint" "display_text" "Get out of the cave, a blimp has spawned!" "lifetime" "5.5" "origin" "-2562 3279 1488" } } Moosic { ambient_generic { "message" "#*timeattack.mp3" "health" "10" "radius" "20" "spawnflags" "17" "targetname" "timeattack" } } StickyTank { OnParentKilledOutput // Clean up stickies { Target tf_projectile_pipe Action Kill Delay 0.1 } OnSpawnOutput { Target stickytank_init_relay Action Trigger Delay 0.1 } logic_relay { "targetname" "stickytank_init_relay" "OnTrigger" "!parent,AddOutput,OnHealthBelow60Percent stickytank_timer:UpperRandomBound:5:0:-1,0,-1" "OnTrigger" "!parent,AddOutput,OnHealthBelow60Percent stickytank_timer:LowerRandomBound:5:0:-1,0,-1" "OnTrigger" "!parent,AddOutput,OnHealthBelow30Percent stickytank_timer:UpperRandomBound:2.5:0:-1,0,-1" "OnTrigger" "!parent,AddOutput,OnHealthBelow30Percent stickytank_timer:LowerRandomBound:2.5:0:-1,0,-1" } logic_relay { "targetname" "stickytank_shooter_relay" "OnTrigger" "stickytank_mimic,FireOnce,,0,-1" "OnTrigger" "stickytank_shoot_sound,PlaySound,,0,-1" "OnTrigger" "stickytank_mimic,FireOnce,,0.1,-1" "OnTrigger" "stickytank_shoot_sound,PlaySound,,0.1,-1" "OnTrigger" "stickytank_mimic,FireOnce,,0.2,-1" "OnTrigger" "stickytank_shoot_sound,PlaySound,,0.2,-1" "OnTrigger" "stickytank_mimic,FireOnce,,0.3,-1" "OnTrigger" "stickytank_shoot_sound,PlaySound,,0.3,-1" "OnTrigger" "stickytank_mimic,FireOnce,,0.4,-1" "OnTrigger" "stickytank_shoot_sound,PlaySound,,0.4,-1" "OnTrigger" "stickytank_mimic,FireMultiple,4,0.5,-1" "OnTrigger" "stickytank_shoot_sound,PlaySound,,0.5,-1" "OnTrigger" "stickytank_mimic,FireOnce,,0.6,-1" "OnTrigger" "stickytank_shoot_sound,PlaySound,,0.6,-1" "OnTrigger" "stickytank_mimic,FireOnce,,0.7,-1" "OnTrigger" "stickytank_shoot_sound,PlaySound,,0.7,-1" "OnTrigger" "stickytank_mimic,FireOnce,,0.8,-1" "OnTrigger" "stickytank_shoot_sound,PlaySound,,0.8,-1" "OnTrigger" "stickytank_mimic,FireOnce,,0.9,-1" "OnTrigger" "stickytank_shoot_sound,PlaySound,,0.9,-1" "OnTrigger" "stickytank_mimic,FireMultiple,4,1,-1" "OnTrigger" "stickytank_shoot_sound,PlaySound,,1,-1" "OnTrigger" "stickytank_mimic_crit,FireOnce,,1.5,-1" "OnTrigger" "stickytank_shoot_sound_crit,PlaySound,,1.5,-1" "OnTrigger" "stickytank_mimic_crit,FireMultiple,2,2,-1" "OnTrigger" "stickytank_shoot_sound_crit,PlaySound,,2,-1" "OnTrigger" "!self,EnableRefire,,2,-1" "OnTrigger" "stickytank_mimic_crit,FireMultiple,3,2.5,-1" "OnTrigger" "stickytank_shoot_sound_crit,PlaySound,,2.5,-1" "OnTrigger" "stickytank_mimic_crit,FireMultiple,6,3,-1" "OnTrigger" "stickytank_shoot_sound_crit,PlaySound,,3,-1" "OnTrigger" "stickytank_mimic,DetonateStickies,,7,-1" "OnTrigger" "stickytank_mimic_crit,DetonateStickies,,7,-1" } logic_timer { "targetname" "stickytank_timer" "spawnflags" "0" "UpperRandomBound" "10" "LowerRandomBound" "7" "UseRandomTime" "1" "OnTimer" "stickytank_shooter_relay,Trigger,,0,-1" } prop_dynamic { "targetname" "stickytank_model" "model" "models/props_frontline/tank_turret.mdl" "skin" "2" "solid" "0" "spawnflags" "0" "origin" "-16 -66 108" "angles" "-56.5 0 -90" } prop_dynamic { "targetname" "stickytank_model" "model" "models/props_frontline/tank_turret.mdl" "skin" "2" "solid" "0" "spawnflags" "0" "origin" "-12 66 108" "angles" "-58.5 0 90" } tf_point_weapon_mimic { "targetname" "stickytank_mimic" "WeaponType" "3" "ModelScale" "1" "SpeedMax" "525" "SpeedMin" "525" "Crits" "0" "Damage" "75" "SpreadAngle" "25" "SplashRadius" "125" "FireSound" "weapons/stickybomblauncher_shoot_crit.wav" "origin" "54 -56 216" "angles" "-58.5 359 180" } tf_point_weapon_mimic { "targetname" "stickytank_mimic_crit" "WeaponType" "3" "ModelScale" "1" "SpeedMax" "525" "SpeedMin" "525" "Crits" "1" "Damage" "75" "SpreadAngle" "25" "SplashRadius" "125" "FireSound" "weapons/stickybomblauncher_shoot_crit.wav" "origin" "54 -56 216" "angles" "-58.5 359 180" } tf_point_weapon_mimic { "targetname" "stickytank_mimic" "WeaponType" "3" "ModelScale" "1" "SpeedMax" "525" "SpeedMin" "525" "Crits" "0" "Damage" "75" "SpreadAngle" "25" "SplashRadius" "125" "FireSound" "weapons/stickybomblauncher_shoot_crit.wav" "origin" "54 56 214" "angles" "-56.5 359 0" } tf_point_weapon_mimic { "targetname" "stickytank_mimic_crit" "WeaponType" "3" "ModelScale" "1" "SpeedMax" "525" "SpeedMin" "525" "Crits" "1" "Damage" "75" "SpreadAngle" "25" "SplashRadius" "125" "FireSound" "weapons/stickybomblauncher_shoot_crit.wav" "origin" "54 56 214" "angles" "-56.5 359 0" } ambient_generic { "targetname" "stickytank_shoot_sound" "health" "10" "message" "weapons/stickybomblauncher_shoot.wav" "pitch" "100" "pitchstart" "100" "radius" "5000" "spawnflags" "48" "origin" "64 0 224" } ambient_generic { "targetname" "stickytank_shoot_sound_crit" "health" "10" "message" "weapons/stickybomblauncher_shoot_crit.wav" "pitch" "100" "pitchstart" "100" "radius" "5000" "spawnflags" "48" "origin" "64 0 224" } } timerbot_logic { NoFixup 1 filter_tf_bot_has_tag { "targetname" "filter_timer" "Negated" "0" "require_all_tags" "1" "tags" "bot_timer" } trigger_teleport { "targetname" "filter_teleport" "mins" "-19999 -19999 -19999" "maxs" "19999 19999 19999" "spawnflags" "1" "landmark" "!activator" "filtername" "filter_timer" "target" "timerbot_position" } info_target { "targetname" "timerbot_position" "origin" "-2870 3418 33" } logic_relay { "targetname" "bluewin_relay" "ontrigger" "bots_win_blue,Roundwin,,0.1,-1" } game_round_win { "TeamNum" "3" "targetname" "bots_win_blue" "force_map_reset" "1" "classname" "game_round_win" } } } SpawnTemplate { Name "tp_tank_annotation" } SpawnTemplate { Name "blimp_annotation" } Templates { T_TFBot_Timer { Class Soldier ClassIcon timer_lite Name "Timer" Skill Easy Scale 0.001 Health 60 Attributes IgnoreEnemies Attributes IgnoreFlag Attributes SuppressFire Attributes UseBossHealthBar Action Idle AddCond { Name TF_COND_STEALTHED_USER_BUFF_FADING } StripItemSlot 0 StripItemSlot 1 StripItemSlot 2 UseCustomModel "models/empty.mdl" Tag bot_timer CharacterAttributes { "is suicide counter" 1 "cancel falling damage" 1 "cannot be sapped" 1 "not solid to players" 1 "rage giving scale" 0 "no_jump" 1 "move speed bonus" 0.001 "cannot pick up intelligence" 1 "voice pitch scale" 0 "damage force reduction" 0.001 "airblast vulnerability multiplier" 0.0001 "dmg from melee increased" 0.0001 "dmg taken from fire reduced" 0.0001 "dmg from ranged reduced" 0.0001 "afterburn immunity" 1 "wet immunity" 1 } } } Wave { WaitWhenDone 65 Checkpoint Yes SpawnTemplate Moosic StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } Explanation { Line "{EDEA15}This is wave 5 of CBT Seismic Standoff but on a time attack" Line "{EDEA15}As well as the timer condition, there is also the team wipe lose condition, dont die all at once!" } RedTeamWipeCausesWaveLoss 1 WaveSpawn { Name w5a TotalCurrency 200 TotalCount 10 MaxActive 10 SpawnCount 1 Where spawnbot WaitBeforeStarting 0 WaitBetweenSpawns 5 Squad { TFBot { Health 2500 Name "Giant Rapid Fire Widowmaker" Scale 1.9 Class Engineer ClassIcon engineer_widowmaker_inf_nys_giant Skill Normal WeaponRestrictions PrimaryOnly Action Mobber Action FetchFlag Attributes "MiniBoss" Attributes "AlwaysCrit" Item "the widowmaker" Item "tf_weapon_pistol" Item "tf_weapon_wrench" CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.1 "airblast vulnerability multiplier" 0.1 "override footstep sound set" 3 "airblast vertical vulnerability multiplier" 0.1 } ItemAttributes { ItemName "the widowmaker" "fire rate bonus" 0.5 } } } } WaveSpawn { Name w5c WaitForAllDead w5a TotalCurrency 200 TotalCount 1 MaxActive 1 SpawnCount 1 Where spawnbot WaitBeforeStarting 0 WaitBetweenSpawns 10 Squad { TFBot { Health 20000 Name "Field General" ClassIcon soldier_burstfire_conch_giant Template T_TFBot_Chief_Soldier_Extended_Concheror Item "tyrant's helm" ItemAttributes { ItemName tf_weapon_rocketlauncher "fire rate bonus" 0.1 "clip size upgrade atomic" 5 "faster reload rate" 0.5 } } } } WaveSpawn { Name w5f WaitForAllDead w5d TotalCurrency 200 TotalCount 7 MaxActive 7 SpawnCount 1 Where spawnbot WaitBeforeStarting 0 WaitBetweenSpawns 5 Squad { TFBot { Template T_TFBot_Giant_Scout_Fast Item "bombing run" } } } WaveSpawn { Name w5j WaitForAllSpawned w5i TotalCurrency 217 TotalCount 4 MaxActive 4 SpawnCount 2 Where spawnbot WaitBeforeStarting 0 WaitBetweenSpawns 5 Squad { TFBot { Health 15000 Name "Chief Delayed Giga Burst Fire" ClassIcon soldier_burstfire_hyper_lite Template T_TFBot_Giant_Soldier_Spammer_Reload Attributes "AlwaysCrit" Attributes "UseBossHealthBar" HomingRockets { IgnoreDisguisedSpies 1 IgnoreStealthedSpies 1 RocketSpeed 0.05 TurnPower 105 MaxAimError 150 AimTime 1.5 Acceleration 20000 AccelerationTime 0.1 AccelerationStartTime 1.5 Gravity 0 FollowCrosshair 0 } ItemAttributes { ItemName tf_weapon_rocketlauncher "clip size upgrade atomic" 8.0 "faster reload rate" 0.6 "projectile spread angle penalty" 30 } } TFBot { Health 4500 Name "Giant Uber Medic" Template T_TFBot_Medic_QuickUber Attributes "MiniBoss" Item "prussian pickelhaube" Item "blighted beak" ItemAttributes { ItemName "tf_weapon_medigun" "uber duration bonus" 5 } CharacterAttributes { "bot medic uber health threshold" 3000 } } } } WaveSpawn { Name w5b TotalCurrency 150 TotalCount 51 MaxActive 13 SpawnCount 1 Where spawnbot WaitBeforeStarting 30 WaitBetweenSpawns 7 Squad { TFBot { Template T_TFBot_Soldier_Buff_Banner } TFBot { Template T_TFBot_Soldier_Extended_Concheror } TFBot { Template T_TFBot_Soldier_Extended_Battalion } } } WaveSpawn { Name w5e WaitForAllSpawned w5c TotalCurrency 94 TotalCount 23 MaxActive 23 SpawnCount 1 Where spawnbot WaitBeforeStarting 0 WaitBetweenSpawns 1 Squad { TFBot { Health 700 Name "Hasty Gauntlet" Scale 1.5 Template T_TFBot_Heavyweapons_Heavyweight_Champ_Fast CharacterAttributes { "move speed bonus" 1.5 } } } } WaveSpawn { Name w5h WaitForAllDead w5g TotalCurrency 100 TotalCount 3 MaxActive 1 SpawnCount 1 Where spawnbot WaitBeforeStarting 0 WaitBetweenSpawns 5 Squad { TFBot { Template T_TFBot_Giant_Scout_Baseball_Armored } } } WaveSpawn { Name w5i WaitForAllSpawned w5g TotalCurrency 102 TotalCount 54 MaxActive 18 SpawnCount 3 Where spawnbot WaitBeforeStarting 17 WaitBetweenSpawns 1 Squad { TFBot { Health 200 Name "Rapid Fire Pomson Engineer" Class Engineer ClassIcon engineer_pomson_spammer Skill Expert Attributes "AlwaysCrit" Action Mobber Action FetchFlag WeaponRestrictions PrimaryOnly Item "the pomson 6000" Item "tf_weapon_pistol" Item "tf_weapon_wrench" ItemAttributes { ItemName "the pomson 6000" "faster reload rate" 0.1 "fire rate bonus" 0.5 } } } } WaveSpawn { Name w5d WaitForAllSpawned w5c TotalCurrency 100 TotalCount 6 MaxActive 6 SpawnCount 2 Where spawnbot WaitBeforeStarting 8 WaitBetweenSpawns 6 Squad { TFBot { Template T_TFBot_Giant_Pyro_Flare_Spammer ClassIcon pyro_flare_burst_nys Item "merc's pride scarf" } } } WaveSpawn { Name w5g WaitForAllDead w5f TotalCurrency 500 TotalCount 1 FirstSpawnWarningSound "announcer_blimp_bigrock.wav" MaxActive 1 SpawnCount 1 Where spawnbot WaitBeforeStarting 3 WaitBetweenSpawns 10 Tank { Health 15000 Name "tankboss" Speed 130 DisableSmokestack 1 Classicon blimp2_lite Skin 4 MaxTurnRate 10 Model "models/bots/boss_bot/boss_blimp.mdl" ReplaceModelCollisions 1 Gravity 0 DisableTracks 1 DisableChildModels 1 ReplaceModelCollisions 1 EngineLoopSound "npc\combine_gunship\dropship_engine_distant_loop1.wav" PingSound "npc\combine_gunship\ping_search.wav" StartingPathTrackNode "blimp_path_1" OnKilledOutput { Target boss_dead_relay Action Trigger } OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } StartWaveOutput { Target blimp_hint Action Show } } WaveSpawn { Name w5k WaitForAllDead w5j TotalCurrency 100 TotalCount 1 MaxActive 1 SpawnCount 1 Where spawnbot WaitBeforeStarting 11.5 WaitBetweenSpawns 10 Squad { Tank { Health 20000 Name "tankboss" Speed 75 StartingPathTrackNode tank_ambush_path_1 OnKilledOutput { Target redwin_relay Action Trigger } OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } StartWaveOutput { Target tptank_hint Action Show } } WaveSpawn { StartWaveWarningSound "announcer_tank_teleport.wav" WaitBeforeStarting 3 WaitForAllDead w5j } WaveSpawn { WaitForAllSpawned w5c TotalCurrency 0 TotalCount 20 MaxActive 2 SpawnCount 2 Where spawnbot WaitBeforeStarting 0 WaitBetweenSpawns 8 Support limited Squad { TFBot { Health 200 Name Soldier Class Soldier ClassIcon shotgun_reserve_lite Skill Normal WeaponRestrictions SecondaryOnly Item "tf_weapon_rocketlauncher" Item "the reserve shooter" Item "tf_weapon_shovel" } } } WaveSpawn { TotalCurrency 0 TotalCount 30 MaxActive 5 SpawnCount 2 Where spawnbot WaitBeforeStarting 0 WaitBetweenSpawns 2 Support limited Squad { TFBot { Health 125 Name "Fan-o-war Scout" Class Scout ClassIcon scout_fanowar Skill Normal WeaponRestrictions MeleeOnly Item "tf_weapon_scattergun" Item "tf_weapon_pistol_scout" Item "the fan o'war" } } } WaveSpawn { WaitForAllSpawned w5f TotalCurrency 0 TotalCount 10 MaxActive 3 SpawnCount 1 Where spawnbot WaitBeforeStarting 0 WaitBetweenSpawns 4 Support limited Squad { TFBot { Template T_TFBot_Sniper ClassIcon sniper_smg Attributes "AlwaysFireWeapon" WeaponRestrictions SecondaryOnly } } } WaveSpawn { TotalCurrency 0 TotalCount 20 MaxActive 1 SpawnCount 1 Where spawnbot WaitBeforeStarting 0 WaitBetweenSpawns 8 Support limited Squad { TFBot { Health 175 Name Pyro Class Pyro ClassIcon pyro_axtinguish Skill Normal WeaponRestrictions MeleeOnly Item "tf_weapon_flamethrower" Item "tf_weapon_shotgun_pyro" Item "the axtinguisher" } } } WaveSpawn { TotalCurrency 0 TotalCount 20 MaxActive 5 SpawnCount 1 Where spawnbot WaitBeforeStarting 3 WaitBetweenSpawns 3 Support limited Squad { TFBot { Health 150 Name "Tri-Crossbow Medic" Class Medic ClassIcon medic_crossbow_burst Skill Normal WeaponRestrictions PrimaryOnly Item "festive crusader's crossbow" Item "tf_weapon_medigun" Item "tf_weapon_bonesaw" ItemAttributes { ItemName "festive crusader's crossbow" "clip size upgrade atomic" 2 "auto fires full clip all at once" 1 } } } } WaveSpawn { TotalCurrency 400 TotalCount 12 MaxActive 6 SpawnCount 2 Where spawnbot WaitBeforeStarting 30 WaitBetweenSpawns 20 Squad { TFBot { Template T_TFBot_Giant_Demo_RapidFire ItemAttributes { ItemName tf_weapon_grenadelauncher "move speed bonus" 0.5 "faster reload rate" 0.6 "fire rate bonus" 0.1 "clip size upgrade atomic" 5.0 "Projectile speed increased" 0.65 } } } } WaveSpawn // Lose Condition { FirstSpawnOutput { Target "timeattack" Action PlaySound } Name timerbot TotalCurrency 0 TotalCount 1 MaxActive 1 SpawnCount 1 Where outside WaitBeforeStarting 0 Support limited DoneOutput { Target bluewin_relay Action Trigger } TFBot // Timer bot Template { Template T_TFBot_Timer Health 450 Message { Name "{EDEA15}Time attack! 8:00" Delay 0 Repeats 1 Ifhealthbelow 5001 } } } WaveSpawn { FirstSpawnWarningSound "vo/announcer_do_not_fail_again.mp3" } WaveSpawn { FirstSpawnWarningSound "vo/announcer_ends_5min.mp3" WaitBeforeStarting 180 Support limited } WaveSpawn { FirstSpawnWarningSound "vo/announcer_ends_2min.mp3" WaitBeforeStarting 360 Support limited } WaveSpawn { FirstSpawnWarningSound "vo/announcer_ends_60sec.mp3" WaitBeforeStarting 420 Support limited } WaveSpawn { FirstSpawnWarningSound "mvm/mvm_warning.wav" WaitBeforeStarting 420 Support limited } WaveSpawn { FirstSpawnWarningSound "vo/announcer_ends_30sec.mp3" WaitBeforeStarting 450 Support limited } WaveSpawn { FirstSpawnWarningSound "vo/announcer_ends_20sec.mp3" WaitBeforeStarting 460 Support limited } WaveSpawn { FirstSpawnWarningSound "vo/announcer_ends_10sec.mp3" WaitBeforeStarting 470 Support limited } WaveSpawn { FirstSpawnWarningSound "vo/announcer_ends_5sec.mp3" WaitBeforeStarting 475 Support limited } WaveSpawn { FirstSpawnWarningSound "vo/announcer_ends_4sec.mp3" WaitBeforeStarting 476 Support limited } WaveSpawn { FirstSpawnWarningSound "vo/announcer_ends_3sec.mp3" WaitBeforeStarting 477 Support limited } WaveSpawn { FirstSpawnWarningSound "vo/announcer_ends_2sec.mp3" WaitBeforeStarting 478 Support limited } WaveSpawn { FirstSpawnWarningSound "vo/announcer_ends_1sec.mp3" WaitBeforeStarting 479 Support limited } WaveSpawn { Name "all_dead" WaitForAllDead "w5k" Support limited } WaveSpawn { Name "true_all_dead" WaitForAllDead "all_dead" Support limited DoneOutput { Target "timeattack" Action StopSound } } } }