//By StardustSpy https://steamcommunity.com/id/StardustSpy/ #base robot_standard.pop #base robot_giant.pop #base robot_stardust.pop #base stardust_custom_wep.pop // #base overclock_cactus_scout.pop // #base overclock_cactus_soldier.pop // #base overclock_cactus_pyro.pop // #base overclock_cactus_demo.pop // #base overclock_cactus_heavy.pop // #base overclock_cactus_engineer.pop // #base overclock_cactus_medic.pop //#base overclock_cactus_sniperspy.pop //Huge Thank you for everyone who helped! //NYS: Few icons //Sntr: Letting me use and modify his cutscene logic borrowed from castle crasher (used for wave 6) //DrCactus: Overclock upgrades //Seelpit: Tank health number thingies // IF YOU USE ANYTHING THAT IS MADE BY ME, GIVE CREDIT. I WOULD APPRECIATE IT. WaveSchedule { StartingCurrency 950 CanBotsAttackWhileInSpawnRoom no RespawnWaveTime 3 NoRomevisionCosmetics 1 Robotlimit 45 BotsDropSpells 1 GiantsDropRareSpells 0 SpellDropRateCommon 0 SpellDropRateGiant 0 AllowBotExtraSlots 1 ExtraBotSlotsNodeathcam 1 UpgradeStationKeepWeapons 1 //PrecacheModel "models\workshop\weapons\c_models\c_browning\c_browning.mdl" //PrecacheModel "models\weapons\c_models\c_ash_m\c_ash_m.mdl" PrecacheModel "models\bots\boss_bot\boss_tankred.mdl" PrecacheModel "models\bots\boss_bot\boss_tankred_damage1.mdl" PrecacheModel "models\bots\boss_bot\boss_tankred_damage2.mdl" PrecacheModel "models\bots\boss_bot\boss_tankred_damage3.mdl" PrecacheModel "models\bots\boss_bot\boss_tankred_part1_destruction.mdl" PrecacheModel "models\bots\boss_bot\tankred_track_l.mdl" PrecacheModel "models\bots\boss_bot\tankred_track_r.mdl" PrecacheModel "models\bots\boss_bot\bombblue_mechanism.mdl" PrecacheSound "Dance_ofthe_Dreadnought.mp3" NoThrillerTaunt 1 StuckTimeMultiplier 2.5 FixedRespawnWaveTime Yes FixHuntsmanDamageBonus 1 // AddSentryBusterWhenDamageDealtExceeds 3000 // AddSentryBusterWhenKillCountExceeds 15 // Advanced 1 // EventPopfile Halloween //spawnbot_left //spawnbot_right //DisallowUpgrade //Advanced syntax //{ // Upgrade "ubercharge" // Upgrade name // MaxLevel 0 // Maximum allowed level //} //DisallowUpgrade //Advanced syntax //{ // Upgrade "critboost" // Upgrade name // MaxLevel 0 // Maximum allowed level //} //DisallowUpgrade //Advanced syntax //{ // Upgrade "generate rage on heal" // temporary // MaxLevel 0 // Maximum allowed level //} ExtraSpawnPoint { Name "spawnbot_mid" Teamnum 3 X "-163.0" Y "-8717.1" Z "46.6" } SpellBookNormalRoll { "Healing Aura" 1 "Fireball" 2 "Pumpkin MIRV" 1 "Teleport" 2 "Summon Skeletons" 1 "Ball O' Bats" 2 "Healing Aura" 2 "Fireball" 2 "Pumpkin MIRV" 1 "Teleport" 2 "Summon Skeletons" 1 "Ball O' Bats" 2 "Meteor Shower" 2 "Summon Monoculus" 1 } SpellBookRareRoll { "Fireball" 5 "Meteor Shower" 2 "Summon Monoculus" 1 "Summon Skeletons" 3 } ExtraTankPath { Name "tank_blue_new" Node "-128 -4416 -128" Node "576 -4224 -61.6375" Node "544 -3104 -128" Node "-192 -3136 -127" Node "-672 -3200 -64" Node "-736 -4224 -127" Node "-128 -4416 -128" Node "576 -4224 -61.6375" Node "544 -3104 -128" Node "-192 -3136 -127" Node "-672 -3200 -64" Node "-736 -4224 -127" Node "-128 -4416 -128" Node "576 -4224 -61.6375" Node "544 -3104 -128" Node "-192 -3136 -127" Node "-672 -3200 -64" Node "-736 -4224 -127" Node "-128 -4416 -128" Node "576 -4224 -61.6375" Node "544 -3104 -128" Node "-192 -3136 -127" Node "-672 -3200 -64" Node "-736 -4224 -127" Node "-128 -4416 -128" Node "576 -4224 -61.6375" Node "544 -3104 -128" Node "-192 -3136 -127" Node "-672 -3200 -64" Node "-736 -4224 -127" } ExtraTankPath { Name "tank_red_new" Node "-192 -3136 -127" Node "-672 -3200 -64" Node "-736 -4224 -127" Node "-128 -4416 -128" Node "576 -4224 -61.6375" Node "544 -3104 -128" Node "-192 -3136 -127" Node "-672 -3200 -64" Node "-736 -4224 -127" Node "-128 -4416 -128" Node "576 -4224 -61.6375" Node "544 -3104 -128" Node "-192 -3136 -127" Node "-672 -3200 -64" Node "-736 -4224 -127" Node "-128 -4416 -128" Node "576 -4224 -61.6375" Node "544 -3104 -128" Node "-192 -3136 -127" Node "-672 -3200 -64" Node "-736 -4224 -127" Node "-128 -4416 -128" Node "576 -4224 -61.6375" Node "544 -3104 -128" Node "-192 -3136 -127" Node "-672 -3200 -64" Node "-736 -4224 -127" Node "-128 -4416 -128" Node "576 -4224 -61.6375" Node "544 -3104 -128" Node "-192 -3136 -127" Node "-672 -3200 -64" Node "-736 -4224 -127" Node "-128 -4416 -128" Node "576 -4224 -61.6375" Node "544 -3104 -128" } ////////////////////////////////////////////////////POINT TEMPS ///////////////////////////////////////////////////////////// PointTemplates { teleporterbot_setup { NoFixup 1 filter_tf_bot_has_tag { "targetname" "filter_tele" "tags" "bot_tele" "require_all_tags" "1" } trigger_teleport { "mins" "-192 -160 -55" "maxs" "192 160 55" "spawnflags" "1" "origin" "1408 -7968 200.5" "target" "teledest" "filtername" "filter_tele" "OnStartTouch" "telesound,playsound,,0,-1" "OnStartTouch" "!activator,$addcond,57 2,0,-1" } } teleporterbot { NoFixup 1 prop_dynamic { "model" "models/buildables/teleporter_light.mdl" //"origin" "0 0 124" "origin" "0 -3 160" "disableshadows" "1" "skin" "1" "defaultanim" "running" "solid" "0" } info_particle_system { "effect_name" "teleporter_blue_charged_level3" "origin" "0 0 124" "start_active" "1" } info_particle_system { "effect_name" "teleporter_mvm_bot_persist" "origin" "0 0 144" "start_active" "1" } info_teleport_destination { "targetname" "teledest" "origin" "16 -3 156" "start_active" "1" } ambient_generic { "targetname" "telesound" "origin" "0 0 144" "message" "MVM.Robot_Teleporter_Deliver" "pitch" "100" "health" "10" "spawnflags" "49" } } rotate_tank { NoFixup 1 logic_relay { "origin" "0 0 0" "targetname" "rotate_tank_relay" "spawnflags" "2" "OnTrigger" "!activator,$RotateRelative,0 180 0,0,-1" //"OnTrigger" "player,$DisplayTextCenter,rotate,0,-1" } OnSpawnOutput { Target rotate_tank_relay Action Trigger } } spawn_enable { NoFixup 1 logic_relay { "targetname" "enable_spawn_relay" "spawnflags" "2" "OnTrigger" "spawnbot_ally1,Enable,,0,-1" "OnTrigger" "spawnbot_ally2,Enable,,0,-1" "OnTrigger" "spawnbot_ally3,Enable,,0,-1" //"OnTrigger" "player,$DisplayTextCenter,rotate,0,-1" } } redwin_temp { NoFixup 1 logic_relay { "origin" "0 0 0" "targetname" "redwin_relay" //"OnTrigger" "player_win_red,RoundWin,,0,-1" "OnTrigger" "bots_win_blu,Kill,,0,-1" //"OnTrigger" "player,$DisplayTextCenter,triggered red win,0,-1" "OnTrigger" "tankboss2,Kill,,0.1,-1" // kills the red tank so the wave finishes properly } game_round_win //do not interact with this { "origin" "0 0 0" "TeamNum" "2" "targetname" "player_win_red" "switch_teams" "0" "force_map_reset" "1" "classname" "game_round_win" } } bluwin_temp { NoFixup 1 logic_relay //trigger this to lose { "origin" "0 0 0" "targetname" "bluwin_relay" "OnTrigger" "bots_win_blu,RoundWin,,0,-1" } game_round_win //do not interact with this { "origin" "0 0 0" "TeamNum" "3" "targetname" "bots_win_blu" "switch_teams" "0" "force_map_reset" "1" } } telemedic_targets { NoFixup 1 info_target { "angles" "0 0 0" "spawnflags" "1" "targetname" "boss_pocket" "origin" "0 0 0" } } red_spells { NoFixup 1 tf_spell_pickup { "angles" "0 0 0" "targetname" "spell_red" "tier" "0" //"origin" "0 -3 110" "origin" "0 0 0" "$modules" "fakeparent" "$fakeparentoffset" "0 -3 160" } logic_relay //trigger this to lose { "origin" "0 0 0" "targetname" "setfakeparet_relay" "$modules" "fakeparent" "OnTrigger" "spell_red,$SetFakeParent,!activator,0,-1" } OnSpawnOutput { Target setfakeparet_relay Action Trigger } } fixed_tank_cutscene // modified castle crush cutscene logic from sntr { NoFixup 1 //ambient_generic //{ // "targetname" "sound_chime" // "origin" "0 0 0" // "message" "Halloween.ClockTick" // "pitch" "100" // "health" "10" // "spawnflags" "49" // "radius" "99999" //} ambient_generic { "targetname" "telesound" "origin" "0 0 144" "message" "MVM.Robot_Teleporter_Deliver" "pitch" "400" "health" "10" "radius" "99999" "spawnflags" "49" "origin" "-685.726 -4173.07 224.318" } ambient_generic { "targetname" "telesound2" "origin" "0 0 144" "message" "MVM.Robot_Teleporter_Deliver" "pitch" "400" "health" "10" "radius" "99999" "spawnflags" "49" "origin" "78.2107 -6133.31 84.0281" } point_viewcontrol { "angles" "15 15 0" "targetname" "tank_show_1" //"wait" "3" "origin" "-776.239 -3234.21 160.168" } point_viewcontrol { "angles" "12.9526 344.133 7.3693" "targetname" "tank_show_2" "wait" "3" "origin" "-751.653 -4177.82 137.612" } env_fade // make the transition less abrupt { targetname fade_out duration 1.8 holdtime 0.5 rendercolor "0 0 0" // 100% black } env_fade { targetname fade_in duration 2 spawnflags 1 rendercolor "0 0 0" } logic_relay { targetname crewcam_finale "OnTrigger" "respawner,ForceTeamRespawn,,0,-1" "OnTrigger" "tank_show_1,$EnableAll,,0,-1" "OnTrigger" "tank_show_2,$EnableAll,,3,-1" "OnTrigger" "fade_out,Fade,,5,-1" "OnTrigger" "fade_in,Fade,,0,-1" "OnTrigger" "sound_chime,PlaySound,,0,-1" "OnTrigger" "telesound,PlaySound,,1.5,-1" "OnTrigger" "telesound2,PlaySound,,4.5,-1" "OnTrigger" "tank_show_1,$DisableAll,,6.1,-1" "OnTrigger" "tank_show_2,$DisableAll,,7,-1" "OnTrigger" "respawner,ForceTeamRespawn,,6.1,-1" "OnTrigger" "tank_show_*,Kill,,10,-1" //stuff seelpit suggested "OnTrigger" "player,SetHudVisibility,0,0,-1" "OnTrigger" "player,SetHudVisibility,1,6,-1" "OnTrigger" "player,$AddCond,87,0.01,-1" "OnTrigger" "player,$RemoveCond,87,7,-1" } } game_forcerespawn { targetname respawner } kill_point { logic_auto { "targetname" "bot_respawnroom_kill" "OnMapSpawn" "dice_capturepoint_capture,Kill,,-1" "OnMapSpawn" "dice_capturepoint_prop,Kill,,-1" "OnMapSpawn" "team_control_point_master,SetCapLayoutCustomPositionY,5,0,-1" //dice_capturepoint_prop } } Music_Template { NoFixup 1 ambient_generic { health 10 message "Dance_ofthe_Dreadnought.mp3" radius 10 spawnflags 17 volstart 10 targetname "w2_hl2_song" } ambient_generic { health 7 message "Dance_ofthe_Dreadnought.mp3" radius 10 spawnflags 17 volstart 10 targetname "w2_hl2_song" } logic_relay { "targetname" "w2_theme_start" "spawnflags" "2" "OnTrigger" "w2_hl2_song,PlaySound,,0,-1" "OnSpawn" "!self,Trigger,,134,-1" } } tankhealth_text { //On spawn: set the % in the text to the tank's max health. //Juuust in case something goes awry at the start. OnSpawnOutput { Target timerformat Action $SetKey$case01 Param 60000 } //Change the text color from green to red, since it's dropped below half. //Just a cute touch. logic_compare { "targetname" "colorcompare" "comparevalue" "26500" //half of tank's max health "OnGreaterThan" "timertext,$SetKey$color,65 255 65,0,-1" //green "OnLessThan" "timertext,$SetKey$color,255 65 65,0,-1" //red } //Text formatter. The % will continually get replaced, see logic_relay. //Every time this gets $Format sent to it, it will fire the OnDefault outputs, //updating game_text to display the updated values. //The value of case01 replaces the %! logic_case { "targetname" "timerformat" "Case16" "RED Tank Health: %/75000" "OnDefault" "timertext,$setkey$message,,0,-1" "OnDefault" "timertext,display,0,0,-1" } //The displayed text. Only determines where it's located (x and y), and its color. game_text { "targetname" "timertext" "color" "65 225 65" "holdtime" "2" "spawnflags" "1" "channel" "4" "x" "0.4" "y" "-0.65" } //The loop for checking the tank's health, and formatting the text. //Grab the m_iHealth netprop of tankboss2 (aka: current health), //then use that as value for case01 of timerformat. //Remember: the value of case01 replaces the %! //Notice that there are only two arguments given (Target & Action; timerformat & $SetKey$case01). //The value you got from $GetData$m_iHealth is used as Param! logic_relay { "targetname" "realtimer" "spawnflags" "2" "OnTrigger" "tankboss2,$GetData$m_iHealth,timerformat|$SetKey$case01,0.01,-1" "OnTrigger" "timerformat,$format,,0.02,-1" "OnTrigger" "!self,trigger,,1,-1" "OnTrigger" "tankboss2,$GetData$m_iHealth,colorcompare|SetValueCompare,0.01,-1" } OnSpawnOutput { Target realtimer Action Trigger } } tankhealth_text2 { //On spawn: set the % in the text to the tank's max health. //Juuust in case something goes awry at the start. OnSpawnOutput { Target timerformat Action $SetKey$case01 Param 75000 } //Change the text color from green to red, since it's dropped below half. //Just a cute touch. logic_compare { "targetname" "colorcompare" "comparevalue" "37500" //half of tank's max health "OnGreaterThan" "timertext,$SetKey$color,10 177 218,0,-1" //green //"OnLessThan" "timertext,$SetKey$color,255 65 65,0,-1" //red } //Text formatter. The % will continually get replaced, see logic_relay. //Every time this gets $Format sent to it, it will fire the OnDefault outputs, //updating game_text to display the updated values. //The value of case01 replaces the %! logic_case { "targetname" "timerformat" "Case16" "BLU Tank Health: %/75000" "OnDefault" "timertext,$setkey$message,,0,-1" "OnDefault" "timertext,display,0,0,-1" } //The displayed text. Only determines where it's located (x and y), and its color. game_text { "targetname" "timertext" "color" "10 177 218" "holdtime" "2" "spawnflags" "1" "channel" "2" "x" "0.4" "y" "-0.6" } //The loop for checking the tank's health, and formatting the text. //Grab the m_iHealth netprop of tankboss2 (aka: current health), //then use that as value for case01 of timerformat. //Remember: the value of case01 replaces the %! //Notice that there are only two arguments given (Target & Action; timerformat & $SetKey$case01). //The value you got from $GetData$m_iHealth is used as Param! logic_relay { "targetname" "realtimer" "spawnflags" "2" "OnTrigger" "tankboss_blue,$GetData$m_iHealth,timerformat|$SetKey$case01,0.01,-1" "OnTrigger" "timerformat,$format,,0.02,-1" "OnTrigger" "!self,trigger,,1,-1" "OnTrigger" "tankboss_blue,$GetData$m_iHealth,colorcompare|SetValueCompare,0.01,-1" } OnSpawnOutput { Target realtimer Action Trigger } } } SpawnTemplate kill_point SpawnTemplate bluwin_temp SpawnTemplate redwin_temp //SpawnTemplate //{ // Name "teleporterbot_setup" // Origin "0 0 0" //} ////////////////////////////////////////////////////MISSIONS/MISC ///////////////////////////////////////////////////////////// Mission // buster { Where spawnbot_mid Objective DestroySentries // Engineer,Sniper,Spy,DestroySentries BeginAtWave 1 RunForThisManyWaves 2222 DesiredCount 1 InitialCooldown 25 CooldownTime 60 TFBot { Template T_TFBot_SentryBuster_Fix Item "Goblineer" ItemAttributes { Itemname "Goblineer" "item style override" 1 } } } Mission // W1 Spies { Where spawnbot_left Objective Spy // Engineer,Sniper,Spy,DestroySentries BeginAtWave 1 RunForThisManyWaves 1 DesiredCount 2 InitialCooldown 35 CooldownTime 85 TFBot { Template T_TFBot_Spy Item "Goblineer" ItemAttributes { Itemname "Goblineer" "item style override" 1 } } } Mission // W2 Engineers { Where spawnbot_left Objective Engineer // Engineer,Sniper,Spy,DestroySentries BeginAtWave 2 RunForThisManyWaves 1 DesiredCount 1 InitialCooldown 35 CooldownTime 55 TFBot { Template T_TFBot_Engineer_Sentry_Tele_Battle TeleportWhere spawnbot_left TeleportWhere spawnbot_right TeleportWhere spawnbot_mid Item "Goblineer" ItemAttributes { Itemname "Goblineer" "item style override" 1 } } } Mission // W3 Tele-In Engineers { Where spawnbot_left Objective Engineer // Engineer,Sniper,Spy,DestroySentries BeginAtWave 3 RunForThisManyWaves 1 DesiredCount 1 InitialCooldown 25 CooldownTime 60 TFBot { Template T_TFBot_Engineer_Sentry_Teleporter TeleportWhere spawnbot_left TeleportWhere spawnbot_right Item "Goblineer" ItemAttributes { Itemname "Goblineer" "item style override" 1 } } } Mission // W4 Snipers { Where spawnbot_right Objective Sniper // Engineer,Sniper,Spy,DestroySentries BeginAtWave 4 RunForThisManyWaves 1 DesiredCount 2 InitialCooldown 35 CooldownTime 60 TFBot { Template T_TFBot_Sniper Item "Goblineer" ItemAttributes { Itemname "Goblineer" "item style override" 1 } } } Mission // W5 Snipers { Where spawnbot_left Objective Sniper BeginAtWave 5 RunForThisManyWaves 1 DesiredCount 3 InitialCooldown 15 CooldownTime 60 TFBot { Template T_TFBot_Sniper TeleportWhere spawnbot_left TeleportWhere spawnbot_right TeleportWhere spawnbot_mid Item "Goblineer" ItemAttributes { Itemname "Goblineer" "item style override" 1 } //ItemAttributes //{ // Itemname "TF_WEAPON_SNIPERRIFLE" // "sniper no headshots" 1 //} } } Mission // W5 Tele-In Engineers { Where spawnbot_left Objective Engineer // Engineer,Sniper,Spy,DestroySentries BeginAtWave 5 RunForThisManyWaves 1 DesiredCount 1 InitialCooldown 25 CooldownTime 60 TFBot { Template T_TFBot_Engineer_Sentry_Teleporter Item "Goblineer" ItemAttributes { Itemname "Goblineer" "item style override" 1 } } } ////////////////////////////////////////////////////BALANCING ///////////////////////////////////////////////////////////// Templates { //scout //soldier T_TFBot_Giant_Soldier_Homing_MouseTrack { Name "Giant Homing Soldier" Class Soldier ClassIcon soldier_homing_nys_giant Scale 1.7 Health 4000 Attributes MiniBoss Attributes HoldFireUntilFullReload Skill Expert MaxVisionRange 1500 WeaponRestrictions PrimaryOnly Item "warbird_rocketlauncher_warhawk" RocketCustomParticle "eyeboss_projectile" AddCond //Adds conditions to bots { Name "TF_COND_SODAPOPPER_HYPE" Delay 1 Duration 999999 } Tag bot_giant HomingRockets { IgnoreDisguisedSpies 1 IgnoreStealthedSpies 1 TurnPower 150 MaxAimError 150 FollowCrosshair 1 } ItemAttributes { ItemName "warbird_rocketlauncher_warhawk" "projectile speed increased" 0.5 "faster reload rate" -0.8 } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.5 "airblast vulnerability multiplier" 0.5 "override footstep sound set" 3 } } //pyro T_TFBot_Pyro_Flare_Burst { Class Pyro Name "Flare Burst Pyro" Skill Expert AimLeadProjectileSpeed 1 ClassIcon pyro_flare_burst_nys Item "The Flare Gun" WeaponRestrictions SecondaryOnly Item "Last Breath" ItemAttributes { ItemName "The Flare Gun" "mult projectile count" 3 "crits_become_minicrits" 1 "projectile spread angle penalty" 3 "fire rate penalty" 1.6 // 60% slower reload "projectile speed increased" 1.25 "damage penalty" 0.50 } } //DEMO T_TFBot_Demo_Burst_Cannon { Name "Cannon Burst Demoman" Class Demoman ClassIcon demo_burst Health 750 Scale 1.5 Attributes HoldFireUntilFullReload Skill Expert WeaponRestrictions PrimaryOnly Item "The Loose Cannon" Item "The Bolted Bicorne" ItemAttributes { Itemname "The Loose Cannon" //"fire rate bonus" 0.01 "projectile spread angle penalty" 2 "grenade launcher mortar mode" 0 "fire rate bonus" 0.0001 "fuse bonus" 0.2 //"blast radius increased" 1.4 "cannonball push back" -1 "clip size penalty" 0.75 "blast radius decreased" 0.6 "reload time increased" 1.4 } CharacterAttributes { "move speed penalty" 0.8 } } //heavy T_TFBot_Giant_Heavyweapons_Brass_Steak { Name "Giant Steak Beast" Class Heavyweapons ClassIcon heavy_brass_nys_giant Scale 1.7 Health 6000 Attributes MiniBoss Skill Expert MaxVisionRange 1200 WeaponRestrictions PrimaryOnly Tag bot_giant Item "The Brass Beast" Item "The Buffalo Steak Sandvich" ItemAttributes { ItemName "The Brass Beast" "damage bonus" 1.7 "spunup_damage_resistance" 1 } ItemAttributes { Itemname "The Buffalo Steak Sandvich" "effect cond override" 19 // allows minigun to minicrit //"mult effect duration" 1. "alt-fire disabled" 1 "effect bar recharge rate increased" 1.35 //"max health additive bonus" 1 "force weapon switch" 1 "single wep deploy time increased" 0.01 } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.3 "airblast vulnerability multiplier" 0.3 "override footstep sound set" 2 } } T_TFBot_Giant_Heavyweapons_Shotgun_Burst { Class Heavyweapons Name "Giant Burst Shotgun Heavy" ClassIcon heavy_shotgun_burst_lite Skill Expert Health 5000 WeaponRestrictions SecondaryOnly MaxVisionRange 1200 Attributes MiniBoss Attributes HoldFireUntilFullReload ItemAttributes { ItemName "TF_WEAPON_SHOTGUN_HWG" "fire rate bonus" 0.5 "bullets per shot bonus" 5 "damage penalty" 0.5 //"attack projectiles" 2 "faster reload rate" 0.8 } CharacterAttributes { "move speed bonus" 0.7 "damage force reduction" 0.3 "airblast vulnerability multiplier" 0.3 "override footstep sound set" 2 } } //engi T_TFBot_Engineer_Justice { Name "Frontier Justice Engineer" Class Engineer ClassIcon engineer_frontier_justice_nys Skill Normal MaxVisionRange 1200 WeaponRestrictions PrimaryOnly Attributes AlwaysCrit Item "The Frontier Justice" Item "Texas Ten Gallon" Action FetchFlag ItemAttributes { ItemName "The Frontier Justice" "fire rate penalty" 2.5 "faster reload rate" 0.2 } } //med //spy T_TFBot_Spy_Revolver { Name "Revolver Spy" Class Spy ClassIcon spy_revolver_lite WeaponRestrictions PrimaryOnly AimTrackingInterval 0.1 Skill Hard Action FetchFlag CharacterAttributes { "cannot disguise" 1 } } } Wave // Wave 1 // scouts { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } InitWaveOutput { Target holograms_3way_relay Action Trigger } WaveSpawn { Name "SUPPORT" WaitForAllDead "a1.1" Where spawnbot_left TotalCount 100 MaxActive 2 SpawnCount 2 WaitBeforeStarting 0 WaitBetweenSpawns 7 TotalCurrency 100 Support 1 TFBot { Class Soldier Skill Normal } } WaveSpawn { Name "support2" WaitForAllDead "a2" Where spawnbot_right TotalCount 100 MaxActive 3 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 1.35 TotalCurrency 100 Support 1 TFBot { Class Scout Skill Easy } } WaveSpawn { Name "a1" Where spawnbot_left TotalCount 20 MaxActive 10 SpawnCount 5 WaitBeforeStarting 2 WaitBetweenSpawns 3.5 TotalCurrency 50 TFBot { Class Scout Skill Normal } } WaveSpawn { Name "a1.1" Where spawnbot_right TotalCount 12 MaxActive 6 SpawnCount 3 WaitBeforeStarting 0 WaitBetweenSpawns 5 TotalCurrency 50 TFBot { Template T_TFBot_Demoman Skill Easy } } WaveSpawn { Name "a2" WaitForAllDead "a1" Where spawnbot_left TotalCount 2 MaxActive 2 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 14 TotalCurrency 100 TFBot { Template T_TFBot_Giant_Soldier } } WaveSpawn { Name "a2.1" WaitForAllDead "a1" Where spawnbot_left Where spawnbot_right TotalCount 21 MaxActive 12 SpawnCount 3 WaitBeforeStarting 0 WaitBetweenSpawns 3 TotalCurrency 100 TFBot { Template T_TFBot_Demoman_Knight } } WaveSpawn { Name "a3" WaitForAllDead "a2" Where spawnbot_left TotalCount 6 MaxActive 6 SpawnCount 3 WaitBeforeStarting 0 WaitBetweenSpawns 25 TotalCurrency 100 Squad { TFBot { Template T_TFBot_Giant_Demoman ClassIcon demo_spammer_giant } TFBot { Template T_TFBot_Medic_Kritz Tag bot_squad_member } TFBot { Template T_TFBot_Medic_Kritz Tag bot_squad_member } } } WaveSpawn { Name "b1" WaitForAllDead "a3" Where spawnbot_mid TotalCount 16 MaxActive 8 SpawnCount 8 WaitBeforeStarting 0 WaitBetweenSpawns 12 TotalCurrency 100 Squad { TFBot { Template T_TFBot_Spy_Revolver } TFBot { Template T_TFBot_Medic_QuickFix Tag bot_squad_member } } } WaveSpawn { Name "b1.1" WaitForAllDead "a3" Where spawnbot_right TotalCount 3 MaxActive 2 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 15 TotalCurrency 100 TFBot { Template T_TFBot_Giant_Pyro_Flare_Spammer } } } Wave // Wave 2 // demoknight { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } InitWaveOutput { Target holograms_3way_relay Action Trigger } WaveSpawn { Name "support" //WaitForAllDead "a3.1" Where spawnbot TotalCount 100 MaxActive 5 SpawnCount 5 WaitBeforeStarting 45 WaitBetweenSpawns 12 TotalCurrency 100 Support 1 TFBot { Template T_TFBot_Pyro_Flaregun } } WaveSpawn { Name "a1" Where spawnbot_mid TotalCount 28 MaxActive 14 SpawnCount 7 WaitBeforeStarting 5 WaitBetweenSpawns 8 TotalCurrency 100 TFBot { Template T_TFBot_Heavyweapons_Shotgun } } WaveSpawn { Name "help_giant" Where spawnbot_mid TotalCount 2 MaxActive 1 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 0 TotalCurrency 75 TFBot { Template T_TFBot_Giant_DemoMan_PrinceTavish } } WaveSpawn { Name "a2" WaitForAllSpawned "a1" Where spawnbot_mid TotalCount 20 MaxActive 10 SpawnCount 5 WaitBeforeStarting 0 WaitBetweenSpawns 12 TotalCurrency 75 TFBot { Template T_TFBot_Scout_Shortstop Action EscortFlag Skill Easy } } WaveSpawn { Name "a2.1" WaitForAllDead "a1" Where spawnbot_right Where spawnbot_left TotalCount 20 MaxActive 10 SpawnCount 5 WaitBeforeStarting 0 WaitBetweenSpawns 6.5 TotalCurrency 100 RandomChoice { TFBot { Template T_TFBot_Heavyweapons_Heavyweight_Champ_Fast ClassIcon heavy_champ } TFBot { Template T_TFBot_Heavyweapons_Heavyweight_Champ ClassIcon heavy_champ } TFBot { Template T_TFBot_Heavy_FistOfSteel ClassIcon heavy_champ } } } WaveSpawn { Name "a3" WaitForAllSpawned "a2" Where spawnbot_mid TotalCount 3 MaxActive 2 SpawnCount 1 WaitBeforeStarting 10 WaitBetweenSpawns 15 TotalCurrency 100 TFBot { Template T_TFBot_Giant_Pyro CharacterAttributes { "reflect keep team" 1 } } } WaveSpawn // Tank 20k HP { Name "tankboss" WaitForAllSpawned "a2" TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 2 WaitBetweenSpawns 0 TotalCurrency 75 Tank { Name "tankboss" StartingPathTrackNode "tank_path_bomb_start" Health 13000 Speed 75 Skin 0 OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn // tank set speed { WaitForAllSpawned "a2" TotalCount 1 SpawnCount 1 WaitBeforeStarting 3 Support Limited FirstSpawnOutput { Target tank_speed_set_75 Action Trigger } } WaveSpawn { Name "a3.1" WaitForAllSpawned "a2" Where spawnbot_left TotalCount 30 MaxActive 10 SpawnCount 5 WaitBeforeStarting 0 WaitBetweenSpawns 9.5 TotalCurrency 75 Support Limited TFBot { Class Soldier Skill Normal //ClassIcon soldier_bazooka } } } Wave // Wave 3 { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } InitWaveOutput { Target holograms_3way_relay Action Trigger } WaveSpawn // spawn mid { Name "a1" Where spawnbot_right Where spawnbot_mid TotalCount 24 MaxActive 12 SpawnCount 4 WaitBeforeStarting 0 WaitBetweenSpawns 4 TotalCurrency 100 TFBot { Template T_TFBot_Heavy_Warrior } } WaveSpawn { Name "a1.1" Where spawnbot_right TotalCount 12 MaxActive 4 SpawnCount 4 WaitBeforeStarting 3 WaitBetweenSpawns 15 TotalCurrency 150 Squad { TFBot { Template T_TFBot_Giant_Soldier_DirectHit } TFBot { Template T_TFBot_Soldier_Extended_Buff_Banner Tag bot_squad_member } TFBot { Template T_TFBot_Soldier_Extended_Buff_Banner Tag bot_squad_member } TFBot { Template T_TFBot_Soldier_Extended_Buff_Banner Tag bot_squad_member } } } WaveSpawn { Name "a2" WaitForAllSpawned "a1.1" Where spawnbot_mid TotalCount 11 MaxActive 11 SpawnCount 11 WaitBeforeStarting 8 WaitBetweenSpawns 0 TotalCurrency 200 Squad { TFBot { Template T_TFBot_Giant_Heavyweapons_Shotgun //Attributes AlwaysCrit //ClassIcon demo_scatter } TFBot { Template T_TFBot_Medic_BigHeal_Fix Tag bot_squad_member //ClassIcon medic_shield_lite Attributes IgnoreEnemies } TFBot { Template T_TFBot_Medic_BigHeal_Fix Tag bot_squad_member //ClassIcon medic_shield_lite Attributes IgnoreEnemies } TFBot { Template T_TFBot_Medic_BigHeal_Fix Tag bot_squad_member //ClassIcon medic_shield_lite Attributes IgnoreEnemies } TFBot { Template T_TFBot_Medic_BigHeal_Fix Tag bot_squad_member //ClassIcon medic_shield_lite Attributes IgnoreEnemies } TFBot { Template T_TFBot_Medic_BigHeal_Fix Tag bot_squad_member //ClassIcon medic_shield_lite Attributes IgnoreEnemies } TFBot { Template T_TFBot_Medic_BigHeal_Fix Tag bot_squad_member //ClassIcon medic_shield_lite Attributes IgnoreEnemies } TFBot { Template T_TFBot_Medic_BigHeal_Fix Tag bot_squad_member //ClassIcon medic_shield_lite Attributes IgnoreEnemies } TFBot { Template T_TFBot_Medic_BigHeal_Fix Tag bot_squad_member //ClassIcon medic_shield_lite Attributes IgnoreEnemies } TFBot { Template T_TFBot_Medic_BigHeal_Fix Tag bot_squad_member //ClassIcon medic_shield_lite Attributes IgnoreEnemies } TFBot { Template T_TFBot_Medic_BigHeal_Fix Tag bot_squad_member //ClassIcon medic_shield_lite Attributes IgnoreEnemies } } } WaveSpawn { Name "a2.1" WaitForAllDead "a1" Where spawnbot_mid TotalCount 25 MaxActive 10 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 1 TotalCurrency 150 TFBot { Class Soldier Skill Normal } } WaveSpawn { Name "a3" WaitForAllDead "a2" Where spawnbot_left TotalCount 12 MaxActive 4 SpawnCount 4 WaitBeforeStarting 0 WaitBetweenSpawns 0 TotalCurrency 200 Squad { TFBot { Template T_TFBot_Giant_Heavyweapons //Classicon heavy_conch_lite_giant } TFBot { Template T_TFBot_Medic_QuickUber CharacterAttributes { "uber duration bonus" -1 } Tag bot_squad_member } TFBot { Template T_TFBot_Medic_QuickUber Tag bot_squad_member CharacterAttributes { "uber duration bonus" -1 } } TFBot { Template T_TFBot_Medic_QuickUber CharacterAttributes { "uber duration bonus" -1 } Tag bot_squad_member } } } WaveSpawn { Name "a3.1" WaitForAllDead "a2" Where spawnbot_left TotalCount 16 MaxActive 4 SpawnCount 4 WaitBeforeStarting 7.5 WaitBetweenSpawns 14 TotalCurrency 150 TFBot { Template T_TFBot_Demo_Burst_Cannon //Classicon demo_burst_donk } } WaveSpawn { Name "support2" WaitForAllDead "a2.1" Where spawnbot_mid TotalCount 50 MaxActive 10 SpawnCount 2 WaitBeforeStarting 20 WaitBetweenSpawns 4 TotalCurrency 50 Support 1 TFBot { Template T_TFBot_Sniper_Huntsman } } } Wave // Wave 4 { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } InitWaveOutput { Target holograms_3way_relay Action Trigger } WaveSpawn { Name "a1" Where spawnbot_mid TotalCount 3 MaxActive 2 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 15 TotalCurrency 100 TFBot { Template T_TFBot_Giant_Demoman_Burst_Fix } } WaveSpawn { Name "a1" Where spawnbot_mid TotalCount 25 MaxActive 10 SpawnCount 5 WaitBeforeStarting 0 WaitBetweenSpawns 9 TotalCurrency 100 TFBot { Template T_TFBot_Soldier_Extended_Buff_Banner } } WaveSpawn { Name "a1.1" Where spawnbot_right TotalCount 12 MaxActive 3 SpawnCount 3 WaitBeforeStarting 7.5 WaitBetweenSpawns 18 TotalCurrency 200 RandomChoice { TFBot { Template T_TFBot_Heavy_IronFist_Airblast } TFBot { Template T_TFBot_Heavy_IronFist_Airblast } TFBot { Template T_TFBot_Heavy_IronFist_Airblast } TFBot { Template T_TFBot_Heavy_IronFist_Airblast BehaviorModifiers Push } } } WaveSpawn { Name "a2" WaitForAllDead "a1" Where spawnbot_right Where spawnbot_left TotalCount 28 MaxActive 10 SpawnCount 2 WaitBeforeStarting 0 WaitBetweenSpawns 2 TotalCurrency 100 TFBot { Class Heavyweapons Item "Tomislav" Item "Capone's Capper" Skill Hard Name "Tomislav Heavy" Classicon heavy_tomislav_lite } } WaveSpawn { Name "a3" WaitForAllDead "a1" Where spawnbot_mid TotalCount 3 MaxActive 3 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 20 TotalCurrency 200 TFBot { Template T_TFBot_Giant_Pyro_Flare_Spammer_Fix Item "Fear Monger" } } WaveSpawn { Name "a3.1" WaitForAllSpawned "a2" Where spawnbot_mid TotalCount 48 MaxActive 24 SpawnCount 12 WaitBeforeStarting 4 WaitBetweenSpawns 12 TotalCurrency 50 Squad { //ShouldPreserveSquad 1 TFBot { Template T_TFBot_Engineer_Justice Item "Goblineer" ItemAttributes { Itemname "Goblineer" "item style override" 1 } Action FetchFlag Skill Expert } TFBot { Template T_TFBot_Medic_BigHeal_Fix Tag bot_squad_member } } } WaveSpawn // Tank 24k HP { Name "tankboss" WaitForAllSpawned "a2" TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 0 TotalCurrency 100 Tank { Name "tankboss" StartingPathTrackNode "tank_path_bomb_start" Health 18000 Speed 75 Skin 0 OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn // tank set speed { WaitForAllSpawned "a2" TotalCount 1 SpawnCount 1 WaitBeforeStarting 3 Support Limited FirstSpawnOutput { Target tank_speed_set_75 Action Trigger } } WaveSpawn { Name "b1" WaitForAllDead "a3.1" Where spawnbot_mid TotalCount 2 MaxActive 2 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 28 TotalCurrency 100 TFBot { Template T_TFBot_Giant_Pyro Attributes AlwaysCrit CharacterAttributes { "reflect keep team" 1 } } } WaveSpawn // spawn mid { Name "b1.1" WaitForAllDead "a3.1" Where spawnbot_mid TotalCount 24 MaxActive 16 SpawnCount 8 WaitBeforeStarting 0 WaitBetweenSpawns 8 TotalCurrency 50 TFBot { Template T_TFBot_Soldier_Extended_Concheror Skill Normal } } } Wave // Wave 5 { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } InitWaveOutput { Target holograms_3way_relay Action Trigger } //WaveSpawn //{ // Name "engineers" // WaitForAllSpawned "tankboss" // Where spawnbot_left // TotalCount 22 // MaxActive 2 // SpawnCount 2 // WaitBeforeStarting 0 // WaitBetweenSpawns 50 // TotalCurrency 0 // Support 1 // TFBot // { // Template T_TFBot_Engineer_Wrangler_Offensive // Attributes TeleportToHint // } //} WaveSpawn { Name "a2" //WaitForAllDead "a1" Where spawnbot_mid TotalCount 4 MaxActive 2 SpawnCount 2 WaitBeforeStarting 0 WaitBetweenSpawns 0 TotalCurrency 300 Squad { TFBot { Template T_TFBot_Giant_Heavyweapons_Brass_Steak } TFBot { Template T_TFBot_Giant_Medic_Shield Tag bot_squad_member Scale 1.5 Health 4000 ClassIcon medic_shield_lite Attributes IgnoreEnemies } } } WaveSpawn { Name "a2.1" //WaitForAllDead "a1" Where spawnbot_right TotalCount 60 MaxActive 12 SpawnCount 2 WaitBeforeStarting 5 WaitBetweenSpawns 2.5 TotalCurrency 300 RandomChoice { TFBot { Template T_TFBot_Pyro_Flaregun Skill Expert } TFBot { Template T_TFBot_Pyro_Flaregun Skill Expert } TFBot { Template T_TFBot_Pyro_Flaregun Skill Expert } TFBot { Template T_TFBot_Pyro_Flaregun Skill Expert //AimLeadProjectileSpeed 1 } TFBot { Template T_TFBot_Pyro_Flaregun Skill Expert BehaviorModifiers Push } } } WaveSpawn { Name "a3" WaitForAllDead "a2" Where spawnbot_mid TotalCount 4 MaxActive 2 SpawnCount 2 WaitBeforeStarting 0 WaitBetweenSpawns 0 TotalCurrency 300 Squad { TFBot { Class Soldier Name "Giant Rapid Fire Soldier" ClassIcon soldier_spammer Health 3800 Skill Expert WeaponRestrictions PrimaryOnly Attributes MiniBoss ItemAttributes { ItemName "TF_WEAPON_ROCKETLAUNCHER" "faster reload rate" -0.8 "fire rate bonus" 0.5 } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.4 "airblast vulnerability multiplier" 0.4 "override footstep sound set" 3 "Projectile speed decreased" 0.65 } } TFBot { Name "Giant Homing Medic" Class Medic ClassIcon medic_homing Scale 1.7 Health 4500 Attributes MiniBoss Attributes SpawnWithFullCharge Attributes IgnoreEnemies Skill Expert WeaponRestrictions SecondaryOnly Tag bot_giant Item "The Trepanabotomizer" Item "The Kritzkrieg" ItemAttributes { ItemName "The Kritzkrieg" "uber duration bonus" 999 "effect cond override" 36 "medigun passive attributes" "mod projectile heat seek power|45|mod projectile heat aim error|25" "ubercharge rate bonus" 100 } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.4 "airblast vulnerability multiplier" 0.4 "heal rate bonus" 20 "bot medic uber health threshold" 100000 } } } } WaveSpawn { Name "a3.1" WaitForAllDead "a2" Where spawnbot_left Where spawnbot_mid Where spawnbot_right TotalCount 20 MaxActive 5 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 2 TotalCurrency 350 TFBot { Template T_TFBot_Demoman Skill Hard } } WaveSpawn { Name "a3.1" WaitForAllDead "a2" Where spawnbot_left Where spawnbot_mid Where spawnbot_right TotalCount 20 MaxActive 5 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 2 TotalCurrency 350 TFBot { Template T_TFBot_Sniper_Huntsman Skill Expert } } WaveSpawn // Tank 35k HP { Name "tankboss" WaitForAllSpawned "a3" TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 13 WaitBetweenSpawns 0 TotalCurrency 300 Tank { Name "tankboss" StartingPathTrackNode "tank_path_bomb_start" Health 29000 Speed 75 Skin 0 OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn // set speed { WaitForAllSpawned "a3" TotalCount 1 SpawnCount 1 WaitBeforeStarting 16 Support Limited FirstSpawnOutput { Target tank_speed_set_75 Action Trigger } } WaveSpawn { Name "b1" WaitForAllDead "a3" Where spawnbot_mid Where spawnbot_left TotalCount 50 MaxActive 12 SpawnCount 3 WaitBeforeStarting 0 WaitBetweenSpawns 10 TotalCurrency 300 Support 1 TFBot { Template T_TFBot_Demo_Burst_Fix Skill Expert Name "Burst Fire Demoman" } } WaveSpawn { Name "b1.1" WaitForAllDead "a3" Where spawnbot_mid Where spawnbot_left TotalCount 24 MaxActive 12 SpawnCount 3 WaitBeforeStarting 0 WaitBetweenSpawns 2 TotalCurrency 300 TFBot { Template T_TFBot_Pyro_Phlogistinator } } } // Wave // Wave 6 // { // StartWaveOutput // { // Target wave_start_relay // Action Trigger // } // DoneOutput // { // Target wave_finished_relay // Action Trigger // } // InitWaveOutput // { // Target holograms_3way_relay // Action Trigger // } // Explanation // { // Line "{9632dc}Equip a {yellow}Spellbook {9632dc}this wave..." // Line "{9632dc}An ally {red}Tank {9632dc}will give you spells!" // Line "{9632dc}If the {red}Red Tank {9632dc}dies... You lose." // Line "{Blue}You will hear Music playing this wave! Don't worry, you wont get a copyright strike." // //Line "{9632dc}du" // } // SpawnTemplate teleporterbot_setup // SpawnTemplate fixed_tank_cutscene // SpawnTemplate spawn_enable // SpawnTemplate Music_Template // SpawnTemplate tankhealth_text // SpawnTemplate tankhealth_text2 // WaveSpawn // just chillin // { // // Where spawnbot_gate_c // WaitBeforeStarting 0 // TotalCount 1 // Support limited // HideIcon 1 // FirstSpawnOutput // { // Target crewcam_finale // Action Trigger // } // TFBot // { // ClassIcon soldier // } // } // WaveSpawn // just chillin 2 // { // // Where spawnbot_gate_c // WaitBeforeStarting 0 // TotalCount 1 // Support limited // HideIcon 1 // FirstSpawnOutput // { // Target enable_spawn_relay // Action Trigger // } // TFBot // { // ClassIcon soldier // } // } // WaveSpawn // just chillin 3 // { // // Where spawnbot_gate_c // WaitBeforeStarting 0 // TotalCount 1 // Support limited // HideIcon 1 // FirstSpawnOutput // { // Target w2_theme_start // Action Trigger // } // TFBot // { // ClassIcon soldier // } // } // WaveSpawn // Dummy // { // TotalCount 1 // SpawnCount 1 // WaitBeforeStarting 8.5 // StartWaveMessage "{yellow}Now Playing: {58D70B}Dance of the Dreadnought - Deep Rock Galactic OST" // Support Limited // } // WaveSpawn // { // Name "bomb carriers" // Where spawnbot_left // TotalCount 222 // MaxActive 21 // SpawnCount 7 // WaitBeforeStarting 7.5 // WaitBetweenSpawns 30 // TotalCurrency 5000 // Support 1 // RandomChoice // { // //scout // TFBot // { // Class Scout // Skill Expert // ClassIcon blu_lite // Action Mobber // } // TFBot // { // Template T_TFBot_Scout_Cola // Skill Hard // ClassIcon blu_lite // Action Mobber // } // TFBot // { // Template T_TFBot_Scout_Pistol // Skill Normal // ClassIcon blu_lite // Action Mobber // } // TFBot // { // Template T_TFBot_Scout_Popper // Skill Expert // ClassIcon blu_lite // Action Mobber // } // TFBot // { // Template T_TFBot_Scout_Bonk_Scattergun // ClassIcon blu_lite // Action Mobber // } // //soldier // TFBot // { // Class Soldier // Skill Hard // ClassIcon blu_lite // Action Mobber // } // TFBot // { // Template T_TFBot_Soldier_Backup // ClassIcon blu_lite // Action Mobber // } // TFBot // { // Template T_TFBot_Soldier_Beggars // ClassIcon blu_lite // Action Mobber // } // TFBot // { // Template T_TFBot_Soldier_Buff_Banner // ClassIcon blu_lite // Action Mobber // } // TFBot // { // Template T_TFBot_Soldier_Conch // ClassIcon blu_lite // Action Mobber // } // TFBot // { // Template T_TFBot_Soldier_HomingRockets // ClassIcon blu_lite // Action Mobber // } // TFBot // { // Template T_TFBot_Giant_Soldier // Skill Hard // ClassIcon blu_lite // Action Mobber // } // //pyro // TFBot // { // Class Pyro // Skill Hard // CharacterAttributes // { // "reflect keep team" 1 // } // ClassIcon blu_lite // Action Mobber // } // TFBot // { // Template T_TFBot_Pyro_Dragon // ClassIcon blu_lite // Action Mobber // } // TFBot // { // Template T_TFBot_Pyro_Phlog // ClassIcon blu_lite // Action Mobber // } // TFBot // { // Template T_TFBot_Pyro_Flaregun // ClassIcon blu_lite // Action Mobber // } // //demo // TFBot // { // Class Demoman // Skill Hard // ClassIcon blu_lite // Action Mobber // } // TFBot // { // Template T_TFBot_Demo_Burst_Fix // Name "Burst Fire Demoman" // ClassIcon blu_lite // Action Mobber // } // TFBot // { // Template T_TFBot_Demo_Burst_Cannon // Skill Hard // ClassIcon blu_lite // Action Mobber // } // TFBot // { // Template T_TFBot_Demoman_Knight // Skill Hard // ClassIcon blu_lite // Action Mobber // } // TFBot // { // Template T_TFBot_Demoman_Stickybomb // Skill Hard // ClassIcon blu_lite // Action Mobber // } // //heavy // TFBot // { // Class Heavyweapons // Skill Hard // ClassIcon blu_lite // Action Mobber // } // TFBot // { // Template T_TFBot_Heavy_Brass // ClassIcon blu_lite // Action Mobber // } // TFBot // { // Template T_TFBot_Heavy_Deflector // classIcon blu_lite // Action Mobber // } // TFBot // { // Template T_TFBot_Heavy_Shotgun_Judge // ClassIcon blu_lite // Action Mobber // } // TFBot // { // Template T_TFBot_Heavy_Tomislav // ClassIcon blu_lite // Action Mobber // } // TFBot // { // Template T_TFBot_Heavyweapons_Fist // ClassIcon blu_lite // Action Mobber // } // TFBot // { // Template T_TFBot_Heavyweapons_Shotgun // ClassIcon blu_lite // Action Mobber // } // TFBot // { // Template T_TFBot_Heavy_Heater_Fix // ClassIcon blu_lite // Action Mobber // } // } // } // WaveSpawn // { // Name "phlogs" // Where spawnbot_mid // TotalCount 2222 // MaxActive 2 // SpawnCount 2 // WaitBeforeStarting 35 // WaitBetweenSpawns 23 // TotalCurrency 0 // Support 1 // RandomChoice // { // TFBot // { // Template T_TFBot_Giant_Pyro_Phlog // ClassIcon blu_lite // Attributes DisableDodge // Action Mobber // ExtAttr IgnoreBuildings // Ignore buildings // ExtAttr IgnorePlayers // Ignore players // InterruptAction // Stop current bot ai and force the bot to move to a location // { // Target "tankboss2" // KillAimTarget 1 // Duration 999999 // } // } // TFBot // { // Template T_TFBot_Giant_Pyro_Phlog // ClassIcon blu_lite // Attributes DisableDodge // Action Mobber // } // } // } // WaveSpawn // { // Name "tank busters" // Where spawnbot_left // TotalCount 222 // MaxActive 3 // SpawnCount 3 // WaitBeforeStarting 16 // WaitBetweenSpawns 55 // TotalCurrency 5000 // Support 1 // RandomChoice // { // //scout // TFBot // { // Template T_TFBot_Giant_Scout_Fix // Attributes DisableDodge // Attributes IgnoreFlag // Action Mobber // ClassIcon blu_lite // ExtAttr IgnoreBuildings // Ignore buildings // ExtAttr IgnorePlayers // Ignore players // InterruptAction // Stop current bot ai and force the bot to move to a location // { // Target "tankboss2" // KillAimTarget 1 // Duration 999999 // } // } // TFBot // { // Template T_TFBot_Giant_Scout_Pop // Attributes DisableDodge // Action Mobber // ClassIcon blu_lite // ExtAttr IgnoreBuildings // Ignore buildings // ExtAttr IgnorePlayers // Ignore players // InterruptAction // Stop current bot ai and force the bot to move to a location // { // Target "tankboss2" // KillAimTarget 1 // Duration 999999 // } // } // TFBot // { // Class Scout // Skill Expert // Attributes DisableDodge // Action Mobber // ClassIcon blu_lite // ExtAttr IgnoreBuildings // Ignore buildings // ExtAttr IgnorePlayers // Ignore players // InterruptAction // Stop current bot ai and force the bot to move to a location // { // Target "tankboss2" // KillAimTarget 1 // Duration 999999 // } // } // TFBot // { // Template T_TFBot_Scout_Popper // Attributes DisableDodge // Action Mobber // ClassIcon blu_lite // ExtAttr IgnoreBuildings // Ignore buildings // ExtAttr IgnorePlayers // Ignore players // InterruptAction // Stop current bot ai and force the bot to move to a location // { // Target "tankboss2" // KillAimTarget 1 // Duration 999999 // } // } // TFBot // { // Class Scout // Skill Expert // Attributes DisableDodge // Action Mobber // ClassIcon blu_lite // ExtAttr IgnoreBuildings // Ignore buildings // ExtAttr IgnorePlayers // Ignore players // InterruptAction // Stop current bot ai and force the bot to move to a location // { // Target "tankboss2" // KillAimTarget 1 // Duration 999999 // } // } // TFBot // { // Template T_TFBot_Scout_Popper // Attributes DisableDodge // Action Mobber // ClassIcon blu_lite // ExtAttr IgnoreBuildings // Ignore buildings // ExtAttr IgnorePlayers // Ignore players // InterruptAction // Stop current bot ai and force the bot to move to a location // { // Target "tankboss2" // KillAimTarget 1 // Duration 999999 // } // } // //soldier // TFBot // { // Template T_TFBot_Soldier_Beggars // ClassIcon blu_lite // Attributes DisableDodge // Action Mobber // ExtAttr IgnoreBuildings // Ignore buildings // ExtAttr IgnorePlayers // Ignore players // InterruptAction // Stop current bot ai and force the bot to move to a location // { // Target "tankboss2" // KillAimTarget 1 // Duration 999999 // } // } // TFBot // { // Template T_TFBot_Soldier_Extended_Battalion // ClassIcon blu_lite // Attributes DisableDodge // Action Mobber // ExtAttr IgnoreBuildings // Ignore buildings // ExtAttr IgnorePlayers // Ignore players // InterruptAction // Stop current bot ai and force the bot to move to a location // { // Target "tankboss2" // KillAimTarget 1 // Duration 999999 // } // } // TFBot // { // Template T_TFBot_Soldier_Extended_Buff_Banner // ClassIcon blu_lite // Attributes DisableDodge // Action Mobber // ExtAttr IgnoreBuildings // Ignore buildings // ExtAttr IgnorePlayers // Ignore players // InterruptAction // Stop current bot ai and force the bot to move to a location // { // Target "tankboss2" // KillAimTarget 1 // Duration 999999 // } // } // TFBot // { // Template T_TFBot_Soldier_Extended_Concheror // ClassIcon blu_lite // Attributes DisableDodge // Action Mobber // ExtAttr IgnoreBuildings // Ignore buildings // ExtAttr IgnorePlayers // Ignore players // InterruptAction // Stop current bot ai and force the bot to move to a location // { // Target "tankboss2" // KillAimTarget 1 // Duration 999999 // } // } // TFBot // { // Template T_TFBot_Soldier_Extended_Battalion // ClassIcon blu_lite // Attributes DisableDodge // Action Mobber // } // TFBot // { // Template T_TFBot_Soldier_Extended_Buff_Banner // ClassIcon blu_lite // Attributes DisableDodge // Action Mobber // } // TFBot // { // Template T_TFBot_Soldier_Extended_Concheror // ClassIcon blu_lite // Attributes DisableDodge // Action Mobber // } // TFBot // { // Template T_TFBot_Giant_Soldier // ClassIcon blu_lite // Attributes DisableDodge // Action Mobber // ExtAttr IgnoreBuildings // Ignore buildings // ExtAttr IgnorePlayers // Ignore players // InterruptAction // Stop current bot ai and force the bot to move to a location // { // Target "tankboss2" // KillAimTarget 1 // Duration 999999 // } // } // TFBot // { // Template T_TFBot_Giant_Soldier // ClassIcon blu_lite // Attributes DisableDodge // Action Mobber // } // //pyro // TFBot // { // Template T_TFBot_Pyro_Phlog // ClassIcon blu_lite // Attributes DisableDodge // Action Mobber // ExtAttr IgnoreBuildings // Ignore buildings // ExtAttr IgnorePlayers // Ignore players // InterruptAction // Stop current bot ai and force the bot to move to a location // { // Target "tankboss2" // KillAimTarget 1 // } // } // TFBot // { // Template T_TFBot_Pyro_Phlog // ClassIcon blu_lite // Attributes DisableDodge // Action Mobber // ExtAttr IgnoreBuildings // Ignore buildings // ExtAttr IgnorePlayers // Ignore players // InterruptAction // Stop current bot ai and force the bot to move to a location // { // Target "tankboss2" // KillAimTarget 1 // Duration 999999 // } // } // TFBot // { // Template T_TFBot_Pyro_Phlog // ClassIcon blu_lite // Attributes DisableDodge // Action Mobber // } // TFBot // { // Template T_TFBot_Pyro_Dragon // ClassIcon blu_lite // Attributes DisableDodge // Action Mobber // ExtAttr IgnoreBuildings // Ignore buildings // ExtAttr IgnorePlayers // Ignore players // InterruptAction // Stop current bot ai and force the bot to move to a location // { // Target "tankboss2" // KillAimTarget 1 // Duration 999999 // } // } // //demo // TFBot // { // Template T_TFBot_Giant_Demoman // ClassIcon blu_lite // Attributes DisableDodge // Action Mobber // ExtAttr IgnoreBuildings // Ignore buildings // ExtAttr IgnorePlayers // Ignore players // InterruptAction // Stop current bot ai and force the bot to move to a location // { // Target "tankboss2" // KillAimTarget 1 // Duration 999999 // } // } // TFBot // { // Template T_TFBot_Giant_Demoman // ClassIcon blu_lite // Attributes DisableDodge // Action Mobber // } // //heavy // } // } // WaveSpawn // { // Name "1a" // Where spawnbot_left // TotalCount 30 // SpawnCount 1 // MaxActive 5 // Support 1 // WaitBetweenSpawns 13 // WaitBeforeStarting 12 // RandomChoice // { // //cant be arsed to fix this indentation sorry, cope! // TFBot // { // Template T_TFBot_Giant_Soldier_Spammer // Attributes AlwaysCrit // Tag bot_tele // ClassIcon blu_lite // SpellDropRateCommon 0.35 // SpellDropRateRare 0.15 // Action Mobber // } // TFBot // { // Template T_TFBot_Giant_Demoman_Burst_Fix // Tag bot_tele // ClassIcon blu_lite // SpellDropRateCommon 0.35 // SpellDropRateRare 0.15 // Action Mobber // } // TFBot // { // Template T_TFBot_Giant_Soldier_Homing_MouseTrack // Tag bot_tele // ClassIcon blu_lite // SpellDropRateCommon 0.35 // SpellDropRateRare 0.15 // Action Mobber // } // TFBot // { // Template T_TFBot_Giant_Pyro_Dragon // Tag bot_tele // ClassIcon blu_lite // SpellDropRateCommon 0.35 // SpellDropRateRare 0.15 // Action Mobber // } // TFBot // { // Template T_TFBot_Giant_Heavyweapons_Shotgun // Tag bot_tele // ClassIcon blu_lite // SpellDropRateCommon 0.35 // SpellDropRateRare 0.15 // Action Mobber // } // TFBot // { // Template T_TFBot_Giant_Pyro // Tag bot_tele // ClassIcon blu_lite // SpellDropRateCommon 0.35 // SpellDropRateRare 0.15 // Action Mobber // CharacterAttributes // { // "reflect keep team" 1 // } // } // TFBot // { // Template T_TFBot_Giant_Demoman_Barrage // Tag bot_tele // ClassIcon blu_lite // SpellDropRateCommon 0.35 // SpellDropRateRare 0.15 // Action Mobber // } // TFBot // { // Template T_TFBot_Giant_Demoman_Stickybomb_Burst // Tag bot_tele // ClassIcon blu_lite // SpellDropRateCommon 0.35 // SpellDropRateRare 0.15 // Action Mobber // } // TFBot // { // Template T_TFBot_Giant_Soldier_Mangler_ChargeShot // Tag bot_tele // ClassIcon blu_lite // SpellDropRateCommon 0.35 // SpellDropRateRare 0.15 // Action Mobber // //Attributes AlwaysCrit // } // TFBot // { // Template T_TFBot_Giant_Soldier_BurstFire_NoCrit // Tag bot_tele // ClassIcon blu_lite // SpellDropRateCommon 0.35 // SpellDropRateRare 0.15 // Action Mobber // } // TFBot // { // Template T_TFBot_Giant_Pyro_Flare_Spammer_Fix // Tag bot_tele // ClassIcon blu_lite // SpellDropRateCommon 0.35 // SpellDropRateRare 0.15 // Action Mobber // } // // TFBot // // { // // Template T_TFBot_Giant_Pyro_Flareburst // // Tag bot_tele // // ClassIcon blu_lite // // SpellDropRateCommon 0.35 // // SpellDropRateRare 0.15 // // Action Mobber // // } // } // } // WaveSpawn // red tank // { // Name "tank" // TotalCount 1 // MaxActive 1 // SpawnCount 1 // WaitBeforeStarting 1.5 // WaitBetweenSpawns 0 // TotalCurrency 0 // Tank // { // Name "tankboss2" // StartingPathTrackNode "tank_red_new_1" // Health 75000 // Speed 75 // Skin 1 // //Immobile 1 // Classicon tank_red_lite // SpawnTemplate red_spells // TeamNum 2 // TriggerDestroyBuildingFix 1 // Model // { // Default "models/bots/boss_bot/boss_tankred.mdl" // Damage1 "models/bots/boss_bot/boss_tankred_damage1.mdl" // Damage2 "models/bots/boss_bot/boss_tankred_damage2.mdl" // Damage3 "models/bots/boss_bot/boss_tankred_damage3.mdl" // Destruction "models/bots/boss_bot/boss_tankred_part1_destruction.mdl" // LeftTrack "models/bots/boss_bot/tankred_track_l.mdl" // RightTrack "models/bots/boss_bot/tankred_track_r.mdl" // Bomb "models/bots/boss_bot/bombblue_mechanism.mdl" // } // OnKilledOutput // { // Target bluwin_relay // Action Trigger // } // OnBombDroppedOutput // { // Target boss_deploy_relay // Action Trigger // } // } // } // WaveSpawn // blu tank // { // Name "tank1" // TotalCount 1 // MaxActive 1 // SpawnCount 1 // WaitBeforeStarting 4.5 // WaitBetweenSpawns 0 // TotalCurrency 0 // DoneOutput // { // Target redwin_relay // Action Trigger // } // Tank // { // Name "tankboss_blue" // StartingPathTrackNode "tank_blue_new_1" // Health 75000 // Speed 75 // Skin 1 // //Immobile 1 // Classicon tank_tele // //MaxTurnRate 0 // SpawnTemplate teleporterbot // //SpawnTemplate rotate_tank // TriggerDestroyBuildingFix 1 // NoScreenShake 1 // OnBombDroppedOutput // { // Target boss_deploy_relay // Action Trigger // } // } // } // WaveSpawn // { // Name "win" // WaitForAllDead "tank1" // Where spawnbot // TotalCount 1 // MaxActive 1 // SpawnCount 1 // WaitBeforeStarting 0 // WaitBetweenSpawns 0 // TotalCurrency 0 // Support Limited // HideIcon 1 // TFBot // { // Class Scout // Health 1 // Attributes IgnoreFlag // CharacterAttributes // { // "is suicide counter" 123 // } // } // } // } }