//Underworld Reverse V2, by StardustSpy https://steamcommunity.com/id/StardustSpy/ //Huge thanks to Jurrell for the custom nav file, he's a cool guy https://steamcommunity.com/id/Jurrell //Braindawg and Hell-met for advice //Eve and Yaki made the Marauder related stuff //Eve's Profile: https://steamcommunity.com/id/EveLan //Lite for number timer + some icons // IF YOU USE ANYTHING THAT IS MADE BY ME, GIVE CREDIT. I WOULD APPRECIATE IT. #base robot_standard.pop #base robot_giant.pop #base robot_stardust_new.pop #base reverse_timer.pop //////////////TO DO: WaveSchedule { StartingCurrency 800 CanBotsAttackWhileInSpawnRoom yes //RespawnWaveTime 12 // FixedRespawnWaveTime 1 // AddSentryBusterWhenDamageDealtExceeds 3000 // AddSentryBusterWhenKillCountExceeds 15 // Advanced 1 EventPopfile Halloween // Essential stuff ReverseWinConditions 1 AllowJoinTeamBlueMax 6 AllowJoinTeamBlue 1 HumansMustJoinTeam Blue SetCreditTeam 3 SniperAllowHeadshots 1 BluHumanInfiniteAmmo 1 BluHumanInfiniteCloak 0 FixedRespawnWaveTimeBlue 1 RespawnWaveTimeBlue 1 SendBotsToSpectatorImmediately 1 NoMvMDeathTune 1 NoRomevisionCosmetics 1 WaveStartCountdown 5 AllowBotExtraSlots 1 ExtraBotSlotsNoDeathcam 1 RobotLimit 26 MaxSpectators 0 ZombiesNoWave666 1 FlagEscortCountOffset 10 BotsRandomCrit 1 RemoveBluVelocityLimit 1 MedigunShieldDamage 1 BluPlayersAreRobots 1 SniperHideLasers 1 AllowBombBuffsForPlayerCarriers 1 FixHuntsmanDamageBonus 1 NoSkeletonSplit 1 //NoBluHumanFootsteps 1 BluHumanSpawnNoShoot 1 NoRedSniperBotHeadshots 1 BluHumanSpawnProtection 1 //ForceRedMoney 1 BluHumanFlagCapture 1 BluHumanFlagPickup 1 HHHNoControlPointLogic 1 HHHNonSolidToPlayers 1 HHHHealthPerPlayer 0 HHHChaseRange 9999 HHHQuitRange 10000 HHHHealthBase 2500 HHHChaseDuration 9999 //Special Files CustomNavFile "mvm_underworld_rc2_customnav_v3_alt" PrecacheModel "models\props_mvm\mvm_upgrade_blu.mdl" PrecacheModel "models\props_mvm\robot_spawnpoint.mdl" PrecacheModel "models\props_mvm\hatch_shield.mdl" PrecacheModel "models\weapons\c_models\c_argent_axe\c_argent_axe.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" PrecacheModel "models\weapons\c_models\c_m16\c_m16.mdl" PrecacheModel "models\weapons\c_models\c_axlegun\c_axlegun.mdl" PrecacheModel "models\weapons\c_models\c_howitzer\c_lochnload.mdl" PrecacheModel "models\bots\demo\red_sentry_buster.mdl" PrecacheModel "models\weapons\c_models\c_packer.mdl" PrecacheModel "models\weapons\c_models\c_angel_blade\c_angel_blade.mdl" //Disable Sounds DisableSound "music.mvm_end_last_wave" DisableSound "music.mvm_end_mid_wave" DisableSound "music.mvm_end_tank_wave" DisableSound "music.mvm_end_wave" DisableSound "music.mvm_lost_wave" DisableSound "music.mvm_start_last_wave" DisableSound "music.mvm_start_mid_wave" DisableSound "music.mvm_start_tank_wave" DisableSound "music.mvm_start_wave" DisableSound "music.class_menu" DisableSound "Announcer.MVM_Get_To_Upgrade" DisableSound "Announcer.MVM_Spy_Alert" DisableSound "Announcer.mvm_spybot_death" DisableSound "Announcer.mvm_spybot_death_all" DisableSound "Announcer.MVM_First_Wave_Start" DisableSound "Announcer.MVM_Wave_Start" DisableSound "Announcer.MVM_Wave_End" DisableSound "Announcer.MVM_Wave_Lose" DisableSound "Announcer.MVM_Final_Wave_Start" DisableSound "Announcer.MVM_Final_Wave_End" DisableSound "Announcer.MVM_Robots_Planted" DisableSound "Announcer.MVM_Bomb_Alert_Entered" DisableSound "Announcer.MVM_Bomb_Alert_Near_Hatch" DisableSound "Announcer.MVM_Bomb_Alert_Deploying" DisableSound "Announcer.MVM_General_Wave_Start" DisableSound "Announcer.MVM_Game_Over_Loss" DisableSound "Announcer.MVM_Tank_Planted" DisableSound "Announcer.MVM_Tank_Alert_Spawn" DisableSound "Announcer.MVM_Tank_Alert_Another" DisableSound "Announcer.MVM_Tank_Alert_Multiple" DisableSound "Announcer.MVM_Tank_Alert_Halfway" DisableSound "Announcer.MVM_Tank_Alert_Halfway_Multiple" DisableSound "Announcer.MVM_Tank_Alert_Near_Hatch" DisableSound "Announcer.MVM_Tank_Alert_Deploying" PrecacheModel "models/props_mvm/reversemvm_redwall_112x152.mdl" PrecacheModel "models/props_mvm/reversemvm_redwall_640x300.mdl" PrecacheModel "models/props_mvm/reversemvm_redwall_352x256.mdl" PrecacheModel "models/props_mvm/reversemvm_redwall.mdl" PrecacheModel "models/props_mvm/reversemvm_redwall_640x418.mdl" PrecacheModel "models/props_mvm/reversemvm_redwall_512x320.mdl" PrecacheSound "kriss_shoot.wav" PrecacheSound "weapons\pomson_fire_crit_01.wav" /////////////////////////////////////////BALANCING ////////////////////////////////////////////////// OverrideSounds // taken from mobo { "MVM.BombWarning" "siren2.wav" "MVM.GiantHeavyExplodes" "npc\env_headcrabcanister\explosion.wav" "MVM.GiantCommonExplodes" "npc\env_headcrabcanister\explosion.wav" } ItemBlacklist // no canteens { // Name "Kritz Or Treat Canteen" // Name "Default Power Up Canteen (MvM)" // Name "Power Up Canteen (MvM)" // Name "Battery Canteens" Name "Zombie Scout" Name "Zombie Pyro" Name "Zombie Soldier" Name "Zombie Heavy" Name "Zombie Demo" Name "Zombie Engineer" Name "Zombie Medic" Name "Zombie Spy" Name "Zombie Sniper" Name "Basic Spellbook" Name "Halloween Spellbook" Name "TF_WEAPON_SPELLBOOK" } PlayerAttributes { Engineer { "max health additive bonus" 125 // standard for rev } Heavyweapons { "cannot upgrade bomb" 1 "mult flag carrier move speed" 1.7 } } CustomWeapon { "Boston Rocket Science" { OriginalItemName "tf_weapon_scattergun" "override projectile type" 2 "mult projectile count" 4 "damage bonus hidden" 5 "blast radius decreased" 0.6 "mult projectile scale" 0.5 "projectile spread angle penalty" 2 "maxammo primary reduced" 0.75 "special item description" "Fires tiny Rockets." "explosion particle" "Explosion_Dustup" "projectile trail particle" "~rockettrail_burst_airstrike" "custom item model" "models\weapons\c_models\c_packer.mdl" } "Gravity Grenades" { OriginalItemName "Upgradeable TF_WEAPON_GRENADELAUNCHER" "clip size penalty" 0.5 "grenade bounce speed" 0.8 "fire rate bonus hidden" 0.2 "projectile detonate time" 0.35 "Projectile speed increased HIDDEN" 3.5 "max health additive bonus" 75 "move speed penalty" 0.85 "blast dmg to self increased" 0 "reload full clip at once" 1 "hidden primary max ammo bonus" 1.5 "damage bonus HIDDEN" 1.3 "reload time increased" 2.5 "Special item description" "200% faster projectiles, 80% faster firing speed." "custom item model" "models\weapons\c_models\c_howitzer\c_lochnload.mdl" "custom projectile model" "models/workshop/weapons/c_models/c_quadball/w_quadball_grenade.mdl" } "Bushman's Bomb" { OriginalItemName "Jarate" "override projectile type" 3 "dmg penalty vs players" 40 //"projectile detonate time" 4 "grenade explode on impact" 1 "stickybomb no stick" 1 //"mult projectile scale" 1.3 "blast radius increased" 1.5 "blast dmg to self increased" 0 "energy weapon no deflect" 1 "explosion particle" "asplode_hoodoo" "custom projectile model" "models\props_lakeside_event\bomb_temp.mdl" "Special item description" "Throw a large bomb!" } "Oppenheimer's Nightmare" { OriginalItemName "tf_weapon_pistol" "projectile speed decreased" 0.2 "custom item model" "models\workshop\weapons\c_models\c_drg_manmelter\c_drg_manmelter.mdl" "projectile acceleration start time" 0.45 "projectile acceleration" 2275 "damage bonus" 5 "projectile no deflect" 1 "no crit boost" 1 "override projectile type extra" "mechanicalarmorb" "fire rate penalty" 3 "clip size penalty" 0.25 "reload time increased" 5 "passive reload" 1 "provide on active" 1 "maxammo secondary reduced" 0.05 "custom weapon fire sound" "weapons\pomson_fire_crit_01.wav" "no primary ammo from dispensers while active" 1 "Special item description" "Fires a high damage, penetrating orb similar to the Short Circuit." } "Fireball Thrower" { OriginalItemName "jarate" "override projectile type extra" "spellfireball" "custom item model" "models\empty.mdl" "cannot be upgraded" 1 "attach particle effect" 13 } "Marauder's Axe" // devasting crit swings, cannot 2 shot light classes { OriginalItemName "The Scotsman's Skullcutter" "custom item model" "models\weapons\c_models\c_argent_axe\c_argent_axe.mdl" "damage bonus" 1 "move speed penalty" 1 "mult crit dmg" 3.419 "melee cleave attack" 1 "fire rate penalty" 1.25 // makes players use the swing for a charge "crit mod disabled" 0 "damage all connected" 1 "damage penalty" 0.65 "hand scale" 2 } "Deadly Deflector" // inspired by numerator deflector { OriginalItemName "Deflector" "damage bonus" 1.5 "attack projectiles" 2 "max health additive penalty" -100 "crit mod disabled" 0 //"cannot be upgraded" 1 } "Optimise Module" // allows engie to function better in reverse, sacrifice wrangler { OriginalItemName "Roboot" "Special item description" "50 metal is spent for upgrading instead of 25. Grants infinite metal. +250 Max health" "upgrade rate decrease" 2 "metal regen" 999 "max health additive bonus" 250 } "Quick-Ubercharger" // for when you need a quick ubercharge in a pinch but not for doing huge pushes { OriginalItemName "upgradeable TF_WEAPON_MEDIGUN" "uber duration bonus" -3 "ubercharge rate bonus" 5 "overheal fill rate reduced" 0.1 "custom item model" "models\weapons\c_models\c_axlegun\c_axlegun.mdl" } "Ankle Biter's Answer" { OriginalItemName "Tf_weapon_scattergun" // gives sniper an identity other then 'headshot guy' //"custom item model" "models\weapons\c_models\c_gutbuster\c_gutbuster.mdl" "custom item model" "models\weapons\c_models\c_m16\c_m16.mdl" "bullets per shot bonus" 0.2 "weapon spread bonus" 0 "clip size penalty HIDDEN" 5 "fire rate bonus hidden" 0.15 "hidden primary max ammo bonus" 8.45 "reload full clip at once" 1 "damage bonus hidden" 4 "crit mod disabled hidden" 0 "cannot be upgraded" 1 "reload time increased hidden" 3 "no damage view flinch" 1 //"cannot taunt" 1 // uses scout voice lines?? "max health additive bonus" 75 "custom kill icon" "family_business" "custom weapon fire sound" "kriss_shoot.wav" } "Supermann's Machete" // grants an on kill effect that rewards spy for getting stabs and then getting hit //cant stack mannpower ups :cri: { OriginalItemName "the big earner" "speed_boost_on_kill" 0 "add cloak on kill" 0 "max health additive penalty" 0 "add cond on kill" 95 "add cond on kill duration" 8 "fire rate penalty" 1.5 "mult dmg vs giants" 1.1 // compensates for how trash it is vs giants "custom item model" "models\weapons\c_models\c_angel_blade\c_angel_blade.mdl" "Special item description" "Grants Reflect mannpower power up on kill." } } DisallowUpgrade { Upgrade "faster reload rate" ItemName "Gravity Grenades" } DisallowUpgrade { Upgrade "clip size upgrade atomic" ItemName "Gravity Grenades" } // ExtraLoadoutItems // { // Scout // { // Primary "Boston Rocket Science" // } // Pyro // { // Secondary "Fireball Thrower" // } // Demoman // { // Melee "Marauder's Axe" // Primary "Gravity Grenades" // } // Heavyweapons // { // Primary "Deadly Deflector" // } // Engineer // { // Secondary "Optimise Module" // Secondary "Oppenheimer's Nightmare" // } // Medic // { // Secondary "Quick-Ubercharger" // } // Sniper // { // Primary "Ankle Biter's Answer" // Secondary "Bushman's Bomb" // } // Spy // { // Melee "Supermann's Machete" // } // } //Scout ItemAttributes { Itemname "bonk! atomic punch" "effect cond override" 73 } ItemAttributes { Itemname "The Beggar's Bazooka" "damage penalty" 0.85 "clip size bonus" 1.75 "reload time increased hidden" 2 } ItemAttributes { Itemname "The Gunboats" "mult flag carrier move speed" 1.7 } ItemAttributes { Itemname "The Mantreads" "mult flag carrier move speed" 1.7 } ItemAttributes { Itemname "The Razorback" "mult flag carrier move speed" 1.7 } ItemAttributes { Itemname "Darwin's Danger Shield" "mult flag carrier move speed" 1.7 } ItemAttributes { Itemname "Ali Baba's Wee Booties" "mult flag carrier move speed" 1.7 } ItemAttributes { Itemname "The Thermal Thruster" "mult flag carrier move speed" 1.7 } ItemAttributes { Itemname "The Bootlegger" "mult flag carrier move speed" 1.7 } ItemAttributes { Itemname "The Rescue Ranger" "max health additive penalty" -25 "projectile speed decreased" 0.75 } ItemAttributes { Itemname "The Widowmaker" "damage penalty" 0.8 } ItemAttributes { Itemname "The Short Circuit" "max health additive penalty" -50 "fire rate penalty" 4 } ItemAttributes { SimilarToItem "The Wrangler" "engy building health bonus" 0.85 } ItemAttributes { Classname "tf_weapon_knife" "add attributes when active" "cannot pick up intelligence|1" } ////////////////////////////////EXTENDED UPGRADES //////////////////////////////////////////////// ExtendedUpgrades { PermaCrits { Name "Permanent Critboost" Attribute "always crit" Cap 1 Increment 1 Cost 400 Description "Weapon always deals Critical Hits." AllowedWeapons { ClassName tf_weapon_pistol ClassName tf_weapon_handgun_scout_secondary ClassName TF_WEAPON_PISTOL_SCOUT ItemName "The C.A.P.P.E.R" Itemname "TTG Max Pistol - Poker Night" Itemname "TTG Max Pistol" Itemname "The Winger" Itemname "Pretty Boy's Pocket Pistol" Itemname "The Flying Guillotine" Itemname "The Righteous Bison" Itemname "TF_WEAPON_SMG" Itemname "Upgradeable TF_WEAPON_SMG" Itemname "The Third Degree" } } Airblast_SpeedBoost { Name "Airblast gives Speed" Attribute "airblast_give_teammate_speed_boost" Cap 3 Increment 1 Cost 200 Description "Airblast will boost teammate and users speed. +2 seconds per point." AllowedWeapons { Classname "TF_WEAPON_FLAMETHROWER" } } MeleeDMGIncrease { Name "Extra Damage Bonus" Attribute "damage bonus" Cap 2.0 Increment 0.25 Cost 400 Description "+25% Damage bonus." AllowedWeapons { Slot "Melee" } DisallowedWeapons { Classname "tf_weapon_knife" Itemname "Nessie's Nine Iron" Itemname "The Claidheamohmor" Itemname "The Eyelander" Itemname "Festive Eyelander" Itemname "The Persian Persuader" Itemname "The Scotsman's Skullcutter" Itemname "The Horseless Headless Horseman's Headtaker" Itemname "The Half-Zatoichi" } } MeleeDMGIncreaseSword { Name "Extra Sword Damage" Attribute "damage bonus HIDDEN" Cap 1.2 Increment 0.2 Cost 400 Description "Gives sword weapons an additional +20% damage bonus" AllowedWeapons { Itemname "Nessie's Nine Iron" Itemname "The Claidheamohmor" Itemname "The Eyelander" Itemname "Festive Eyelander" Itemname "The Persian Persuader" Itemname "The Scotsman's Skullcutter" Itemname "The Horseless Headless Horseman's Headtaker" Itemname "The Half-Zatoichi" } } BlastRaidus { Name "Big Blast" Attribute "blast radius increased" Cap 1.6 Increment 0.15 Cost 200 // notorious for being very good Description "Increased Blast Radius on all explosive weapons by 15% per point." AllowedWeapons { Classname "TF_WEAPON_GRENADELAUNCHER" itemname "Upgradeable TF_WEAPON_GRENADELAUNCHER" Classname "TF_WEAPON_ROCKETLAUNCHER" Itemname "Upgradeable TF_WEAPON_ROCKETLAUNCHER" Itemname "The Original" Itemname "The Liberty Launcher" Itemname "The Cow Mangler 5000" Itemname "The Direct Hit" Itemname "The Beggar's Bazooka" Itemname "tf_weapon_stickbomb" Classname "tf_weapon_pipebomblauncher" } } Adrenaline { Name "Adrenaline" Attribute "speed_boost_on_kill" Cap 6 Increment 3 PlayerUpgrade 1 Cost 300 Description "Provides a speed boost on kill. 3 seconds per tick." AllowPlayerClass Scout AllowPlayerClass Soldier AllowPlayerClass Pyro AllowPlayerClass Demoman AllowPlayerClass Heavyweapons AllowPlayerClass Medic AllowPlayerClass Sniper AllowPlayerClass Spy } MMCHWS { Name "Can Holster while spinning" Attribute "mod minigun can holster while spinning" Cap 1 Increment 1 PlayerUpgrade 1 Cost 100 Description "Minigun's can holster while spinning." AllowPlayerClass Heavyweapons } Adrenaline // engineer { Name "Adrenaline" Attribute "speed_boost_on_kill" Cap 6 Increment 3 PlayerUpgrade 1 Cost 150 Description "Provides a speed boost on kill. 3 seconds per tick." AllowPlayerClass Engineer } Revolver_Crit { Name "Critical Shot" Attribute "last shot crits" Cap 1 Increment 1 Cost 200 Description "Revolvers are guranteed to critically hit their last shot in the clip." AllowedWeapons { itemname "tf_weapon_revolver" itemname "upgradeable tf_weapon_revolver" Itemname "The Enforcer" Itemname "L'Etranger" } } Shield_ChargeDur { Name "Charging Time Increase" Attribute "charge time increased" Cap 4 Increment 1 Cost 100 Description "Grants +1 seconds charge duration and 100% turn control for shield's." AllowedWeapons { Classname "tf_wearable_demoshield" } SecondaryAttributes { "mult charge turn control" 1 } } // AmmoRegen // bad upgrade // { // Name "Ammo + Metal Regeneration" // Attribute "ammo regen" // Cap 0.30 // Increment 0.15 // PlayerUpgrade 1 // Cost 300 // Description "Provides Ammo regeneration that occurs every 5 seconds. +15% total ammo regenerated, stacks with max ammo upgrades." // AllowPlayerClass Scout // AllowPlayerClass Soldier // AllowPlayerClass Pyro // AllowPlayerClass Demoman // AllowPlayerClass Heavyweapons // AllowPlayerClass Medic // AllowPlayerClass Sniper // AllowPlayerClass Spy // AllowPlayerClass Engineer // SecondaryAttributes // { // "metal regen" 50 // } // } ConstructionRateincreased { Name "Construction Rate Increased" Attribute "Construction rate increased" Cap 1.5 Increment 0.5 Cost 200 Description "Construction rate increased by 50%" Allowplayerclass Engineer AllowedWeapons { Slot "Melee" } DisallowedWeapons { Slot "Primary" Slot "Secondary" } } Bow_Maseter { Name "Ancient Bow Modifier" Attribute "arrow mastery" Cap 1 Increment 1 Cost 400 Description "Shoot 2 more arrows per shot." AllowedWeapons { itemname "The Huntsman" itemname "Festive Huntsman" Itemname "The Fortified Compound" } } Revolver_Crit { Name "Explosive Headshot Spy" Attribute "explosive sniper shot" Cap 3 Increment 1 Cost 300 Description "Explosive Headshot for the Ambassador." AllowedWeapons { Itemname "The Ambassador" Itemname "Festive Ambassador" } } RevolverDMGIncrease { Name "Revolver Damage Bonus" Attribute "damage bonus" Cap 2.0 Increment 0.25 Cost 200 Description "+25% Damage bonus for all Revolvers" AllowedWeapons { Classname tf_weapon_revolver } } WatchMaxHealth { Name "Increased Max Health" Attribute "max health additive bonus" Cap 125 Increment 25 Cost 200 Description "Increase your max health by 25 per point." AllowedWeapons { Itemname "Upgradeable TF_WEAPON_INVIS" Itemname "TF_WEAPON_INVIS" Itemname "The Quackenbirdt" Itemname "TTG Watch" Itemname "The Cloak And Dagger" } } } ////////////////////////////////POINT TEMPS /////////////////////////////////////////// PlayerItemEquipSpawnTemplate { Name "PyroFireballer" ItemName "Fireball Caster" } PlayerSpawnTemplate { Name "SpyTemplate" Classname Spy } PointTemplates { AutoLogic { NoFixup 1 logic_auto { "OnMapSpawn" "func_tfbot_hint,SetTeam,2,,0,-1" "OnMapSpawn" "wave_start_relay,AddOutput,OnTrigger CrusherPit2:Close:0:-1" "OnMapSpawn" "wave_start_relay,AddOutput,OnTrigger CrusherPit1:Close:0:-1" "OnMapSpawn" "item_ammopack*,Kill,,0,-1" "OnMapSpawn" "sentrynest_right3*,Kill,,0,-1" "OnMapSpawn" "sentrynest_right4*,Kill,,0,-1" "OnMapSpawn" "sentrynest_right5*,Kill,,0,-1" "OnMapSpawn" "sentrynest_right6*,Kill,,0,-1" "OnMapSpawn" "intel,Kill,,0,-1" "OnMapSpawn" "intel_ironman,Kill,,0,-1" "OnMapSpawn" "sentrynest_theoneeveryonehates*,Kill,,0,-1" //sentrynest_theoneeveryonehates "OnMapSpawn" "wave_start_relay,AddOutput,OnTrigger func_respawnroom*:Disable:0:-1" "OnMapSpawn" "wave_finished_relay,AddOutput,OnTrigger func_respawnroom*:Enable:0:-1" "OnMapSpawn" "wave_start_relay,AddOutput,OnTrigger blu_spawn_forcefield*:Disable:0:-1" "OnMapSpawn" "wave_finished_relay,AddOutput,OnTrigger blu_spawn_forcefield*:Enable:0:-1" // "OnMapSpawn" "wave_start_relay,AddOutput,OnTrigger hold_*:Enable:0:-1" // "OnMapSpawn" "wave_finished_relay,AddOutput,OnTrigger hold_*:Disable:0:-1" } func_nav_prerequisite { "Entity" "hold_left" "filtername" "filter_hold_left" "origin" "445.5 -1220.0 9.5" "spawnflags" "1" "targetname" "hold_left" "Task" "2" "Value" "444" "start_disabled" "1" "StartDisabled" "1" // guh "mins" "-214 -164 -65" "maxs" "214 164 65" } filter_tf_bot_has_tag { "Negated" "1" "require_all_tags" "1" "tags" "bot_is_left" "targetname" "filter_hold_left" } func_nav_prerequisite { "Entity" "hold_back" "filtername" "filter_hold_back" "origin" "956.5 -539.5 14" "spawnflags" "1" "targetname" "hold_back" "Task" "2" "Value" "444" "start_disabled" "1" "StartDisabled" "1" // guh "mins" "-214 -164 -65" "maxs" "214 164 65" } filter_tf_bot_has_tag { "Negated" "0" "require_all_tags" "1" "tags" "bot_is_back" "targetname" "filter_hold_back" } func_nav_prerequisite { "Entity" "hold_high" "filtername" "filter_hold_high" "origin" "282 -858 286" "spawnflags" "1" "start_disabled" "1" "StartDisabled" "1" "targetname" "hold_high" "Task" "2" "Value" "444" "mins" "-361 -70 -45" "maxs" "361 70 45" } filter_tf_bot_has_tag { "Negated" "0" "require_all_tags" "1" "tags" "bot_is_highground" "targetname" "filter_hold_high" } NoFixup 1 func_forcefield { "disablereceiveshadows" "0" "origin" "2253 54 293.5" "renderamt" "255" "rendercolor" "255 255 255" "renderfx" "0" "rendermode" "0" "StartDisabled" "0" "targetname" "banana_deathpit" "TeamNum" "2" "mins" "-33 -169 -261" "maxs" "33 169 261" } func_forcefield { "disablereceiveshadows" "0" "origin" "2253 54 293.5" "renderamt" "255" "rendercolor" "255 255 255" "renderfx" "0" "rendermode" "0" "StartDisabled" "0" "targetname" "banana_deathpit" "TeamNum" "3" "mins" "-33 -169 -261" "maxs" "33 169 261" } OnSpawnOutput { Target hold_* Action Enable } } SpyTemplate { OnSpawnOutput { Target cleanup Action Trigger } OnParentKilledOutput { Target item_powerup_rune Action Kill } logic_relay { "targetname" "cleanup" "spawnflags" "2" "OnTrigger" "item_powerup_rune,Kill,,0,-1" "OnTrigger" "!self,Trigger,,0.1,-1" } } HeavyFix { OnSpawnOutput { Target !activator Action SetCustomModelWithClassAnimations Param "models\bots\heavy\bot_heavy.mdl" } } ColonelBarrage { OnSpawnOutput { Target popscript Action $EnableHoldFire } OnParentKilledOutput { Target popscript Action $DisableHoldFire,,0 } } PyroFireballer { NoFixup 1 OnSpawnOutput { Target give_spell Action Trigger } logic_relay { "targetname" "give_spell" "spawnflags" "2" "OnTrigger" "!parent,$SetSpell,Fireball,0,-1" "OnTrigger" "!self,Trigger,,20,-1" } } UpgradeStation2 { prop_dynamic { "angles" "0 312 0" "model" "models\props_mvm\mvm_upgrade_blu.mdl" "modelscale" "1.0" "rendercolor" "255 255 255" "solid" "6" "targetname" "upgradestation2" "origin" "-543.058 -2081.72 -113.777" } func_upgradestation { "mins" "-96 -160 -64" "maxs" "96 160 64" "origin" "-543.058 -2081.72 -113.777" "parentname" "upgradestation2" } prop_dynamic { "angles" "0 30 -15" "model" "models/props_mvm/mvm_upgrade_blu.mdl" "modelscale" "1.0" "skin" "0" "solid" "6" "spawnflags" "0" "StartDisabled" "0" "targetname" "nluupper" "origin" "2122.81 -3380.48 247.016" } func_upgradestation { "mins" "-96 -160 -64" "maxs" "96 160 64" "origin" "2122.81 -3380.48 247.016" "parentname" "nluupper" } } bluspawn2 { info_player_teamspawn { "angles" "0 55 0" "targetname" "bluespawn" "TeamNum" "3" "origin" "-463.2 -2342.7 -54.8" } info_player_teamspawn { "angles" "0 55 0" "targetname" "bluespawn" "TeamNum" "3" "origin" "-433.2 -2132.7 -54.8" } info_player_teamspawn { "angles" "0 55 0" "targetname" "bluespawn" "TeamNum" "3" "origin" "-463.2 -2942.7 -54.8" } info_player_teamspawn { "angles" "0 55 0" "targetname" "bluespawn" "TeamNum" "3" "origin" "-463.2 -2042.7 -54.8" } info_player_teamspawn { "angles" "0 55 0" "targetname" "bluespawn" "TeamNum" "3" "origin" "-413.2 -2342.7 -54.8" } } forcefield_bluspawn { NoFixup 1 func_forcefield { "origin" "1422 -2001 -736" "renderamt" "255" "rendercolor" "255 255 255" "renderfx" "0" "rendermode" "0" "StartDisabled" "0" "targetname" "blu_spawn_forcefield" "TeamNum" "2" "mins" "-152 -192 -2016" "maxs" "152 192 2016" } } bombresetfixendurance2 { NoFixup 1 item_teamflag { "angles" "0 0 0" "flag_icon" "../hud/objectives_flagpanel_carried" "flag_model" "models/props_td/atom_bomb.mdl" "flag_paper" "player_intel_papertrail" "flag_trail" "flagtrail" "GameType" "1" "NeutralType" "1" "PointValue" "0" "ReturnBetweenWaves" "1" "ReturnTime" "9999" "ScoringType" "0" "ShotClockMode" "0" "StartDisabled" "0" "targetname" "bomb_reverse" "TeamNum" "3" "trail_effect" "3" "VisibleWhenDisabled" "0" "origin" "-376 -2212 -141.497" } } Push_cheese_redspawn { trigger_push { "alternateticksfix" "0" "origin" "404.5 3114 247" "pushdir" "0 270 0" "spawnflags" "1" "speed" "300" "StartDisabled" "0" "targetname" "push_cheese" "mins" "-143 -81 -67" "maxs" "143 81 67" } } forcefields { NoFixup 1 func_forcefield { "targetname" "stage1" "origin" "-96 -64 704" "TeamNum" "2" // blu "renderamt" "255" "rendercolor" "255 255 255" "renderfx" "0" "rendermode" "0" "disablereceiveshadows" "0" "mins" "-2336 -64 -896" "maxs" "2336 64 896" } func_nobuild { "targetname" "stage1_nobuild" "origin" "-96 -64 704" "TeamNum" "3" // blu "renderamt" "255" "rendercolor" "255 255 255" "renderfx" "0" "rendermode" "0" "disablereceiveshadows" "0" "mins" "-2336 -64 -896" "maxs" "2336 64 896" } training_annotation { "display_text" "Barriers have been lifted!" "lifetime" "5" "origin" "767.3 -296.0 319.4" "targetname" "annotation_stage1" } // prop_dynamic // { // "angles" "0 270 0" // "disableshadows" "0" // "model" "models/props_medieval/fort_wall.mdl" // "renderamt" "255" // "rendercolor" "255 255 255" // "renderfx" "0" // "rendermode" "0" // "solid" "0" // "targetname" "gate_left_stage1" // "spawnflags" "0" // "origin" "-494 -64 83" // "modelscale" "2" // } prop_dynamic { "angles" "0 178 0" "model" "models/props_mvm/reversemvm_redwall_112x152.mdl" "modelscale" "1.4" "solid" "0" "spawnflags" "0" "targetname" "wall_topleft" "origin" "-774.915 -69.9985 461" } prop_dynamic { "model" "models/props_mvm/reversemvm_redwall_640x300.mdl" "renderamt" "255" "rendercolor" "255 255 255" "renderfx" "0" "rendermode" "0" "SetBodyGroup" "0" "modelscale" "1.2" "skin" "0" "angles" "0 180 0" "targetname" "gate_mid_A" "solid" "0" "spawnflags" "0" "origin" "906 -81 -14" } prop_dynamic { "model" "models/props_mvm/reversemvm_redwall_640x418.mdl" "rendercolor" "255 255 255" "renderfx" "0" "modelscale" "0.8" "rendermode" "0" "angles" "0 180 0" "SetBodyGroup" "0" "skin" "0" "solid" "0" "spawnflags" "0" "targetname" "gate_right_stage1" "origin" "2013 -128 212" } prop_dynamic { "angles" "0 178 0" "model" "models/props_mvm/reversemvm_redwall_512x320.mdl" "rendercolor" "255 255 255" "renderfx" "0" "modelscale" "2.2" "rendermode" "0" "SetBodyGroup" "0" "skin" "0" "solid" "0" "spawnflags" "0" "targetname" "gate_pack_stage1" "origin" "-859.387 -82.0578 -87.1854" } logic_relay { "targetname" "stage1_relay" "OnTrigger" "gate_right_stage1,Disable,,0,-1" "OnTrigger" "gate_mid_A,Disable,,0,-1" "OnTrigger" "gate_left_stage1,Disable,,0,-1" "OnTrigger" "stage1_nobuild,Disable,0.01,-1" "OnTrigger" "stage1,Disable,0.01,-1" "OnTrigger" "annotation_stage1,Show,,0.01,-1" "OnTrigger" "gate_pack_stage1,Disable,,0.01,-1" "OnTrigger" "wall_topleft,Disable,0.01,-1" } //stage2 NoFixup 1 func_forcefield { "targetname" "stage2" "origin" "350 2108 192" "TeamNum" "2" // blu "mins" "-1406 -64 -896" "maxs" "1406 64 896" } func_nobuild { "targetname" "stage2_nobuild" "origin" "350 2108 192" "TeamNum" "2" // blu "mins" "-1406 -64 -256" "maxs" "1406 64 256" } prop_dynamic { "angles" "0 180 0" "model" "models/props_mvm/reversemvm_redwall_256x288.mdl" "renderamt" "255" "rendercolor" "255 255 255" "renderfx" "0" "rendermode" "0" "skin" "0" "solid" "0" "spawnflags" "0" "targetname" "gate_mid_stage2" "origin" "595.9 2090.6 26.0" "modelscale" "1.3" } prop_dynamic { "angles" "0 180 0" "model" "models/props_mvm/reversemvm_redwall_352x256.mdl" "modelscale" "2" "renderamt" "255" "rendercolor" "255 255 255" "SetBodyGroup" "0" "skin" "0" "solid" "0" "spawnflags" "0" "targetname" "gate_left_stage2" "origin" "-618 2092.72 53" } prop_dynamic { "angles" "0 180 0" "model" "models/props_mvm/reversemvm_redwall.mdl" "modelscale" "1.0" "renderamt" "255" "rendercolor" "255 255 255" "skin" "0" "solid" "0" "spawnflags" "0" "targetname" "gate_right_stage2" "origin" "1303 2176 205" } logic_relay { "targetname" "stage2_relay" "OnTrigger" "gate_right_stage2,Disable,,0,-1" "OnTrigger" "gate_left_stage2,Disable,,0,-1" "OnTrigger" "gate_mid_stage2,Disable,,0,-1" "OnTrigger" "stage2_nobuild,Disable,,0,-1" "OnTrigger" "stage2,Disable,,0.01,-1" "OnTrigger" "stage2,Disable,,0.01,-1" "OnTrigger" "annotation_stage2,Show,,0.01,-1" } training_annotation { "display_text" "Barriers have been lifted!" "lifetime" "5" "origin" "1326.8 2210.4 302.1" "targetname" "annotation_stage2" } } Spawn_Abuse_Fix { OnSpawnOutput { Target "check_blu_relay" Action "Trigger" } filter_tf_condition { "condition" "51" "Negated" "0" "targetname" "damage_penalty_check" "OnPass" "!activator,$AddPlayerAttribute,ignored by bots|1,0.1,-1" // "OnPass" "!activator,$AddPlayerAttribute,no crit boost|1,0.1,-1" // "OnPass" "!activator,$AddPlayerAttribute,mult dmg vs tanks|1.5,0.1,-1" "OnFail" "!activator,$RemovePlayerAttribute,ignored by bots,1,-1" // "OnFail" "!activator,$RemovePlayerAttribute,dmg penalty vs players,0.1,-1" // "OnFail" "!activator,$RemovePlayerAttribute,mult dmg vs tanks,0.1,-1" } logic_relay { "targetname" "check_blu_relay" "spawnflags" "2" "OnTrigger" "damage_penalty_check,TestActivator,,0,-1" "OnTrigger" "!self,Trigger,,0.05,-1" } } forcefield_stage1_red // used only for marauder to prevent cheese { NoFixup 1 func_forcefield { "targetname" "stage1" "origin" "-96 -64 704" "TeamNum" "3" // red "renderamt" "255" "rendercolor" "255 255 255" "renderfx" "0" "rendermode" "0" "disablereceiveshadows" "0" "mins" "-2336 -64 -896" "maxs" "2336 64 896" } func_forcefield { "targetname" "stage1" "origin" "-96 -64 704" "TeamNum" "2" // blu "renderamt" "255" "rendercolor" "255 255 255" "renderfx" "0" "rendermode" "0" "disablereceiveshadows" "0" "mins" "-2336 -64 -896" "maxs" "2336 64 896" } } forcefield_stage3_bosscantescape { NoFixup 1 func_forcefield { "targetname" "stage2" "origin" "350 2108 192" "TeamNum" "3" // red "mins" "-1406 -64 -896" "maxs" "1406 64 896" } func_nobuild { "targetname" "stage2_nobuild" "origin" "350 2108 192" "TeamNum" "3" // red "mins" "-1406 -64 -256" "maxs" "1406 64 256" } } regen { OnSpawnOutput { Target !activator Action $regenerate } } engineer_hints { bot_hint_sentrygun { "angles" "0 305 0" "sequence" "5" "spawnflags" "0" "sticky" "0" "targetname" "2sentry_nest_hatch" "TeamNum" "2" "origin" "-266.177 3352.71 32.25" } bot_hint_engineer_nest { "angles" "0 0 0" "spawnflags" "0" "targetname" "2sentry_nest_hatch" "TeamNum" "2" "origin" "-378 3385.85 36.0069" } bot_hint_sentrygun { "sequence" "5" "spawnflags" "0" "sticky" "0" "targetname" "4sentry_nest_hatch" "TeamNum" "2" "origin" "1217 3928 33" } bot_hint_engineer_nest { "angles" "0 0 0" "spawnflags" "0" "targetname" "4sentry_nest_hatch" "TeamNum" "2" "origin" "1280 3936 36" } bot_hint_sentrygun { "sequence" "5" "spawnflags" "0" "sticky" "0" "targetname" "3sentry_nest_hatch" "TeamNum" "2" "origin" "246.346 3995.14 -103.75" } bot_hint_engineer_nest { "angles" "0 0 0" "spawnflags" "0" "targetname" "3sentry_nest_hatch" "TeamNum" "2" "origin" "174.294 4061.19 -99.9931" } bot_hint_engineer_nest { "angles" "0 0 0" "spawnflags" "0" "targetname" "5sentry_nest_hatch" "TeamNum" "2" "origin" "1015.9 3150.17 36.0069" } bot_hint_sentrygun { "angles" "0 249 0" "sequence" "5" "spawnflags" "0" "sticky" "0" "targetname" "5sentry_nest_hatch" "TeamNum" "2" "origin" "934.293 3119.65 32.25" } } forcefield_hatch { NoFixup 1 func_forcefield { "targetname" "barrier_hatch" "origin" "664.8 3539.3 -121.1" "TeamNum" "2" // blu "renderamt" "255" "rendercolor" "255 255 255" "renderfx" "0" "rendermode" "0" "disablereceiveshadows" "0" "mins" "-148 -148 -101" "maxs" "148 148 101" } logic_relay { "targetname" "hatch_reveal_relay" "OnTrigger" "barrier_hatch,Disable,,0.01,-1" "OnTrigger" "skull,Disable,,0,-1" "OnTrigger" "annotation_deploy,Show,,0.01,-1" "OnTrigger" "func_flagdetection,Disable,,0,-1" //"OnTrigger" "func_flagdetection,Enable,,0,-1" } prop_dynamic { "angles" "0 0 0" "model" "models\props_mvm\hatch_shield.mdl" "modelscale" "1.2" "skin" "0" "solid" "6" "spawnflags" "0" "targetname" "skull" "origin" "637 3573 -211" } training_annotation { "display_text" "Deploy the Bomb!" "lifetime" "5" "origin" "664.8 3539.3 -181.1" "targetname" "annotation_deploy" } } bot_spawns { prop_dynamic { "angles" "0 0 0" "model" "models\props_mvm\robot_spawnpoint.mdl" "modelscale" "1.0" "rendercolor" "255 255 255" "solid" "0" "targetname" "balcony" "origin" "63.7 -542.6 237" } prop_dynamic { "angles" "0 0 0" "model" "models\props_mvm\robot_spawnpoint.mdl" "modelscale" "1.0" "rendercolor" "255 255 255" "solid" "0" "targetname" "front_right" "origin" "1493.1 -330.7 193.4" } prop_dynamic { "angles" "0 0 0" "model" "models\props_mvm\robot_spawnpoint.mdl" "modelscale" "1.0" "rendercolor" "255 255 255" "solid" "0" "targetname" "right_stars_stage2" "origin" "2033.0 -26.0 189.0" } prop_dynamic { "angles" "0 0 0" "model" "models\props_mvm\robot_spawnpoint.mdl" "modelscale" "1.0" "rendercolor" "255 255 255" "solid" "0" "targetname" "cave_nogiant" "origin" "124.6 477.0 47.2" } prop_dynamic { "angles" "0 0 0" "model" "models\props_mvm\robot_spawnpoint.mdl" "modelscale" "1.0" "rendercolor" "255 255 255" "solid" "0" "targetname" "shithouse" "origin" "-818.9 1787.1 224.0" } prop_dynamic { "angles" "0 0 0" "model" "models\props_mvm\robot_spawnpoint.mdl" "modelscale" "1.0" "rendercolor" "255 255 255" "solid" "0" "targetname" "mid_house" "origin" "590.3 1018.6 205.0" } prop_dynamic { "angles" "0 0 0" "model" "models\props_mvm\robot_spawnpoint.mdl" "modelscale" "1.0" "rendercolor" "255 255 255" "solid" "0" "targetname" "yellow_sign" "origin" "1701.9 1857.9 190.0" } prop_dynamic { "angles" "0 0 0" "model" "models\props_mvm\robot_spawnpoint.mdl" "modelscale" "1.0" "rendercolor" "255 255 255" "solid" "0" "targetname" "hatch_left" "origin" "-548.5 3182.8 25.0" } prop_dynamic { "angles" "0 0 0" "model" "models\props_mvm\robot_spawnpoint.mdl" "modelscale" "1.0" "rendercolor" "255 255 255" "solid" "0" "targetname" "hatch_left" "origin" "1079.6 3935.0 32.7" // do not change } prop_dynamic { "angles" "0 0 0" "model" "models\props_mvm\robot_spawnpoint.mdl" "modelscale" "1.0" "rendercolor" "255 255 255" "solid" "0" "targetname" "hatch_mid" "origin" "577.7 1801.9 -50.3" } prop_dynamic { "angles" "0 0 0" "model" "models\props_mvm\robot_spawnpoint.mdl" "modelscale" "1.0" "rendercolor" "255 255 255" "solid" "0" "targetname" "highground" "origin" "-784.3 111.9 370.0" } } annotation { NoFixup 1 training_annotation { "display_text" "Destroy all remaining demons to enable the hatch!" "lifetime" "5" "origin" "664.8 3539.3 -181.1" "targetname" "annotation_guardian" } training_annotation { "display_text" "Demons are spawning here!" "lifetime" "5" "origin" "-818.9 1787.1 224.0" // shithouse "targetname" "annotation_giant_spawn_left" } training_annotation { "display_text" "Demons are spawning here!" "lifetime" "5" "origin" "1701.9 1857.9 190.0" // yellow sign "targetname" "annotation_giant_spawn_right" } training_annotation { "display_text" "Help is on the way!" "lifetime" "5" "origin" "-66.7 -1996.2 31.4" "targetname" "annotation_help" } training_annotation { "display_text" "Kill the Horsemann to disable the barrier blocking the hatch!" "lifetime" "5" "origin" "664.8 3539.3 -581.1" "targetname" "annotation_hhh_barrier" } training_annotation { "display_text" "The Marauder is a defensive demon! You cannot hurt it until it loses its uber when it charges." "lifetime" "5" "origin" "633.3 4022.4 -63.3" "targetname" "annotation_marauder" } training_annotation { "display_text" "Last RED Tank!" "lifetime" "5" "origin" "767.3 -296.0 319.4" "targetname" "annotation_finaltank_red" } training_annotation { "display_text" "This tank gives all Demons around it minicrits and damage reduction!" "lifetime" "5" "origin" "-430.7 1731.2 73.4" "targetname" "annotation_tankbuff" } //590.3 1018.6 205.0 } VIP_DEATH { NoFixup 1 logic_relay //trigger this to lose { "origin" "0 0 0" "targetname" "redwin_relay" "OnTrigger" "bots_win_red,RoundWin,,0,-1" } game_round_win //do not interact with this { "origin" "0 0 0" "TeamNum" "2" "targetname" "bots_win_red" "switch_teams" "0" "force_map_reset" "1" "classname" "game_round_win" } } BLU_WIN { 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" "classname" "game_round_win" } } Decoration { prop_dynamic { "angles" "0 0 45" "model" "models/props_halloween/skull_island_horns.mdl" "rendercolor" "255 255 255" "solid" "0" "modelscale" "0.3" "targetname" "skull_deco" "origin" "666.4 4200.1 350.0" } prop_dynamic { "angles" "0 90 0" "model" "models/props_halloween/halloween_rock008_large.mdl" "targetname" "fence" "modelscale" "0.5" "rendercolor" "255 255 255" "solid" "2" "origin" "2368 -2624 214.897" } prop_dynamic { "angles" "0 0 0" "model" "models/props_gameplay/security_fence_section01.mdl" "modelscale" "0.85" "solid" "6" "spawnflags" "0" "targetname" "fence_block_spawn" "origin" "307 -1472 -40" } prop_dynamic { "angles" "0 15 0" "model" "models/props_gameplay/security_fence_section01.mdl" "modelscale" "1.2" "skin" "0" "solid" "6" "spawnflags" "0" "targetname" "fence_block_spawn2" "origin" "-97.6086 -1474.84 41" } func_forcefield // the props wont be solid! Why!? { "disablereceiveshadows" "0" "origin" "149 -1483.5 71.04" "renderamt" "255" "rendercolor" "255 255 255" "renderfx" "0" "rendermode" "0" "StartDisabled" "0" "targetname" "propwall" "TeamNum" "2" "mins" "-417 -34 -106" "maxs" "417 34 106" } func_forcefield // the props wont be solid! Why!? { "disablereceiveshadows" "0" "origin" "149 -1483.5 71.04" "renderamt" "255" "rendercolor" "255 255 255" "renderfx" "0" "rendermode" "0" "StartDisabled" "0" "targetname" "propwall" "TeamNum" "3" "mins" "-417 -34 -106" "maxs" "417 34 106" } } bluspawn_push { NoFixup 1 trigger_push // left door { "origin" "1004.3 4196.1 -95.1" "pushdir" "0 180 0" "spawnflags" "1" "speed" "512" "StartDisabled" "0" "targetname" "idiot_push" "mins" "-192 -128 -160" "maxs" "192 128 160" } func_forcefield { "alternateticksfix" "0" "angles" "0 90 0" "origin" "1376 -2016 48" "pushdir" "0 90 0" "spawnflags" "1" "speed" "700" "StartDisabled" "0" "targetname" "push_spawn_blu" "mins" "-160 -160 -464" "maxs" "160 160 464" } func_forcefield { "alternateticksfix" "0" "origin" "1594 -2284 126" "pushdir" "0 90 0" "angles" "0 90 0" "spawnflags" "1" "speed" "700" "StartDisabled" "0" "targetname" "push_snipers_idiot" "mins" "-138 -147 -542" "maxs" "138 147 542" } } AutoApply_Attributes { NoFixup 1 trigger_add_tf_player_condition { "condition" "121" "duration" "-1" "origin" "1443 948 781.11" "spawnflags" "1" "StartDisabled" "0" "targetname" "add_reversestuff" "mins" "-9999 -9999 -9999" "maxs" "9999 9999 9999" "OnStartTouch" "team_check,Testactivator,!activator,0,-1" // "OnStartTouch" "red_bot,Testactivator,!activator,0,-1" // "OnStartTouch" "FILTER_is_blu_ally,Testactivator,!activator,0,-1" // "OnStartTouch" "FILTER_is_sniper_check,Testactivator,!activator,0,-1" } filter_tf_condition { "condition" "43" "Negated" "0" "targetname" "team_check" "OnPass" "red_giant,Testactivator,!activator,0,-1" "OnPass" "red_bot,Testactivator,!activator,0,-1" } $filter_sendprop { "$name" "m_bIsMiniBoss" "$value" "1" "$compare" "equal" "targetname" "red_giant" "OnPass" "!activator,$addplayerattribute,voice pitch scale|0,0,-1" "OnPass" "!activator,$addplayerattribute,damage force reduction|0,0,-1" "OnPass" "!activator,$addplayerattribute,cannot pick up intelligence|1,0,-1" "OnPass" "!activator,$addplayerattribute,mult dmg vs giants|4,0,-1" //"OnFail" "!activator,$addplayerattribute,airblast disabled|1,0,-1" } $filter_sendprop { "$name" "m_bIsMiniBoss" "$value" "0" "$compare" "equal" "targetname" "red_bot" "OnPass" "!activator,$addplayerattribute,cannot pick up intelligence|1,0,-1" } // $filter_sendprop // { // "$name" "m_bIsABot" // "$value" "1" // "$compare" "equal" // "targetname" "red_bot" // "OnPass" "!activator,$addcond,43,0,-1" // } // filter_tf_bot_has_tag // { // "Negated" "1" // "require_all_tags" "1" // "tags" "is_blu" // "targetname" "FILTER_is_blu_ally" // "origin" "1838 -1512 -66" // "OnFail" "!activator,$removecond,43,0.1,-1" // } // filter_tf_bot_has_tag // { // "Negated" "1" // "require_all_tags" "1" // "tags" "bot_sniper" // "targetname" "FILTER_is_sniper_check" // "origin" "1838 -1512 -66" // "OnPass" "!activator,$botcommand,switch_action sniper,0.1,-1" // } } red_forcefield { func_forcefield { "disablereceiveshadows" "0" "origin" "-191.5 -2069.5 -45" "renderamt" "255" "rendercolor" "255 255 255" "renderfx" "0" "rendermode" "0" "StartDisabled" "0" "targetname" "red_forcefield" "TeamNum" "3" "mins" "-200 -208 -182" "maxs" "200 208 182" } } blu_spawn_protect { NoFixup 1 trigger_add_tf_player_condition { "condition" "57" "duration" "-1" "origin" "-518 -2429 61" "spawnflags" "1" "StartDisabled" "0" "TeamNum" "3" "targetname" "blu_spawn_protection" "mins" "-504 -410 -240" "maxs" "504 410 240" } } spawn_protection_2 { NoFixup 1 trigger_add_tf_player_condition { "condition" "57" "duration" "-1" "origin" "1969 -2617 422.5" "spawnflags" "1" "StartDisabled" "1" "TeamNum" "3" "targetname" "spawn_protection_2" "mins" "-472 -386 -139" "maxs" "472 386 139" } } lockers { NoFixup 1 func_regenerate { "associatedmodel" "locker_model" "StartDisabled" "0" "targetname" "regenerate" "TeamNum" "3" "mins" "-65 -48 -58" "maxs" "65 48 58" "origin" "2378 -3470 241.938" "OnStartTouch" "regenerate,Disable,,0,-1" "OnEndTouchAll" "regenerate,Enable,,0,-1" "spawnflags" "1" } prop_dynamic { "angles" "0 90 0" "model" "models/props_gameplay/resupply_locker.mdl" "skin" "0" "solid" "6" "spawnflags" "0" "targetname" "locker_model" "origin" "2378 -3470 256.938" } //logic_relay //{ // "OnTrigger" "func_regenerate,Disable,,0,-1" //} } locker2 { NoFixup 1 func_regenerate { "associatedmodel" "locker21" "StartDisabled" "0" "targetname" "regenerate2" "TeamNum" "3" "OnStartTouch" "regenerate,Disable,,0,-1" "OnEndTouchAll" "regenerate,Enable,,0,-1" "mins" "-69 -61 -64" "maxs" "69 61 64" "origin" "-606 -2302 -110" "spawnflags" "1" } prop_dynamic { "angles" "0 315 0" "model" "models/props_gameplay/resupply_locker.mdl" "skin" "0" "solid" "6" "spawnflags" "0" "targetname" "locker21" "origin" "-656 -2302 -110" } prop_dynamic { "angles" "0 0 0" "model" "models/props_gameplay/resupply_locker.mdl" "modelscale" "1.0" "skin" "0" "solid" "6" "spawnflags" "0" "targetname" "locker3" "origin" "2051.51 -3180 214.16" } func_regenerate { "associatedmodel" "locker3" "StartDisabled" "0" "targetname" "regenerate3" "TeamNum" "3" "OnStartTouch" "regenerate,Disable,,0,-1" "OnEndTouchAll" "regenerate,Enable,,0,-1" "mins" "-69 -61 -64" "maxs" "69 61 64" "origin" "2051.51 -3180 214.16" "spawnflags" "1" } } marauder_bot_fight { /// Marauder starts ubered and has no charge meter OnSpawnOutput { Target "!activator" Action "$AddCond" Param "57" //uber condition. Difference from cond 5 is this one doesn't get removed when being healed by a dispenser/medic } OnSpawnOutput { Target "!activator" Action "$SetProp$m_flChargeMeter" Param "0" } /// filters for trigger_multiple / trigger_stun filter_tf_bot_has_tag { "targetname" "filter_bot_marauder" "require_all_tags" "1" "tags" "bot_marauder" } filter_tf_condition { "targetname" "filter_cond_charging_17" "condition" "17" //Chargin' Targe charging } filter_tf_condition { "targetname" "filter_cond_uber_57" "condition" "57" //uber condition. Difference is this one doesn't get removed when being healed by a dispenser/medic } filter_multi { "targetname" "filter_marauder_stun_only_when_charging_and_ubered" "filter01" "filter_bot_marauder" "filter02" "filter_cond_charging_17" "filter03" "filter_cond_uber_57" } trigger_multiple { "filtername" "filter_marauder_stun_only_when_charging_and_ubered" "mins" "-5 -5 -5" "maxs" "5 5 5" "spawnflags" "1" "wait" "0.01" "OnTrigger" "!activator,$RemoveCond,57,0,-1" } filter_tf_condition { "targetname" "filter_cond_not_uber_57" "condition" "57" //uber condition. Difference is this one doesn't get removed when being healed by a dispenser/medic "Negated" "1" } filter_tf_condition { "targetname" "filter_cond_not_stun_15" "condition" "57" //uber condition. Difference is this one doesn't get removed when being healed by a dispenser/medic "Negated" "1" } filter_multi { "targetname" "filter_marauder_stun_when_not_ubered" "filter01" "filter_bot_marauder" "filter02" "filter_cond_not_uber_57" "filter03" "filter_cond_not_stun_15" } trigger_stun { "targetname" "marauder_trigger_stun" "filtername" "filter_marauder_stun_when_not_ubered" "mins" "-5 -5 -5" "maxs" "5 5 5" "spawnflags" "1" "move_speed_reduction" "1" "stun_duration" "5" // change duration to adjust how long the bot is stunned for "stun_effects" "1" "stun_type" "2" "trigger_delay" "0" "OnStunPlayer" "!activator,$AddCond,57,5,-1" // Adds uber after delay. Change delay to match "stun_duration" "OnStunPlayer" "!activator,$RemoveCond,15,5,-1" // Removes stun after delay. Change delay to match "stun_duration" "OnStunPlayer" "!activator,$SetProp$m_flChargeMeter,0,5,-1" // Resets charge meter after delay. Change delay to match "stun_duration" "OnStunPlayer" "!caller,Enable,,5,-1" //Disables, then enables itself to reduce logic inputs to !activator. Change delay to match "stun_duration" "OnStunPlayer" "!caller,Disable,,0,-1" } } marauder_bot_fight_2 { /// Marauder starts ubered and has no charge meter OnSpawnOutput { Target "!activator" Action "$AddCond" Param "57" //uber condition. Difference from cond 5 is this one doesn't get removed when being healed by a dispenser/medic } OnSpawnOutput { Target "!activator" Action "$SetProp$m_flChargeMeter" Param "0" } /// filters for trigger_multiple / trigger_stun filter_tf_bot_has_tag { "targetname" "filter_bot_marauder" "require_all_tags" "1" "tags" "bot_marauder_2" } filter_tf_condition { "targetname" "filter_cond_charging_17" "condition" "17" //Chargin' Targe charging } filter_tf_condition { "targetname" "filter_cond_uber_57" "condition" "57" //uber condition. Difference is this one doesn't get removed when being healed by a dispenser/medic } filter_multi { "targetname" "filter_marauder_stun_only_when_charging_and_ubered" "filter01" "filter_bot_marauder" "filter02" "filter_cond_charging_17" "filter03" "filter_cond_uber_57" } trigger_multiple { "filtername" "filter_marauder_stun_only_when_charging_and_ubered" "mins" "-5 -5 -5" "maxs" "5 5 5" "spawnflags" "1" "wait" "0.01" "OnTrigger" "!activator,$RemoveCond,57,0,-1" } filter_tf_condition { "targetname" "filter_cond_not_uber_57" "condition" "57" //uber condition. Difference is this one doesn't get removed when being healed by a dispenser/medic "Negated" "1" } filter_tf_condition { "targetname" "filter_cond_not_stun_15" "condition" "57" //uber condition. Difference is this one doesn't get removed when being healed by a dispenser/medic "Negated" "1" } filter_multi { "targetname" "filter_marauder_stun_when_not_ubered" "filter01" "filter_bot_marauder" "filter02" "filter_cond_not_uber_57" "filter03" "filter_cond_not_stun_15" } trigger_stun { "targetname" "marauder_trigger_stun" "filtername" "filter_marauder_stun_when_not_ubered" "mins" "-5 -5 -5" "maxs" "5 5 5" "spawnflags" "1" "move_speed_reduction" "1" "stun_duration" "5" // change duration to adjust how long the bot is stunned for "stun_effects" "1" "stun_type" "2" "trigger_delay" "0" "OnStunPlayer" "!activator,$AddCond,57,5,-1" // Adds uber after delay. Change delay to match "stun_duration" "OnStunPlayer" "!activator,$RemoveCond,15,5,-1" // Removes stun after delay. Change delay to match "stun_duration" "OnStunPlayer" "!activator,$SetProp$m_flChargeMeter,0,5,-1" // Resets charge meter after delay. Change delay to match "stun_duration" "OnStunPlayer" "!caller,Enable,,5,-1" //Disables, then enables itself to reduce logic inputs to !activator. Change delay to match "stun_duration" "OnStunPlayer" "!caller,Disable,,0,-1" } } textualtimer { OnSpawnOutput { Param 7 Target minutehand Action SetValue } OnSpawnOutput { Param 0 Target secondhand Action SetValue } logic_relay { "targetname" "loserelay" "startdisabled" "1" "ontrigger" "bots_win_red,RoundWin,,2,-1" "ontrigger" "realtimer,cancelpending,,2,-1" "onspawn" "wave_start*,addoutput,ontrigger realtimer:trigger::0:-1,0,-1" "onspawn" "wave_finish*,addoutput,ontrigger realtimer:cancelpending::0:-1,0,-1" "onspawn" "wave_finish*,addoutput,ontrigger loserelay:cancelpending::0:-1,0,-1" } NoFixup 1 math_counter { "targetname" "minutehand" "max" "9999" "outvalue" "timerformat,$setkey$case01,,0,-1" "onhitmin" "loserelay,enable,,1,-1" } math_counter { "targetname" "secondhand" "max" "60" "outvalue" "timerformat,$setkey$case02,,0,-1" "outvalue" "zerocompare,setvaluecompare,,0,-1" "onhitmin" "loserelay,trigger,,0,-1" "onhitmin" "!self,setvalue,60,1,-1" "onhitmin" "minutehand,subtract,1,1,-1" } logic_compare { "targetname" "zerocompare" "comparevalue" "9" "onequalto" "timerformat,$setkey$case16,%:0%,0,-1" "ongreaterthan" "timerformat,$setkey$case16,%:%,0,-1" } logic_case { "targetname" "timerformat" "case16" "%:%" "ondefault" "timertext,$setkey$message,,0,-1" "ondefault" "timertext,display,0,0,-1" } game_text { "targetname" "timertext" "color" "65 155 255" "holdtime" "1" "spawnflags" "1" "channel" "3" "x" "-0.80" // left go down right go up "y" "0.90" } logic_relay { "targetname" "realtimer" "spawnflags" "2" "ontrigger" "timerformat,$format,,0.01,-1" "ontrigger" "secondhand,subtract,1,0,-1" "ontrigger" "!self,trigger,,1,-1" } game_round_win { "teamnum" "2" "targetname" "bots_win_red" "force_map_reset" "1" } } tankred_win { logic_relay //trigger this to lose { "origin" "0 0 0" "targetname" "redwin_relay" "OnTrigger" "bots_win_red,RoundWin,,0,-1" } game_round_win //do not interact with this { "origin" "0 0 0" "TeamNum" "2" "targetname" "bots_win_red" "switch_teams" "0" "force_map_reset" "1" "classname" "game_round_win" } } marauder_anticheese { trigger_push { "alternateticksfix" "0" "origin" "-567.5 -2468 39.58" "pushdir" "0 45 0" "spawnflags" "0" "speed" "200" "StartDisabled" "1" "targetname" "marauder_pussy_check" "mins" "-437 -486 -203" "maxs" "437 486 203" } logic_relay { "targetname" "anticheese_relay_enable" "spawnflags" "2" "OnTrigger" "marauder_pussy_check,Enable,,0.01,-1" } logic_relay { "targetname" "anticheese_relay_disable" "spawnflags" "2" "OnTrigger" "marauder_pussy_check,Disable,,0,-1" } } tank_effect_cond { filter_activator_tfteam { "targetname" "batt_trigger_filter" "TeamNum" "2" "Negated" "0" } filter_activator_tfteam { "targetname" "minicrits_trigger_filter" "TeamNum" "2" "Negated" "0" } trigger_add_tf_player_condition { "targetname" "batt_trigger" "filtername" "batt_trigger_filter" "spawnflags" "1" "condition" "42" "duration" "1" "mins" "-470 -304 -212" "maxs" "470 304 212" } trigger_add_tf_player_condition { "targetname" "minicrits_trigger" "filtername" "minicrits_trigger_filter" "spawnflags" "1" "condition" "16" "duration" "1" "mins" "-470 -304 -212" "maxs" "470 304 212" } logic_timer { "targetname" "buff_trigger_timer" "RefireTime" "0.5" "spawnflags" "0" "UseRandomTime" "0" "OnTimer" "minicrits_trigger,Toggle,,0,-1" "OnTimer" "minicrits_trigger,Toggle,,0.01,-1" "OnTimer" "batt_trigger,Toggle,,0,-1" "OnTimer" "batt_trigger,Toggle,,0.01,-1" } prop_dynamic { "targetname" "tank_backup_shield" "model" "models/workshop/weapons/c_models/c_battalion_buffpack/c_battalion_buffpack.mdl" "origin" "70 0 -5" "modelscale" "1.75" "angles" "0 180 0" } prop_dynamic { "targetname" "tank_buff_shield" "model" "models/weapons/c_models/c_buffpack/c_buffpack.mdl" "origin" "-70 0 15" // -45 controls where its placed, second 35 controls the height. last 35 controls where "modelscale" "1.75" } OnParentKilledOutput { Target buff_trigger_timer* Action Kill } } 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" "1" "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" "1" "solid" "0" "spawnflags" "0" "origin" "-12 66 108" "angles" "-58.5 0 90" } tf_point_weapon_mimic { "targetname" "stickytank_mimic" "WeaponType" "3" "TeamNum" "2" "ModelScale" "1" "SpeedMax" "525" "SpeedMin" "525" "Crits" "0" "Damage" "105" "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" "TeamNum" "2" "ModelScale" "1" "SpeedMax" "525" "SpeedMin" "525" "Crits" "1" "Damage" "105" "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" "TeamNum" "2" "ModelScale" "1" "SpeedMax" "525" "SpeedMin" "525" "Crits" "0" "Damage" "105" "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" "TeamNum" "2" "ModelScale" "1" "SpeedMax" "525" "SpeedMin" "525" "Crits" "1" "Damage" "105" "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" } } sentry_blu { obj_sentrygun { //IN SPAWN "angles" "0 37 0" "defaultupgrade" "2" "spawnflags" "10" "targetname" "blu_sentry" "TeamNum" "3" "origin" "-551 -2708 -113" } obj_sentrygun { //IN THE SPAWN "angles" "0 37 0" "defaultupgrade" "2" "spawnflags" "10" "targetname" "blu_sentry1" "TeamNum" "3" "origin" "-748 -2449 -119.201" } } teleport_sidespawn { trigger_teleport { "mins" "-692 -644 -210" "maxs" "692 644 210" "origin" "2253 -2886.5 395.5" "spawnflags" "0" "StartDisabled" "0" "spawnflags" "1" "target" "teleport_sidespawn_destination" "targetname" "teleport_sidespawn" } info_teleport_destination { "angles" "0 45 0" "targetname" "teleport_sidespawn_destination" "origin" "-409 -2335 -103.508" } } final_wave_templates // unused { NoFixup 1 trigger_teleport { "origin" "538 -1802 -59" "spawnflags" "1" "StartDisabled" "0" "target" "teleport_lastwave_target" "targetname" "teleport_lastwave" "mins" "-95 -63 -68" "maxs" "95 63 68" "OnStartTouch" "!activator,$AddCond,52,0,-1" "OnStartTouch" "!activator,$RemoveCond,52,4,-1" } info_target { "origin" "658.9 2281.4 -31.0" "targetname" "teleport_lastwave_target" "angles" "0 90 0" } prop_dynamic { "angles" "0 0 0" "DefaultAnim" "running" "model" "models/buildables/teleporter_light.mdl" "modelscale" "1.0" "skin" "1" "solid" "6" "spawnflags" "0" "targetname" "teleporter_model" "origin" "529 -1800 -145.649" } logic_relay { "targetname" "final_wave_relay" "OnTrigger" "teleporter_model,Enable,,0,-1" "OnTrigger" "teleport_lastwave_target,Enable,,0,-1" "OnTrigger" "teleport_lastwave,Enable,,0,-1" "OnTrigger" "annotation_lastwave_tele,Show,,0,-1" "OnTrigger" "annotation_lastwave,Show,,5,-1" } training_annotation { "display_text" "Take the Teleporter." "lifetime" "5" "origin" "529 -1800 -145.649" "targetname" "annotation_lastwave_tele" } training_annotation { "display_text" "You cannot leave this space for the duration of the wave! You will spawn here instead." "lifetime" "5" "origin" "664.8 3539.3 -581.1" "targetname" "annotation_lastwave" } } antigriefbomb { NoFixup 1 logic_relay { "targetname" "bomb_antigrief_on" "ontrigger" "hudhintloop,trigger,,0,-1" "ontrigger" "bombpickup_relay,enable,,0,-1" "ontrigger" "bombpickup_relay,trigger,,0.01,-1" } logic_relay { "targetname" "bomb_antigrief_off" "ontrigger" "bombpickup_relay,disable,,0,-1" "ontrigger" "bombpickup_relay,cancelpending,,0,-1" "ontrigger" "bombpickup,disable,,0,-1" } logic_relay { "onspawn" "intel,addoutput,onpickup1 filter_isbot:testactivator::0:-1,0,-1" "onspawn" "intel,addoutput,onpickup1 !activator:addoutput:targetname hasbomb:0:-1,0,-1" "onspawn" "intel,addoutput,onpickup bombpickup_relay:trigger::0.01:-1,0,-1" "onspawn" "intel,addoutput,onpickup bombpickup_relay:cancelpending::0:-1,0,-1" "onspawn" "intel,addoutput,ondrop1 !activator:addoutput:targetname :0:-1,0,-1" "onspawn" "intel,addoutput,ondrop bombpickup:disable::0:-1,0,-1" "onspawn" "bombpickup,setparentattachment,siren,0,-1" "onspawn" "hasbomb,addoutput,targetname ,0,-1" } logic_relay { "targetname" "bombpickup_relay" "startdisabled" "1" "ontrigger" "bombpickup,disable,,0,-1" "ontrigger" "bombpickup,enable,,5,-1" } trigger_multiple { "targetname" "bombpickup" "parentname" "intel" "mins" "-8 -8 -8" "maxs" "8 8 8" "spawnflags" "1" "startdisabled" "1" "filtername" "filter_nobomb_notbot" "onstarttouch" "intel,forcedrop,,0,-1" } $filter_sendprop { "targetname" "filter_isbot" "$name" "m_bIsABot" "$value" "1" "onpass" "bombpickup_relay,cancelpending,,0.02,-1" } filter_activator_name { "targetname" "filter_nobomb" "filtername" "hasbomb" "negated" "1" } $filter_sendprop { "targetname" "filter_notbot" "$name" "m_bIsABot" "$value" "0" } filter_multi { "targetname" "filter_nobomb_notbot" "filter01" "filter_nobomb" "filter02" "filter_notbot" } } spawn_teleport_delay { NoFixup 1 trigger_teleport { "origin" "-564 -2367.5 -8" "spawnflags" "1" "StartDisabled" "0" "target" "teleport_lastwave_target" "targetname" "teleport_lastwave1" "mins" "-224 -312 -68" "maxs" "224 312 68" } info_teleport_destination { "origin" "597.5 2479 20.5" "targetname" "teleport_lastwave_target" "angles" "0 90 0" } } hole_cover { prop_dynamic { "angles" "90 90 0" "model" "models/props_farm/fence_metal01a.mdl" "modelscale" "1.0" "skin" "0" "solid" "6" "spawnflags" "0" "targetname" "cover2" "origin" "18 2325 -191" } prop_dynamic { "angles" "90 90 0" "model" "models/props_farm/fence_metal01a.mdl" "modelscale" "1.0" "SetBodyGroup" "0" "skin" "0" "solid" "6" "spawnflags" "0" "targetname" "cover1" "origin" "105 2558 -194" } func_forcefield { "origin" "31 2435.5 -192.5" "renderamt" "255" "rendercolor" "255 255 255" "renderfx" "0" "rendermode" "0" "StartDisabled" "0" "targetname" "hole_noenter" "TeamNum" "0" "mins" "-414 -260 -15" "maxs" "414 260 15" } } } SpawnTemplate AutoLogic SpawnTemplate UpgradeStation2 SpawnTemplate forcefield_bluspawn SpawnTemplate forcefields SpawnTemplate bot_spawns SpawnTemplate annotation SpawnTemplate forcefield_hatch SpawnTemplate Decoration SpawnTemplate Push_cheese_redspawn SpawnTemplate antigriefbomb SpawnTemplate locker2 SpawnTemplate bombresetfixendurance2 SpawnTemplate marauder_bot_fight SpawnTemplate marauder_bot_fight_2 SpawnTemplate AutoApply_Attributes SpawnTemplate textualtimer SpawnTemplate tankred_win SpawnTemplate BLU_WIN //SpawnTemplate teleport_sidespawn SpawnTemplate Spawn_Abuse_Fix PlayerSpawnTemplate //Spawn custom player template { Name Spawn_Abuse_Fix Origin "0 0 0" Bone "bip_spine_2" } PlayerSpawnTemplate { Name regen } PlayerSpawnTemplate { Name HeavyFix Class Heavyweapons } //SpawnTemplate chem_breaker //spec_goto 664.8 3539.3 -121.1 -7.0 167.3 hatch: shield from capping ///////////////////////////////////////////////////////////Spawns ///////////////////////////////////////////////////////////////// //BLU EXTRA SPAWNS ExtraSpawnPoint { Name "blu_spawn_1" Teamnum 3 X "-448.0" y "-2343.2" Z "-2.0" } //Front Balcony STAGE 1 ExtraSpawnPoint { Name "spawnbot_front_balcony_stage1" TeamNum 2 X "63.7" Y "-542.6" Z "308.0" } //Right area above "primary" spawn STAGE 1 ExtraSpawnPoint { Name "spawnbot_front_right_stage1" TeamNum 2 X "1493.1" Y "-330.7" Z "203.4" } //Highground for giants STAGE 1 ExtraSpawnPoint { Name "spawnbot_front_highground_far_stage1" TeamNum 2 X "-784.3" Y "111.9" Z "443.0" } //Stairs STAGE 2 ExtraSpawnPoint { Name "spawnbot_right_stairs_stage2" TeamNum 2 X "2033.0" Y "-26.0" Z "267.0" } //Small Mine NO GIANTS STAGE 2 ExtraSpawnPoint { Name "spawnbot_cave_nogiant_stage2" TeamNum 2 X "124.6" Y "477.0" Z "114.2" } //spec_goto -190.0 128.1 107.0 Small Mine LEFT SIDE NO GIANTS, saving just in case //Shithouse STAGE 2 ExtraSpawnPoint { Name "spawnbot_shithouse_left_stage2" TeamNum 2 X "-818.9" Y "1787.1" Z "284.0" } //House Mid Area STAGE 2 ExtraSpawnPoint { Name "spawnbot_mid_house_stage2" TeamNum 2 X "590.3" Y "1018.6" Z "285.0" } //Split path front hatch STAGE 2 ExtraSpawnPoint { Name "spawnbot_split_hatch_path_stage2" Teamnum 2 X "577.7" y "1801.9" z "79.3" } //Commisinaryn Sign STAGE 3 ExtraSpawnPoint { Name "spawnbot_commisinary_right_stage2" TeamNum 2 X "1701.9" Y "1857.9" Z "250.0" } //Highground Left HATCH STAGE 3 ExtraSpawnPoint { Name "spawnbot_highground_left_hatch_stage3" TeamNum 2 X "-548.5" Y "3182.8" Z "107.0" } //Highground Right HATCH STAGE 4 ExtraSpawnPoint { Name "spawnbot_highground_right_hatch_stage3" TeamNum 2 X "1079.6" Y "3935.0" Z "67.0" } //Red spawn ExtraSpawnPoint { Name "spawnbot_redspawn1" TeamNum 2 X "1004.3" Y "4196.1" Z "-95.1" } ExtraSpawnPoint { Name "hatch_guard1" TeamNum 2 X "414.8" Y "3591.0" Z "-113.6" } ExtraSpawnPoint { Name "hatch_guard2" TeamNum 2 X "937.6" Y "3593.4" Z "-111.1" } ExtraSpawnPoint { Name "spawnbot_blugiant_new" Teamnum 3 StartDisabled 1 X "1297" Y "2479.33" Z "122.551" } ExtraSpawnPoint { Name "spawnbot_newgiant_3" Teamnum 3 StartDisabled 1 X "-575.5" Y "2375.2" Z "67.7" } ExtraSpawnPoint { Name "spawnbot_newgiant_2" Teamnum 3 StartDisabled 1 X "592.5" Y "2354.9" Z "118.9" } ExtraSpawnPoint { Name "marauder_spawn" TeamNum 2 X "633.3" Y "4022.4" Z "-63.3" } ExtraSpawnPoint { name "hades_spawn" teamnum 2 X "664.8" Y "3539.3" Z "-581.1" } ExtraSpawnPoint { name "hades_weapons1" teamnum 2 StartDisabled 1 X "498.2" Y "4020.4" Z "-106.7" } //spec_goto 1147.0 3728.4 -90.8 5.6 -128.5 ExtraSpawnPoint { name "hades_weapons2" teamnum 2 StartDisabled 1 X "1147.0" Y "3728.4" Z "-90.8" } ExtraSpawnPoint { Name "spawnbot_highground_left_hatch_lastwave" TeamNum 2 StartDisabled 1 X "-548.5" Y "3182.8" Z "107.0" } //Highground Right HATCH STAGE 4 ExtraSpawnPoint { Name "spawnbot_highground_right_hatch_lastwave" TeamNum 2 StartDisabled 1 X "1079.6" Y "3935.0" Z "67.0" } ExtraSpawnPoint { Name "spawnbot_highground_right_hatch_lastwave_tempspawn" TeamNum 2 StartDisabled 1 X "1079.6" Y "3935.0" Z "67.0" } //spec_goto 937.6 3593.4 -111.1 11.0 -92.2 ///////////////////////////////////////////////////////////MISC /////////////////////////////////////////////////////////////// PrecacheModel models/weapons/c_models/c_demo_bot_arms.mdl PrecacheModel models/weapons/c_models/c_demo_bot_animations.mdl PrecacheModel models/weapons/c_models/c_engineer_bot_arms.mdl PrecacheModel models/weapons/c_models/c_engineer_bot_gunslinger.mdl PrecacheModel models/weapons/c_models/c_engineer_bot_animations.mdl PrecacheModel models/weapons/c_models/c_engineer_bot_gunslinger_animations.mdl PrecacheModel models/weapons/c_models/c_heavy_bot_arms.mdl PrecacheModel models/weapons/c_models/c_heavy_bot_animations.mdl PrecacheModel models/weapons/c_models/c_medic_bot_arms.mdl PrecacheModel models/weapons/c_models/c_medic_bot_animations.mdl PrecacheModel models/weapons/c_models/c_pyro_bot_arms.mdl PrecacheModel models/weapons/c_models/c_pyro_bot_animations.mdl PrecacheModel models/weapons/c_models/c_scout_bot_arms.mdl PrecacheModel models/weapons/c_models/c_scout_bot_animations.mdl PrecacheModel models/weapons/c_models/c_soldier_bot_arms.mdl PrecacheModel models/weapons/c_models/c_soldier_bot_animations.mdl PrecacheModel models/weapons/c_models/c_sniper_bot_arms.mdl PrecacheModel models/weapons/c_models/c_sniper_bot_animations.mdl PrecacheModel models/weapons/c_models/c_spy_bot_arms.mdl HandModelOverride { Scout "models/weapons/c_models/c_scout_bot_arms.mdl" Soldier "models/weapons/c_models/c_soldier_bot_arms.mdl" Pyro "models/weapons/c_models/c_pyro_bot_arms.mdl" HeavyWeapons "models/weapons/c_models/c_heavy_bot_arms.mdl" Demoman "models/weapons/c_models/c_demo_bot_arms.mdl" Engineer "models/weapons/c_models/c_engineer_bot_arms.mdl" Medic "models/weapons/c_models/c_medic_bot_arms.mdl" Sniper "models/weapons/c_models/c_sniper_bot_arms.mdl" Spy "models/weapons/c_models/c_spy_bot_arms.mdl" } ClassLimit { Heavyweapons 2 Medic 1 Sniper 1 Spy 1 Soldier 2 Demoman 2 Scout 2 Pyro 2 Engineer 1 } ExtraTankPath { Name "tank_path_first" Node "955.8 -348.4 23.2" Node "902.5 -1869.7 -59.4" Node "-114.1 -1987.7 -82.8" } ExtraTankPath { Name "tank_path_second" Node "-430.7 1731.2 73.4" Node "-46.5 931.4 121.6" Node "-396.8 373.8 169.4" Node "-405.4 -692.6 90.3" Node "-67.1 -1198.4 96.3" Node "876.1 -1215.0 -18.6" Node "921.7 -1805.7 -57.2" Node "29.5 -1900.9 -88.0" } ExtraTankPath { Name "stickytank_last" Node "602.2 2789.8 -119.0" Node "585.5 1845.7 16.3" Node "1195.8 1718.2 97.0" Node "1630.2 1226.4 106.7" Node "1562.8 155.8 7.1" Node "928.7 78.4 33.0" Node "938.3 -1693.8 -59.2" Node "-114.1 -1987.7 -82.8" } ///////////////////////////////////////////////////////////ROBOT TEMPLATES ////////////////////////////////////////////////////////////////////////// Templates { //scout T_TFBot_Scout_Fireball { Name "Fireball Scout" Class Scout ClassIcon scout_stun_fire_new Scale 1 Health 125 Skill Normal MaxVisionRange 1000 WeaponRestrictions MeleeOnly Item "The Sandman" Item "Batter's Helmet" ItemAttributes { Itemname "Batter's Helmet" "attach particle effect" 13 // burning flames } ItemAttributes { ItemName "The Sandman" "set damagetype ignite" 1 } } T_TFBot_RocketSpam_Jumper { Class Soldier Name "Damned Screamer" ClassIcon soldier_barrage Health 3200 Tag bot_giant Scale 1.6 Skill Expert WeaponRestrictions PrimaryOnly Attributes MiniBoss Attributes HoldFireUntilFullReload Item "The B.A.S.E. Jumper" Item "The Air Strike" Rocketjump 1 ItemAttributes { ItemName "The Air Strike" "clip size upgrade atomic" 11.0 "faster reload rate" 0.22 "projectile spread angle penalty" 12 //"rocket specialist" 1 "blast radius increased" 1.3 } CharacterAttributes { "move speed bonus" 0.8 "damage force reduction" 0.4 "airblast vulnerability multiplier" 0.4 "override footstep sound set" 3 "airblast vertical vulnerability multiplier" 0.1 "Projectile speed increased" 2 "cancel falling damage" 1 "self dmg push force increased" 20 } } //soldier T_TFBot_Giant_Soldier_BlackBoxBurst { Name "Giant Black Box Burst" Class Soldier ClassIcon soldier_bazooka_homing_nys_giant Scale 1.75 Health 4000 Attributes MiniBoss Attributes HoldFireUntilFullReload Skill Expert MaxVisionRange 1500 WeaponRestrictions PrimaryOnly AddCond //Adds conditions to bots { Name "TF_COND_SODAPOPPER_HYPE" // Condition to apply. List of available conditions https://wiki.teamfortress.com/wiki/Cheats#addcon Delay 1 // Delay before the condition activates (Default: 0) Duration 999999 // Duration of the condition effect (Default: 0 - infinite duration) } Tag bot_giant Item "The Black Box" ItemAttributes { ItemName "The Black Box" "health on radius damage" 0 "fire rate bonus" 0.00001 "mod projectile heat seek power" 140 "mod projectile heat aim error" 70 "mod projectile heat aim time" 0.6 "clip size penalty" 0.25 "custom projectile model" "models\buildables\sentry3_rockets.mdl" "reload time increased" 2.6 "damage penalty" 0.8 } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.3 "airblast vulnerability multiplier" 0.3 "override footstep sound set" 3 // 5=Scout,3=Soldier,6=Pyro,4=Demoman,2=Heavy,7=Buster } } T_TFBot_Chief_Soldier_Rocket_Circle { Class Soldier Skill Expert WeaponRestrictions PrimaryOnly Name "Aniero Lathos" Item "The Team Captain" Item "The Black Box" Item "Fancy Dress Uniform" Item "The Gunboats" ClassIcon soldier_sergeant_crits Health 40000 Scale 1.9 Attributes MiniBoss Attributes UseBossHealthBar Attributes HoldFireUntilFullReload Attributes AlwaysCrit ItemAttributes { ItemName "The Black Box" "damage bonus" 5 "damage causes airblast" 1 "faster reload rate" 3 "fire rate bonus" 2 "projectile spread angle penalty" 1 "use large smoke explosion" 1 "blast radius increased" 2 "Projectile speed increased" 1 } CharacterAttributes { "health regen" 1 "move speed bonus" 0.4 "damage force reduction" 0.4 "airblast vulnerability multiplier" 0.4 "override footstep sound set" 3 "airblast vertical vulnerability multiplier" 0.1 } } T_TFBot_Giant_Soldier_Burst_Heatseek { Name "Giant Heatseaker Soldier" Class Soldier ClassIcon soldier_burstfire_heat_nys Scale 1.7 Health 4000 Attributes MiniBoss Attributes HoldFireUntilFullReload Action Mobber Skill Expert MaxVisionRange 2500 WeaponRestrictions PrimaryOnly Tag bot_giant Item "Upgradeable TF_WEAPON_ROCKETLAUNCHER" Item "The Infernal Impaler" RocketCustomParticle "flaregun_trail_red" AddCond //Adds conditions to bots { Name "TF_COND_SODAPOPPER_HYPE" Delay 1 Duration 999999 } HomingRockets { IgnoreDisguisedSpies 1 IgnoreStealthedSpies 1 TurnPower 150 MaxAimError 150 } ItemAttributes { ItemName "Upgradeable TF_WEAPON_ROCKETLAUNCHER" "fire rate bonus" 0.001 "clip size upgrade atomic" 0 "faster reload rate" 1.6 "crit vs burning players" 1 "attach particle effect" 701 // hot "blast radius increased" 1.25 "Projectile speed increased" 0.4 "projectile spread angle penalty" 4 } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.6 "airblast vulnerability multiplier" 0.6 "override footstep sound set" 3 // 5=Scout,3=Soldier,6=Pyro,4=Demoman,2=Heavy,7=Buster } } T_TFBot_Soldier_AirStrike { Name "Bombardment Soldier" Class Soldier ClassIcon soldier_airstrike_lite Attributes HoldFireUntilFullReload Skill Hard MaxVisionRange 3000 WeaponRestrictions PrimaryOnly Item "The Air Strike" Item "The B.A.S.E. Jumper" Item "Jumper's Jeepcap" RocketJump 2 // Only rocket jumps when fully reloaded ItemAttributes { ItemName "The Air Strike" "clip size bonus" 2 "damage penalty" 1 "faster reload rate" 0.5 "self dmg push force increased" 2 } CharacterAttributes { "blast dmg to self increased" 0 "increased air control" 5 "cancel falling damage" 1 } } //pyro //demo T_TFBot_Chief_Demo_Nukesalot_Burst { Class Demoman Name "Megali Ekrixi" // greek words for "great explosion" Item "Rimmed Raincatcher" MaxVisionRange 1200 ClassIcon demo_bomber Health 50000 Scale 1.9 Skill Expert AlwaysGlow 1 WeaponRestrictions PrimaryOnly Item "The Loose Cannon" Attributes MiniBoss Attributes UseBossHealthBar Attributes HoldFireUntilFullReload ItemAttributes { ItemName "The Loose Cannon" "grenade launcher mortar mode" 0 "faster reload rate" 4.3 "fire rate bonus" 0.0001 "damage bonus" 3 "reload full clip at once" 1 "fuse bonus" 0.2 "blast radius increased" 1.4 "clip size upgrade atomic" 7.0 "projectile spread angle penalty" 5 "Projectile speed increased" 1.1 } CharacterAttributes { "move speed bonus" 0.35 "damage force reduction" 0.4 "airblast vulnerability multiplier" 0.4 "override footstep sound set" 4 "no self blast dmg" 1 //"boots falling stomp" 1 } } T_TFBot_Marauder // doom players becoming uncanny: the bot { Name "Marauder" Class Demoman ClassIcon demoknight_giant Scale 1.3 Health 3000 Attributes MiniBoss Attributes AlwaysFireWeapon Attributes AlwaysCrit Skill Expert SpawnTemplate "marauder_bot_fight" //UseCustomModel "models\bots\demo\marauder.mdl" Item "Spine-Chilling Skull" Item "Forgotten King's Pauldrons" Item "Shin Shredders" Item "Dynamite Abs" WeaponSwitch //Periodically switches weapon { Delay 0.001 //Time before the first weapon switch starts (Default: 10) Cooldown 20 //Time between each weapon switch (Default: 10) Repeats 9999 //How many times should bot switch weapons in total (Default: 0 - Infinite) Type "Melee" // Weapon slot, possible values: } WeaponSwitch //Periodically switches weapon { Delay 5 //Time before the first weapon switch starts (Default: 10) Cooldown 20 //Time between each weapon switch (Default: 10) Repeats 9999 //How many times should bot switch weapons in total (Default: 0 - Infinite) Type "Primary" // Weapon slot, possible values: } Tag bot_giant Tag bot_marauder Item "The Horseless Headless Horseman's Headtaker" Item "The Chargin' Targe" // Item "The Glasgow Great Helm" //Item "The Juggernaut Jacket" ItemAttributes { ItemName "The Horseless Headless Horseman's Headtaker" "custom item model" "models\weapons\c_models\c_argent_axe\c_argent_axe.mdl" "hand scale" 1.8 "melee cleave attack" 1 //"damage bonus" 2 "melee range multiplier" 2 "fire rate penalty" 2 //"mult stun resistance" 0 } ItemAttributes { Itemname "The Chargin' Targe" //"custom item model" "models\weapons\c_models\c_argent_shield\c_argent_shield.mdl" "charge time increased" 3 "always crit" 1 "attack not cancel charge" 1 "charge recharge rate increased" 2 } ItemAttributes { Itemname "TF_WEAPON_GRENADELAUNCHER" "override projectile type" 12 "faster reload rate" -0.8 "rocket specialist" 1 "fire rate penalty" 2.5 //"dmg pierces resists absorbs" 1 "is invisible" 1 } CharacterAttributes { "damage force reduction" 0.4 "boots falling stomp" 1 "mult stun resistance" 0 "attack not cancel charge" 1 "airblast vulnerability multiplier" 0.4 "override footstep sound set" 4 // 5=Scout,3=Soldier,6=Pyro,4=Demoman,2=Heavy,7=Buster "projectile speed increased" 2 } } T_TFBot_Marauder_2 // doom players becoming uncanny: the bot { Name "Marauder" Class Demoman ClassIcon demoknight_giant Scale 1.3 Health 3000 Attributes MiniBoss Attributes AlwaysFireWeapon Attributes AlwaysCrit Skill Expert WeaponRestrictions MeleeOnly SpawnTemplate "marauder_bot_fight_2" //UseCustomModel "models\bots\demo\marauder.mdl" Item "Spine-Chilling Skull" Item "Forgotten King's Pauldrons" Item "Shin Shredders" Item "Dynamite Abs" Tag bot_giant Tag bot_marauder_2 Item "The Horseless Headless Horseman's Headtaker" Item "The Chargin' Targe" Item "TF_WEAPON_GRENADELAUNCHER" WeaponSwitch { Delay 0.001 Cooldown 20 Repeats 9999 Type "Melee" } WeaponSwitch { Delay 5 Cooldown 20 Repeats 9999 Type "Primary" } ItemAttributes { ItemName "The Horseless Headless Horseman's Headtaker" "custom item model" "models\weapons\c_models\c_argent_axe\c_argent_axe.mdl" "hand scale" 1.8 "melee cleave attack" 1 //"damage bonus" 2 "melee range multiplier" 2 //"mult stun resistance" 0 "fire rate penalty" 2 } ItemAttributes { Itemname "TF_WEAPON_GRENADELAUNCHER" "override projectile type" 12 "faster reload rate" -0.8 "rocket specialist" 1 "fire rate penalty" 2.5 //"dmg pierces resists absorbs" 1 "is invisible" 1 } ItemAttributes { Itemname "The Chargin' Targe" //"custom item model" "models\weapons\c_models\c_argent_shield\c_argent_shield.mdl" "charge time decreased" 3 "attack not cancel charge" 1 "always crit" 1 "charge recharge rate increased" 2 } CharacterAttributes { "damage force reduction" 0.4 "boots falling stomp" 1 "mult stun resistance" 0 "airblast vulnerability multiplier" 0.4 "override footstep sound set" 4 // 5=Scout,3=Soldier,6=Pyro,4=Demoman,2=Heavy,7=Buster } } T_TFBot_Demo_PainTrain { Name "Corrupter" Class Demoman ClassIcon paintrain_lite Scale 1.3 Health 800 Skill Expert WeaponRestrictions MeleeOnly Item "tw_demobot_armor" Item "MvM GateBot Light Demoman" Item "The Splendid Screen" Item "Ali baba's wee booties" ItemAttributes { Itemname "The Pain Train" "increase player capture value" 3 "dmg taken from bullets increased" 1 "fire rate penalty" 1.2 } InterruptAction { Target "777 -1882 -126" Delay 0 Repeats 0 Cooldown 0 Duration 99999 } } T_TFBot_Demoman_Stickybomb_Zombie { Name "Stickybomb Demo" Class Demoman ClassIcon demo_sticky_daan Skill Hard MaxVisionRange 1500 WeaponRestrictions SecondaryOnly AimAt Head //UseHumanAnimations 1 ExtAttr AlwaysFireWeaponAlt Item "Upgradeable TF_WEAPON_PIPEBOMBLAUNCHER" ItemAttributes { ItemName "Upgradeable TF_WEAPON_PIPEBOMBLAUNCHER" "stickybomb charge rate" 0.001 //Demo-bot will fire Stickybomb immediately "max pipebombs decreased" -7 // 1 Stickybomb on ground allowed, will explode when another is fired "projectile range increased" 0.35 // Prevents overshooting target } } T_TFBot_Giant_Demoman_Samurai { Name "Giant Samurai Demo" Class Demoman ClassIcon demoknight_samurai_giant Scale 1.7 Health 3300 Attributes MiniBoss Skill Expert MaxVisionRange 1000 WeaponRestrictions MeleeOnly Tag bot_giant Item "The Half-Zatoichi" Item "The Splendid Screen" ItemAttributes { ItemName "The Splendid Screen" "Attack not cancel charge" 1 } Item "Demo Kabuto" Scale "1.3" ItemAttributes { Itemname "The Half-Zatoichi" "restore health on kill" 100 } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.4 "airblast vulnerability multiplier" 0.4 "override footstep sound set" 4 // 5=Scout,3=Soldier,6=Pyro,4=Demoman,2=Heavy,7=Buster "charge time increased" 2 "charge recharge rate increased" 7 "increased jump height" 2.3 "bot custom jump particle" 1 "damage bonus" 1.5 } } //heavy T_TFBot_Heavyweapons_Mittens { Name "Heavy Mittens Guy" Class Heavyweapons ClassIcon heavy_mittens //Scale 0.5 // 200 Attributes AlwaysCrit Skill Expert MaxVisionRange 800 WeaponRestrictions MeleeOnly Item "The Holiday Punch" ItemAttributes { ItemName "The Holiday Punch" "damage penalty" 0.2 } CharacterAttributes { "move speed bonus" 1.3 } } T_TFBot_Chief_Dragon { Class Heavyweapons Skill Expert WeaponRestrictions PrimaryOnly Name "Piquant Drakos" ClassIcon pyro_dragon_fury_swordstone Health 60000 Scale 1.9 Item "The Bunsen Brave" Item "Promo Huo Long Heatmaker" Attributes MiniBoss Attributes UseBossHealthBar ShootTemplate //Shoot defined point template. Template is spawned at bot position in looking direction, forward velocity being applied to spawned entities { Name Fireball_Projectile //Name of the template Speed 500 //Velocity of the spawned objects (Default: 1000) OverrideShoot 1 //Stop default projectile from being spawned (Default: 0) Spread 0.4 //Spread of the fired template entities. 0 - No spread, 0.1 - Beggar like spread, 1 - Very inaccurate (Default: 0) } ItemAttributes { ItemName "Promo Huo Long Heatmaker" "damage bonus" 1.5 } CharacterAttributes { "move speed bonus" 0.4 "health regen" 100 "damage force reduction" 0.3 "airblast vulnerability multiplier" 0.3 "override footstep sound set" 2 "airblast vertical vulnerability multiplier" 0.1 "rage giving scale" 0.1 } } T_TFBot_Giant_Heavyweapons_Captain_Unfun2Fight { Name "Hellstrong Gerousiastis" Class Heavyweapons ClassIcon heavy_zombie_lite_giant Scale 2 Health 40000 Attributes MiniBoss Attributes UseBossHealthBar Attributes HoldFireUntilFullReload Skill Expert MaxVisionRange 2500 //UseBestWeapon 1 //Action Passive Tag bot_giant StripItemSlot 0 Item "Cadaver's Cranium" Item "The Purity Fist" Item "Fists of Steel" Item "The Man in Slacks" Item "The Gabe Glasses" Item "The Family Business" Item "The Tuxxy" WeaponSwitch { Delay 0.00001 Cooldown 20 Repeats 9999 IfSeeTarget 0 Type "Secondary" } WeaponSwitch { Delay 10 Cooldown 20 Repeats 9999 IfSeeTarget 0 Type "Melee" } ItemAttributes { ItemName "Fists of Steel" //"damage causes airblast" 1 "provide on active" 1 "dmg pierces resists absorbs" 1 "speed_boost_on_hit" 10 "move speed bonus" 1.2 "always crit" 1 "fire rate penalty" 2 //"airblast vertical pushback scale" 1.5 } ItemAttributes { Itemname "The Family Buisness" //"damage causes airblast" 1 "fire rate penalty" 2.5 "bullets per shot bonus" 10 "damage penalty" 0.6 "mult crit when health is below percent" 0.5 "faster reload rate" 0.3 } CharacterAttributes { "move speed bonus" 0.5 "health regen" 20 "damage force reduction" 0 "airblast vulnerability multiplier" 0.2 "override footstep sound set" 2 // 5=Scout,3=Soldier,6=Pyro,4=Demoman,2=Heavy,7=Buster } } T_TFBot_Lout // DOES NOT FUNCTION { Name "Lout" Class Demoman ClassIcon demo_targe_nys Scale 1.4 Health 900 WeaponRestrictions MeleeOnly Skill Normal MaxVisionRange 800 StripItemSlot 0 Item "The Chargin' Targe" Item "Frying Pan" Item "Zombie Heavy" UseCustomModel "models/player/heavy.mdl" ItemAttributes { Itemname "Frying Pan" "no_attack" 1 } CharacterAttributes { "charge recharge rate increased" 1.25 "charge time increased" 2 "charge impact damage increased" 1.9 } } T_TFBot_PainElemental { Name "Pain Elemental" Class Pyro ClassIcon pyro_flare_red Scale 1 Health 2000 Skill Expert WeaponRestrictions MeleeOnly Item "Wandering Wraith" Item "The Flare Gun" WeaponResist { "tf_weapon_compound_bow" 2 } ItemAttributes { ItemName "The flare gun" "damage bonus" 2 "fire rate bonus" 0.7 } ItemAttributes { Itemname "Upgradeable TF_WEAPON_SHOTGUN_PRIMARY" "is_passive_weapon" 1 "damage bonus" 3.34 "fire rate penalty" 8 "override projectile type" 6 "crit vs burning players" 1 "mult projectile count" 4 "projectile spread angle penalty" 3 } ItemAttributes { Itemname "Wandering Wraith" "attach particle effect" 13 // burning } CharacterAttributes { "head scale" 5 } } //engi T_TFBot_Engineer_Wrangler { Class Engineer Health 600 ClassIcon engineer_wrangler_lite Name "Cybernetic Controller" Item "The Wrangler" Item "Dead'er Alive" Item "Iron Lung" Item "Head Mounted Double Observatory" Item "The Jag" StripItemSlot 0 Skill Expert Attributes DisableDodge Item "Battery Canteens" ItemAttributes { Itemname "Battery Canteens" "building instant upgrade" 1 "powerup charges" 1 } ItemAttributes { Itemname "The Wrangler" "disable weapon switch" 1 } CharacterAttributes { "engineer sentry build rate multiplier" 10 "cannot pick up buildings" 1 "mvm sentry ammo" 20 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } //medic T_TFBot_Giant_Medic_Overhealer_Boss { Name "Helthena, The Overhealer" Class Medic ClassIcon medic_overheal_giant Scale 1.75 Health 8000 Attributes MiniBoss Attributes UseBossHealthBar Attributes Ignoreflag Attributes IgnoreEnemies Skill Expert MaxVisionRange 1000 WeaponRestrictions SecondaryOnly Item "Wings of Purity" Item "Honest Halo" // cheaters lament Item "The Shaman's Skull" Item "Coldfront Carapace" Tag bot_giant Item "Upgradeable TF_WEAPON_MEDIGUN" //FireWeapon //Periodically fires weapon //{ // Delay 1 // Cooldown 1 // Repeats 0 // Duration 0.5 // Type "Primary" //} ItemAttributes { ItemName "Upgradeable TF_WEAPON_MEDIGUN" "item style override" 1 "is australium item" 1 "overheal bonus" 8 "ubercharge rate bonus" 0.1 } CharacterAttributes { "move speed bonus" 0.5 "heal rate bonus" 5 "health regen" 40 "damage force reduction" 0.6 "airblast vulnerability multiplier" 0.6 } } //sniper // T_TFBot_Giant_Sniper_Stormbow // { // Name "Theic Timoria" //divine punishment // Class Sniper // ClassIcon scout_giant // Scale 1.9 // Health 60000 // Attributes MiniBoss // Attributes UseBossHealthBar // Skill Expert // MaxVisionRange 2000 // WeaponRestrictions PrimaryOnly // Tag bot_giant // //ShootTemplate // //{ // // Name huntsmanboss_projectiles // // Speed 2000 // // OverrideShoot 1 // // Spread 1.2 // //} // Item "Your Worst Nightmare" // Item "The Falconer" // Item "Conspiratorial Cut" // Item "Pickled Paws" // Item "The Huntsman" // ItemAttributes // { // ItemName "The Huntsman" // "fire rate penalty" 3 // "custom item model" "models\workshop\weapons\c_models\c_stormbow\c_stormbow.mdl" // } // CharacterAttributes // { // "move speed bonus" 0.5 // "damage force reduction" 0.3 // "airblast vulnerability multiplier" 0.3 // "override footstep sound set" 7 // 5=Scout,3=Soldier,6=Pyro,4=Demoman,2=Heavy,7=Buster // } // } // //spy } Wave // Wave 1 { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } InitWaveOutput { Target holograms_3way_relay Action Trigger } Explanation { Line "{#6ed34d}Make your way toward the enemy base and deploy the bomb!" Line "{yellow}Bots ignore you while in spawn!" Line "{blue}You have 7 minutes!" } //SpawnTemplate sentry_blu WaveSpawn { Name "dummy" Where spawnbot TotalCount 1 MaxActive 0 SpawnCount 0 WaitBeforeStarting 9999999999 WaitBetweenSpawns 0 TotalCurrency 0 Support Limited TFBot { Class Scout Health 1 Action Idle CharacterAttributes { "health regen" -1 } ClassIcon blu2_lite } } WaveSpawn { Name "support_blu" Where spawnbot TotalCount 10 MaxActive 2 SpawnCount 2 WaitBeforeStarting 10 WaitBetweenSpawns 25 TotalCurrency 0 Support 1 // FirstSpawnOutput // { // Target bomb_antigrief_on // Action Trigger // } // DoneOutput // { // Target bomb_antigrief_off // Action Trigger // } TFBot { Class Soldier Skill Hard //Action Mobber StripItem "Zombie Soldier" Skin 1 UseCustomModel "models\bots\soldier\bot_soldier.mdl" CharacterAttributes { "collect currency on kill" 1 } } } WaveSpawn // Dummy { WaitForAllSpawned "HHH" WaitBeforeStarting 5 FirstSpawnOutput { Target annotation_hhh_barrier Action Show } } WaveSpawn { Name "support_blu2" WaitForAllSpawned "HHH" Where spawnbot TotalCount 100 MaxActive 5 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 2 TotalCurrency 0 Support 1 FirstSpawnOutput { Target annotation_help Action Show } RandomChoice { TFBot { Template T_TFBot_Soldier_DirectHit ClassIcon random_lite Action Mobber Skin 1 StripItem "Zombie Soldier" UseCustomModel "models\bots\soldier\bot_soldier.mdl" CharacterAttributes { "collect currency on kill" 1 } } TFBot { Template T_TFBot_Scout_Shortstop ClassIcon random_lite StripItem "Zombie Scout" Skin 1 UseCustomModel "models\bots\scout\bot_scout.mdl" CharacterAttributes { "collect currency on kill" 1 } } TFBot { Template T_TFBot_Scout_Pistol ClassIcon random_lite StripItem "Zombie Scout" Skin 1 UseCustomModel "models\bots\scout\bot_scout.mdl" CharacterAttributes { "collect currency on kill" 1 } } TFBot { Template T_TFBot_Demoman_Knight ClassIcon random_lite Skin 1 StripItem "Zombie Demo" UseCustomModel "models\bots\demo\bot_demo.mdl" CharacterAttributes { "collect currency on kill" 1 } } TFBot { Template T_TFBot_Sniper_Huntsman ClassIcon random_lite StripItem "Zombie Sniper" Skin 1 UseCustomModel "models\bots\sniper\bot_sniper.mdl" CharacterAttributes { "collect currency on kill" 1 } } } } WaveSpawn { Name "a1" Where spawnbot_front_balcony_stage1 Where spawnbot_front_right_stage1 TotalCount 21 MaxActive 7 SpawnCount 7 WaitBeforeStarting 0 WaitBetweenSpawns 1 TotalCurrency 50 RandomChoice { TFBot { Class Scout Tag bot_is_left Action Mobber Skill Easy Attributes DisableDodge AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } TFBot { Class Scout Tag bot_is_left Action Mobber Skill Easy Attributes DisableDodge AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } TFBot { Class Scout Tag bot_is_back Action Mobber Attributes DisableDodge Skill Easy AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } } } WaveSpawn { Name "a1.3" Where spawnbot_front_balcony_stage1 TotalCount 15 MaxActive 5 SpawnCount 5 WaitBeforeStarting 0 WaitBetweenSpawns 3 TotalCurrency 50 TFBot { Template T_TFBot_Sniper_Huntsman Skill Normal Tag bot_is_back Attributes DisableDodge Action Mobber AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } } WaveSpawn { Name "a1.1" Where spawnbot_front_right_stage1 TotalCount 2 MaxActive 1 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 7 TotalCurrency 150 TFBot { Template T_TFBot_Giant_Soldier_Extended_Buff_Banner Attributes DisableDodge Tag bot_is_back Action Mobber CharacterAttributes { "cancel falling damage" 1 "deploy time decreased" 0.5 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 3 } } } WaveSpawn { Name "a2" WaitForAllSpawned "a1.3" Where spawnbot_front_highground_far_stage1 Where spawnbot_front_right_stage1 TotalCount 18 MaxActive 6 SpawnCount 6 WaitBeforeStarting 8 WaitBetweenSpawns 8 TotalCurrency 50 RandomChoice { TFBot { Template T_TFBot_Heavyweapons_Shotgun Skill Hard Attributes DisableDodge ClassIcon heavy_shotgun_red Action Mobber Tag bot_is_highground AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } } } WaveSpawn { Name "a2.1" WaitForAllSpawned "a1.3" Where spawnbot_front_highground_far_stage1 TotalCount 3 MaxActive 1 SpawnCount 1 WaitBeforeStarting 12 WaitBetweenSpawns 8 TotalCurrency 100 RandomChoice { TFBot { Template T_TFBot_Giant_Soldier Action Mobber Tag nav_reverse_avoid Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 "voice pitch scale" 0 "damage force reduction" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } TFBot { Template T_TFBot_Giant_Soldier Action FetchFlag Tag nav_reverse_avoid Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 "voice pitch scale" 0 "damage force reduction" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } TFBot { Template T_TFBot_Giant_Soldier Action FetchFlag Tag nav_reverse_avoid Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 "voice pitch scale" 0 "damage force reduction" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } } } WaveSpawn // Dummy { WaitForAllSpawned "a2" Name "stage1" FirstSpawnOutput { Target stage1_relay Action Trigger } } WaveSpawn { Name "b1" WaitForAllSpawned "stage1" Where spawnbot_commisinary_right_stage2 TotalCount 2 MaxActive 2 SpawnCount 1 WaitBeforeStarting 5 WaitBetweenSpawns 8 TotalCurrency 100 FirstSpawnOutput { Target annotation_giant_spawn_right Action Show } TFBot { Template T_TFBot_Giant_Pyro Action Mobber Attributes DisableDodge Tag nav_reverse_avoid CharacterAttributes { "airblast disabled" 1 "crit mod disabled" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } AddCond { Name "TF_COND_SPEED_BOOST" Duration 5 } } } WaveSpawn { Name "b1.1" WaitForAllSpawned "stage1" Where spawnbot_cave_nogiant_stage2 TotalCount 12 MaxActive 4 SpawnCount 4 WaitBeforeStarting 7.5 WaitBetweenSpawns 5 TotalCurrency 100 RandomChoice { TFBot { Template T_TFBot_Heavy_Warrior Name "Bear-on of Hell" Action Mobber Classicon heavy_warrior_red Attributes DisableDodge Tag nav_reverse_avoid AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } TFBot { Template T_TFBot_Heavy_Warrior Action Mobber Name "Bear-on of Hell" Classicon heavy_warrior_red Attributes DisableDodge Tag nav_reverse_avoid AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } TFBot { Template T_TFBot_Heavy_Warrior Action Mobber Classicon heavy_warrior_red Name "Bear-on of Hell" Attributes DisableDodge Tag nav_reverse_avoid AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } TFBot { Template T_TFBot_Heavy_Warrior Action Mobber Classicon heavy_warrior_red Name "Bear-on of Hell" Attributes DisableDodge Tag nav_reverse_avoid AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } TFBot { Template T_TFBot_Heavy_Warrior Action Mobber Classicon heavy_warrior_red Name "Bear-on of Hell" Attributes DisableDodge Tag nav_reverse_avoid AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } TFBot { Template T_TFBot_Heavy_Warrior Action Mobber Name "Bear-on of Hell" Classicon heavy_warrior_red Attributes DisableDodge Tag nav_reverse_avoid AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } TFBot { Template T_TFBot_Heavy_Warrior Action Mobber Classicon heavy_warrior_red Name "Bear-on of Hell" Attributes DisableDodge Tag nav_reverse_avoid AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } TFBot { Template T_TFBot_Heavy_Warrior Action Mobber Classicon heavy_warrior_red Name "Bear-on of Hell" Attributes DisableDodge Tag nav_reverse_avoid AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } TFBot { Template T_TFBot_Heavy_Warrior Action Mobber Name "Bear-on of Hell" Classicon heavy_warrior_red Attributes DisableDodge Tag nav_reverse_avoid AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } TFBot { Template T_TFBot_Heavy_Warrior Action Mobber Classicon heavy_warrior_red Name "Bear-on of Hell" Attributes DisableDodge Tag nav_reverse_avoid AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } TFBot { Template T_TFBot_Heavy_Warrior Action Mobber Classicon heavy_warrior_red Name "Bear-on of Hell" Attributes DisableDodge Tag nav_reverse_avoid AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } TFBot { Template T_TFBot_Heavy_Warrior Action Mobber Classicon heavy_warrior_red Attributes DisableDodge Name "Bear-on of Hell" Tag nav_reverse_avoid AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } TFBot { Template T_TFBot_Heavy_Warrior Action Mobber Classicon heavy_warrior_red Attributes DisableDodge Name "Bear-on of Hell" Tag nav_reverse_avoid AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } TFBot { Template T_TFBot_Heavy_Warrior Action Mobber Classicon heavy_warrior_red Attributes DisableDodge Name "Bear-on of Hell" Tag nav_reverse_avoid AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } TFBot { Template T_TFBot_Heavy_Warrior Action Mobber Name "Bear Grylls" Classicon heavy_warrior_red Attributes DisableDodge Tag nav_reverse_avoid AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } } } WaveSpawn { Name "b1.2" WaitForAllSpawned "stage1" Where spawnbot_commisinary_right_stage2 TotalCount 20 MaxActive 6 SpawnCount 6 WaitBeforeStarting 5 WaitBetweenSpawns 3 TotalCurrency 50 RandomChoice { TFBot { Template T_TFBot_Soldier_Mangler Skill Normal Action Mobber Tag nav_reverse_avoid Attributes DisableDodge //AimLeadProjectileSpeed 1 CharacterAttributes { "crit mod disabled" 0 "airblast disabled" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } TFBot { Template T_TFBot_Soldier_Mangler Skill Normal Action FetchFlag Tag nav_reverse_avoid Attributes DisableDodge //AimLeadProjectileSpeed 1 CharacterAttributes { "crit mod disabled" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } TFBot { Template T_TFBot_Soldier_Mangler Skill Normal Action FetchFlag Tag nav_reverse_avoid Attributes DisableDodge //AimLeadProjectileSpeed 1 CharacterAttributes { "crit mod disabled" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } } } WaveSpawn { Name "b2" WaitForAllDead "b1" Where spawnbot_commisinary_right_stage2 TotalCount 2 MaxActive 1 SpawnCount 1 WaitBeforeStarting 6.5 WaitBetweenSpawns 14 TotalCurrency 100 RandomChoice { TFBot { Template T_TFBot_Giant_Demo_RapidFire Action Mobber Attributes DisableDodge Tag nav_reverse_avoid CharacterAttributes { "crit mod disabled" 0 "voice pitch scale" 0 "damage force reduction" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } TFBot { Template T_TFBot_Giant_Demo_RapidFire Action FetchFlag Attributes DisableDodge Tag nav_reverse_avoid CharacterAttributes { "crit mod disabled" 0 "voice pitch scale" 0 "damage force reduction" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } } } WaveSpawn { Name "b2.1" WaitForAllSpawned "b1.1" Where spawnbot_mid_house_stage2 TotalCount 15 MaxActive 5 SpawnCount 5 WaitBeforeStarting 0 WaitBetweenSpawns 2.5 TotalCurrency 50 RandomChoice { TFBot { Template T_TFBot_Heavyweapons_Heater_Fix Skill Easy Attributes DisableDodge Tag nav_reverse_avoid Action Mobber AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } TFBot { Template T_TFBot_Heavyweapons_Heater_Fix Skill Easy Attributes DisableDodge Tag nav_reverse_avoid Action FetchFlag CharacterAttributes { "crit mod disabled" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } } } WaveSpawn { Name "b2.2" WaitForAllDead "b1.1" // keep this to avoid bot limit Where spawnbot_split_hatch_path_stage2 TotalCount 12 MaxActive 6 SpawnCount 6 WaitBeforeStarting 0 WaitBetweenSpawns 9 TotalCurrency 100 RandomChoice { TFBot { Class Scout Skill Normal Action Mobber Attributes DisableDodge Tag nav_reverse_avoid AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } TFBot { Class Scout Skill Normal Action FetchFlag Attributes DisableDodge Tag nav_reverse_avoid CharacterAttributes { "crit mod disabled" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } } } //WaveSpawn // Dummy //{ // WaitForAllDead "b2.1" // Name "done" // TotalCount 1 // SpawnCount 1 // WaitBeforeStarting 5 //} WaveSpawn // Dummy { WaitForAllDead "b2" Name "done" TotalCount 1 SpawnCount 1 WaitBeforeStarting 5 } WaveSpawn // Dummy { WaitForAllSpawned "done" TotalCount 1 SpawnCount 1 WaitBeforeStarting 0 FirstSpawnOutput { Target stage2_relay Action Trigger } } WaveSpawn { Name "HHH" WaitForAllSpawned "demohorsemenn" Where hades_spawn TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 0 TotalCurrency 100 DoneOutput { Target hatch_reveal_relay Action Trigger } HalloweenBoss { IsMiniBoss 1 ClassIcon horsemann_lite FastUpdate 1 BossType HHH SpawnCurrencyPack 1 Health 3700 } } WaveSpawn { Name "demohorsemenn" WaitForAllSpawned "done" Where spawnbot_highground_left_hatch_stage3 TotalCount 15 MaxActive 5 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 1 TotalCurrency 50 TFBot { Template T_TFBot_Demoman_Knight Action Mobber Attributes DisableDodge Tag nav_reverse_avoid ClassIcon demoknight_headtaker_nys ExtAttr IgnoreNPC Item "The Horseless Headless Horseman's Headtaker" AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } } WaveSpawn { Name "demohorsemenn" WaitForAllSpawned "done" Where spawnbot_highground_right_hatch_stage3 TotalCount 15 MaxActive 5 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 1 TotalCurrency 50 TFBot { Template T_TFBot_Demoman_Knight Tag nav_reverse_avoid Attributes DisableDodge Item "The Horseless Headless Horseman's Headtaker" Action Mobber ClassIcon demoknight_headtaker_nys ExtAttr IgnoreNPC AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } } WaveSpawn { Name "last_ditch" // wave 1 WaitForAllSpawned "HHH" Where spawnbot_redspawn1 TotalCount 999 MaxActive 3 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 2 TotalCurrency 50 RandomChoice { TFBot { Template T_TFBot_Sniper_SMG ClassIcon random_lite Tag nav_reverse_avoid Action Mobber Attributes DisableDodge AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } TFBot { Template T_TFBot_Pyro_Flaregun ClassIcon random_lite Tag tag_dmg_takeIT Action mobber Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 "projectile speed increased" 1.5 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } TFBot { Template T_TFBot_Sniper_Huntsman ClassIcon random_lite Action Mobber Attributes DisableDodge Tag tag_dmg_takeIT AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } TFBot { Template T_TFBot_Heavyweapons_Heavyweight_Champ_Fast ClassIcon random_lite Action Mobber Attributes DisableDodge Tag tag_dmg_takeIT AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } } } WaveSpawn { Name "last_ditch2" // wave 1 WaitForAllDead "HHH" Where spawnbot_redspawn1 TotalCount 999 MaxActive 6 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 1 TotalCurrency 50 RandomChoice { TFBot { Template T_TFBot_Scout_Pistol ClassIcon random_lite Attributes DisableDodge Action Mobber Tag tag_dmg_takeIT AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } TFBot { Class Soldier WeaponRestrictions SecondaryOnly ClassIcon random_lite Attributes DisableDodge Action Mobber Tag tag_dmg_takeIT AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } TFBot { Template T_TFBot_Pyro_Flaregun ClassIcon random_lite Attributes DisableDodge Tag tag_dmg_takeIT Action Mobber AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } TFBot { Template T_TFBot_Pyro Skill Easy ClassIcon random_lite Attributes DisableDodge Action Mobber Tag tag_dmg_takeIT AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } TFBot { Class Demoman Skill Normal ClassIcon random_lite Attributes DisableDodge Action Mobber Tag tag_dmg_takeIT AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } } } } Wave // Wave 2 // tanks { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } InitWaveOutput { Target holograms_3way_relay Action Trigger } SpawnTemplate sentry_blu Explanation { Line "{orange}Enemy tanks will spawn this wave! If they deploy their bombs it's over!" } WaveSpawn { Name "dummy" Where spawnbot TotalCount 1 MaxActive 0 SpawnCount 0 WaitBeforeStarting 0 WaitBetweenSpawns 0 TotalCurrency 0 Support Limited TFBot { Class Scout Health 1 Action Idle CharacterAttributes { "health regen" -1 } ClassIcon blu2_lite } } WaveSpawn { Name "support_blu" Where spawnbot TotalCount 3 MaxActive 3 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 5 TotalCurrency 0 Support 1 FirstSpawnOutput { Target bomb_antigrief_on Action Trigger } DoneOutput { Target bomb_antigrief_off Action Trigger } TFBot { Template T_TFBot_Pyro_Phlogistinator Skill Expert Action Mobber Skin 1 UseCustomModel "models\bots\pyro\bot_pyro.mdl" StripItem "Zombie Pyro" CharacterAttributes { "collect currency on kill" 1 } } } WaveSpawn { Name "a1.1" Where spawnbot_front_balcony_stage1 TotalCount 16 MaxActive 4 SpawnCount 4 WaitBeforeStarting 0 WaitBetweenSpawns 0.1 TotalCurrency 100 TFBot { Template T_TFBot_Pyro Tag nav_reverse_avoid Action Mobber Skill Hard Attributes DisableDodge Item "Upgradeable TF_WEAPON_FLAMETHROWER" ItemAttributes { itemname "Upgradeable TF_WEAPON_FLAMETHROWER" "lunchbox adds minicrits" 2 // change flame particle "airblast disabled" 1 } CharacterAttributes { "crit mod disabled" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } } WaveSpawn { Name "a1" Where spawnbot_front_balcony_stage1 TotalCount 20 MaxActive 5 SpawnCount 5 WaitBeforeStarting 0 WaitBetweenSpawns 5 TotalCurrency 100 TFBot { Template T_TFBot_Heavyweapons_Heavyweight_Champ Action Mobber Attributes DisableDodge Attributes AlwaysCrit Tag nav_reverse_avoid ClassIcon heavy_champ_red CharacterAttributes { "crit mod disabled" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } } WaveSpawn // Tank FIRSTRED { Name "tankboss1_red" TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 0 TotalCurrency 100 Tank { Name "tankboss" StartingPathTrackNode "tank_path_first_1" Health 16000 Speed 60 ClassIcon tank_red Teamnum 2 Model //Set custom model on tank. Will spit harmless errors on client console if the model does not have enough sequences { 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 boss_dead_relay Action Trigger } OnBombDroppedOutput { Target redwin_relay Action Trigger } } } WaveSpawn { Name "a2" WaitForAllSpawned "tankboss1_red" Where spawnbot_front_right_stage1 Where spawnbot_front_highground_far_stage1 TotalCount 4 MaxActive 2 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 4.4 TotalCurrency 200 DoneOutput { Target stage1_relay Action Trigger } TFBot { Template T_TFBot_Giant_DemoMan_PrinceTavish Action Mobber Skill Expert Attributes DisableDodge Tag nav_reverse_avoid CharacterAttributes { "crit mod disabled" 0 "voice pitch scale" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } } WaveSpawn // Tank SECOND RED { Name "tankboss2_red" WaitForAllDead "a2" TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 5 WaitBetweenSpawns 0 TotalCurrency 100 FirstSpawnOutput { Target annotation_tankbuff Action Show } Tank { Name "tankboss" StartingPathTrackNode "tank_path_second_1" Health 15000 Speed 75 ClassIcon tank_red Teamnum 2 TriggerDestroyBuildingFix 1 SpawnTemplate tank_effect_cond Model //Set custom model on tank. Will spit harmless errors on client console if the model does not have enough sequences { 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 boss_dead_relay Action Trigger } OnBombDroppedOutput { Target redwin_relay Action Trigger } } } WaveSpawn { Name "b1" WaitForAllDead "a2" Where spawnbot_shithouse_left_stage2 TotalCount 25 MaxActive 10 SpawnCount 5 WaitBeforeStarting 5 WaitBetweenSpawns 4 TotalCurrency 100 TFBot { Template T_TFBot_Scout_Shortstop Action Mobber Skill Normal Tag nav_reverse_avoid Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 //"increased jump height" 0.5 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } } WaveSpawn { Name "b2" WaitForAllDead "tankboss2_red" Where spawnbot_mid_house_stage2 TotalCount 25 MaxActive 10 SpawnCount 5 WaitBeforeStarting 0 WaitBetweenSpawns 4 TotalCurrency 100 TFBot { Template T_TFBot_Demoknight_Hybrid Skill Expert Tag nav_reverse_avoid ClassIcon demoknight_grenade Attributes DisableDodge MaxVisionRange 2500 //Name "Explosive Bones" CharacterAttributes { "crit mod disabled" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } } WaveSpawn { Name "b2.1" WaitForAllDead "tankboss2_red" Where spawnbot_mid_house_stage2 TotalCount 2 MaxActive 1 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 0 TotalCurrency 100 TFBot { Template T_TFBot_Giant_Soldier Attributes AlwaysCrit Skill Normal Action Mobber Tag nav_reverse_avoid Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } } WaveSpawn { Name "b2.2" WaitForAllSpawned "b2" Where spawnbot_mid_house_stage2 TotalCount 8 MaxActive 8 SpawnCount 4 WaitBeforeStarting 0 WaitBetweenSpawns 5.4 TotalCurrency 100 TFBot { Template T_TFBot_Soldier_Extended_Battalion Skill Normal Action Mobber Tag nav_reverse_avoid Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } } WaveSpawn { Name "c1" WaitForAllSpawned "blimpred" Where spawnbot_highground_left_hatch_stage3 TotalCount 5 MaxActive 5 SpawnCount 5 WaitBeforeStarting 0 WaitBetweenSpawns 0 TotalCurrency 50 Squad { TFBot { Template T_TFBot_Giant_Soldier_Spammer Action FetchFlag Skill Hard Attributes DisableDodge Tag nav_reverse_avoid CharacterAttributes { "crit mod disabled" 0 "voice pitch scale" 0 "damage force reduction" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } TFBot { Template T_TFBot_Medic Tag bot_squad_member Attributes DisableDodge Tag nav_reverse_avoid CharacterAttributes { } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } TFBot { Template T_TFBot_Medic Tag bot_squad_member Tag nav_reverse_avoid Attributes DisableDodge CharacterAttributes { } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } TFBot { Template T_TFBot_Medic Tag bot_squad_member Attributes DisableDodge Tag nav_reverse_avoid CharacterAttributes { } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } TFBot { Template T_TFBot_Medic Tag bot_squad_member Tag nav_reverse_avoid Attributes DisableDodge CharacterAttributes { } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } } } WaveSpawn { Name "c1.1" WaitForAllSpawned "blimpred" Where spawnbot_highground_right_hatch_stage3 TotalCount 5 MaxActive 5 SpawnCount 5 WaitBeforeStarting 0 WaitBetweenSpawns 0 TotalCurrency 50 Squad { TFBot { Template T_TFBot_Giant_Soldier_Spammer Action FetchFlag Skill Hard AimTrackingInterval 0.05 Tag nav_reverse_avoid Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 "voice pitch scale" 0 "damage force reduction" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } TFBot { Template T_TFBot_Medic Tag bot_squad_member Tag nav_reverse_avoid Attributes DisableDodge CharacterAttributes { } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } TFBot { Template T_TFBot_Medic Tag bot_squad_member Tag nav_reverse_avoid Attributes DisableDodge CharacterAttributes { } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } TFBot { Template T_TFBot_Medic Tag bot_squad_member Tag nav_reverse_avoid Attributes DisableDodge CharacterAttributes { } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } TFBot { Template T_TFBot_Medic Tag bot_squad_member Tag nav_reverse_avoid Attributes DisableDodge CharacterAttributes { } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } } } WaveSpawn { Name "c1.2" WaitForAllSpawned "begintank" Where spawnbot_highground_right_hatch_stage3 Where spawnbot_highground_left_hatch_stage3 TotalCount 25 MaxActive 10 SpawnCount 5 WaitBeforeStarting 5 WaitBetweenSpawns 3 TotalCurrency 100 RandomChoice { TFBot { Template T_TFBot_Sniper_SMG Tag nav_reverse_avoid ClassIcon Sniper Skill Easy Action Mobber Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } TFBot { Template T_TFBot_Sniper_SMG Tag nav_reverse_avoid ClassIcon Sniper Skill Easy Action Mobber Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } TFBot { Template T_TFBot_Sniper_SMG Tag nav_reverse_avoid ClassIcon Sniper Skill Easy Action Mobber Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } TFBot { Template T_TFBot_Sniper ClassIcon Sniper Action Sniper Tag nav_reverse_avoid Skill Hard Attributes DisableDodge ItemAttributes { Itemname "tf_weapon_sniperrifle" "sniper fires tracer hidden" 1 } CharacterAttributes { "crit mod disabled" 0 "cannot headshot" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } } } WaveSpawn // Dummy { WaitForAllSpawned "b2" Name "done" TotalCount 1 SpawnCount 1 } WaveSpawn // Dummy { WaitForAllDead "b2.1" Name "done" TotalCount 1 SpawnCount 1 } WaveSpawn // Dummy { WaitForAllSpawned "done" Name "begintank" TotalCount 1 SpawnCount 1 } WaveSpawn // Dummy { WaitForAllSpawned "blimpred" TotalCount 1 SpawnCount 1 WaitBeforeStarting 5 Support Limited FirstSpawnOutput { Target stage2_relay Action Trigger } } WaveSpawn // was a blimp { Name "blimpred" WaitForAllSpawned "begintank" TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 0 TotalCurrency 0 DoneOutput { Target hatch_reveal_relay Action Trigger } Tank { Name "tankboss" StartingPathTrackNode "stickytank_last_1" Health 22000 Speed 75 ClassIcon tank_sticky_red SpawnTemplate StickyTank Skin 0 //OffsetZ 1000 Model //Set custom model on tank. Will spit harmless errors on client console if the model does not have enough sequences { 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" } Teamnum 2 OnKilledOutput { Target boss_dead_relay Action Trigger } OnBombDroppedOutput { Target redwin_relay Action Trigger } } } WaveSpawn { Name "last_ditch" WaitForAllDead "c1.1" Where spawnbot_redspawn1 TotalCount 999 MaxActive 9 SpawnCount 9 WaitBeforeStarting 0 WaitBetweenSpawns 0 TotalCurrency 0 RandomChoice { TFBot { Template T_TFBot_Soldier_Buff_Banner ClassIcon random_lite Tag tag_dmg_takeIT Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } TFBot { Template T_TFBot_Heavyweapons_Shotgun ClassIcon random_lite Attributes DisableDodge Tag tag_dmg_takeIT CharacterAttributes { "crit mod disabled" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } TFBot { Class Soldier Skill Normal ClassIcon random_lite Attributes DisableDodge Tag tag_dmg_takeIT CharacterAttributes { "crit mod disabled" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } } } } Wave // Wave 3 // marauder { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } InitWaveOutput { Target holograms_3way_relay Action Trigger } SpawnTemplate sentry_blu WaveSpawn { Name "dummy" Where spawnbot TotalCount 1 MaxActive 0 SpawnCount 0 WaitBeforeStarting 0 WaitBetweenSpawns 0 TotalCurrency 0 Support Limited TFBot { Class Scout Health 1 Action Idle CharacterAttributes { "health regen" -1 } ClassIcon blu2_lite } } WaveSpawn { Name "dummy1" Where spawnbot TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 15 TotalCurrency 0 Support 1 FirstSpawnOutput { Target bomb_antigrief_on Action Trigger } DoneOutput { Target bomb_antigrief_off Action Trigger } TFBot { Template T_TFBot_Soldier_Extended_Battalion UseCustomModel "models\bots\soldier\bot_soldier.mdl" Skin 1 StripItem "Zombie Soldier" CharacterAttributes { "collect currency on kill" 1 //"move speed penalty" 0.5 } } } WaveSpawn { Name "a1.1" Where spawnbot_front_highground_far_stage1 TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 5 WaitBetweenSpawns 0 TotalCurrency 100 TFBot { Template T_TFBot_Giant_Demo_RapidFire AimLeadProjectileSpeed 1 Tag nav_reverse_avoid ClassIcon demo_spammer_giant Item "Upgradeable TF_WEAPON_GRENADELAUNCHER" Item "Glengarry Bonnet" Attributes DisableDodge ItemAttributes { ItemName "Upgradeable TF_WEAPON_GRENADELAUNCHER" "item style override" 1 "voice pitch scale" 0 "is australium item" 1 "damage force reduction" 0 "fire rate bonus" 0.55 "faster reload rate" -0.8 } Action Mobber CharacterAttributes { "crit mod disabled" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } } WaveSpawn { Name "a1" Where spawnbot_front_right_stage1 TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 5 WaitBetweenSpawns 0 TotalCurrency 100 TFBot { Template T_TFBot_Giant_Demo_RapidFire AimLeadProjectileSpeed 1 Attributes DisableDodge Tag nav_reverse_avoid ClassIcon demo_spammer_giant Item "Upgradeable TF_WEAPON_GRENADELAUNCHER" Item "Glengarry Bonnet" ItemAttributes { ItemName "Upgradeable TF_WEAPON_GRENADELAUNCHER" "item style override" 1 "is australium item" 1 "fire rate bonus" 0.55 "faster reload rate" -0.8 } Action Mobber CharacterAttributes { "crit mod disabled" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } } WaveSpawn { Name "a1.2" Where spawnbot_front_balcony_stage1 TotalCount 24 MaxActive 8 SpawnCount 4 WaitBeforeStarting 0 WaitBetweenSpawns 3.5 TotalCurrency 100 TFBot { Class Heavyweapons Skill Easy Attributes DisableDodge Action Mobber Tag nav_reverse_avoid CharacterAttributes { "crit mod disabled" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } } WaveSpawn { Name "a2" WaitForAllSpawned "a1.2" Where spawnbot_front_balcony_stage1 Where spawnbot_front_right_stage1 TotalCount 15 MaxActive 5 SpawnCount 5 WaitBeforeStarting 0 WaitBetweenSpawns 2.5 TotalCurrency 100 TFBot { Template T_TFBot_Spy_Deadringer Tag nav_reverse_avoid //Attributes DisableDodge Action Mobber //Attributes DisableDodge //Action FetchFlag Skill Easy CharacterAttributes { "crit mod disabled" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } } WaveSpawn { Name "a2.1" WaitForAllSpawned "a1.2" Where spawnbot_front_balcony_stage1 Where spawnbot_front_right_stage1 TotalCount 25 MaxActive 10 SpawnCount 5 WaitBeforeStarting 0 WaitBetweenSpawns 4.8 TotalCurrency 100 TFBot { Template T_TFBot_Scout_Cola WeaponRestrictions MeleeOnly Tag nav_reverse_avoid Attributes DisableDodge //Action Mobber Action FetchFlag Skill Hard CharacterAttributes { "crit mod disabled" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } } WaveSpawn { Name "a2.2" WaitForAllSpawned "a2.1" Where spawnbot_front_right_stage1 Where spawnbot_front_highground_far_stage1 TotalCount 2 MaxActive 2 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 7.5 TotalCurrency 100 TFBot { Template T_TFBot_Giant_Demo_RapidFire AimLeadProjectileSpeed 1 Attributes DisableDodge Tag nav_reverse_avoid ClassIcon demo_spammer_giant Item "Upgradeable TF_WEAPON_GRENADELAUNCHER" Item "Glengarry Bonnet" ItemAttributes { ItemName "Upgradeable TF_WEAPON_GRENADELAUNCHER" "item style override" 1 "is australium item" 1 "fire rate bonus" 0.55 "voice pitch scale" 0 "faster reload rate" -0.8 "damage force reduction" 0 } Action Mobber CharacterAttributes { "crit mod disabled" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } } WaveSpawn // Dummy { WaitForAllDead "a2.2" TotalCount 1 SpawnCount 1 Name "allded" } WaveSpawn // Dummy { WaitForAllDead "a2.1" TotalCount 1 SpawnCount 1 Name "allded" } WaveSpawn // Dummy { WaitForAllSpawned "allded" TotalCount 1 SpawnCount 1 Support Limited DoneOutput { Target stage1_relay Action Trigger } } WaveSpawn { Name "b1" WaitForAllDead "a2.2" Where spawnbot_commisinary_right_stage2 TotalCount 8 MaxActive 4 SpawnCount 4 WaitBeforeStarting 5 WaitBetweenSpawns 10 TotalCurrency 100 FirstSpawnOutput { Target annotation_giant_spawn_right Action Show } Squad { TFBot { Template T_TFBot_Giant_Demoman_Barrage Action Mobber Name "Lieutenant Pillspam" Tag nav_reverse_avoid ClassIcon demo_burst_red Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 "voice pitch scale" 0 "damage force reduction" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } TFBot { Template T_TFBot_Pyro_Flaregun //Skill Expert Action Mobber Tag nav_reverse_avoid Attributes DisableDodge ClassIcon pyro_flare_red CharacterAttributes { "crit mod disabled" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } TFBot { Template T_TFBot_Pyro_Flaregun //Attributes AlwaysFireWeapon Action Mobber Attributes DisableDodge Tag nav_reverse_avoid ClassIcon pyro_flare_red CharacterAttributes { "crit mod disabled" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } TFBot { Template T_TFBot_Pyro_Flaregun //Attributes AlwaysFireWeapon Action Mobber Tag nav_reverse_avoid Attributes DisableDodge ClassIcon pyro_flare_red CharacterAttributes { "crit mod disabled" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } } } WaveSpawn { Name "b1.1" WaitForAllDead "a2.2" Where spawnbot_mid_house_stage2 TotalCount 16 MaxActive 8 SpawnCount 8 WaitBeforeStarting 5 WaitBetweenSpawns 8 TotalCurrency 100 TFBot { Template T_TFBot_Scout_Cola Skill Easy Tag nav_reverse_avoid Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 } Action mobber AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } } WaveSpawn { Name "b1.2" WaitForAllSpawned "b1.1" Where spawnbot_right_stairs_stage2 TotalCount 10 MaxActive 5 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 0.1 TotalCurrency 100 RandomChoice { TFBot { Template T_TFBot_Scout_Bonk WeaponRestrictions PrimaryOnly Action FetchFlag Attributes DisableDodge Tag nav_reverse_avoid CharacterAttributes { "crit mod disabled" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } TFBot { Template T_TFBot_Scout_Bonk WeaponRestrictions PrimaryOnly Action Mobber Attributes DisableDodge Tag nav_reverse_avoid CharacterAttributes { "crit mod disabled" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } } } WaveSpawn { Name "b2" WaitForAllSpawned "b1" Where spawnbot_commisinary_right_stage2 TotalCount 2 MaxActive 2 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 20 TotalCurrency 100 TFBot { Template T_TFBot_Giant_Pyro_Flare_Spammer_Fix Action Mobber Attributes DisableDodge Classicon Pyro_flare_red Tag nav_reverse_avoid CharacterAttributes { "crit mod disabled" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } } WaveSpawn { Name "b2.1" WaitForAllSpawned "b1" Where spawnbot_mid_house_stage2 Where spawnbot_split_hatch_path_stage2 TotalCount 20 MaxActive 10 SpawnCount 5 WaitBeforeStarting 0 WaitBetweenSpawns 8 TotalCurrency 100 TFBot { Template T_TFBot_Soldier_DirectHit Skill Normal Attributes DisableDodge Action Mobber Tag nav_reverse_avoid CharacterAttributes { "crit mod disabled" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } } WaveSpawn { Name "c1" WaitForAllDead "b2" Where marauder_spawn TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 7.2 WaitBetweenSpawns 0 TotalCurrency 100 FirstSpawnOutput { Target stage2_relay Action trigger } DoneOutput { Target hatch_reveal_relay Action Trigger } TFBot { Template T_TFBot_Marauder_2 Health 6500 Attributes DisableDodge Tag nav_reverse_avoid Attributes UseBossHealthBar Action Mobber StripItemSlot 0 AlwaysGlow 1 CharacterAttributes { "crit mod disabled" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } } WaveSpawn // Dummy { WaitForAllDead "b2" TotalCount 1 SpawnCount 1 FirstSpawnOutput { Target anticheese_relay_enable Action Trigger } } WaveSpawn // Dummy { WaitForAllDead "c1" TotalCount 1 SpawnCount 1 FirstSpawnOutput { Target anticheese_relay_disable Action Trigger } } WaveSpawn // Dummy { WaitForAllDead "b2" TotalCount 1 SpawnCount 1 FirstSpawnOutput { Target annotation_marauder Action Show } } WaveSpawn { Name "c1.1" WaitForAllSpawned "c1" Where spawnbot_highground_left_hatch_stage3 TotalCount 15 MaxActive 3 SpawnCount 3 WaitBeforeStarting 4 WaitBetweenSpawns 0 TotalCurrency 100 TFBot { Template T_TFBot_Heavyweapons_Mittens Attributes AlwaysCrit Action Mobber Health 400 Scale 1.2 Tag nav_reverse_avoid Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } } WaveSpawn { Name "c1.2" WaitForAllSpawned "c1" Where spawnbot_highground_right_hatch_stage3 TotalCount 15 MaxActive 3 SpawnCount 3 WaitBeforeStarting 4 WaitBetweenSpawns 0 TotalCurrency 100 TFBot { Template T_TFBot_Heavyweapons_Mittens Action Mobber Attributes AlwaysCrit Health 400 Scale 1.2 Attributes DisableDodge Tag nav_reverse_avoid CharacterAttributes { "crit mod disabled" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } } WaveSpawn { Name "last_ditch" // wave 3 WaitForAllDead "c1" Where spawnbot_redspawn1 TotalCount 999 MaxActive 9 SpawnCount 3 WaitBeforeStarting 0 WaitBetweenSpawns 1 TotalCurrency 100 RandomChoice { TFBot { Template T_TFBot_Heavyweapons_Shotgun Skill Hard ClassIcon random_lite Action Mobber Attributes DisableDodge Tag tag_dmg_takeIT AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } TFBot { Class Scout Skill Normal ClassIcon random_lite Attributes DisableDodge Tag tag_dmg_takeIT Action Mobber AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } TFBot { Template T_TFBot_Demoman Skill Normal ClassIcon random_lite Action Mobber Tag tag_dmg_takeIT Attributes DisableDodge AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } } } } Wave // Wave 4 { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } InitWaveOutput { Target holograms_3way_relay Action Trigger } //SpawnTemplate sentries_stage1 //SpawnTemplate sentries_stage2 SpawnTemplate sentry_blu WaveSpawn { Name "dummy" Where spawnbot TotalCount 1 MaxActive 0 SpawnCount 0 WaitBeforeStarting 0 WaitBetweenSpawns 0 TotalCurrency 0 Support Limited TFBot { Class Scout Health 1 Action Idle CharacterAttributes { "health regen" -1 } ClassIcon blu2_lite } } WaveSpawn { Name "blu_support" Where spawnbot TotalCount 10 MaxActive 1 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 90 TotalCurrency 0 Support 1 FirstSpawnOutput { Target bomb_antigrief_on Action Trigger } DoneOutput { Target bomb_antigrief_off Action Trigger } TFBot { Template T_TFBot_Demoman_Stickybomb StripItem "Zombie Demo" Skin 1 UseCustomModel "models\bots\demo\bot_demo.mdl" CharacterAttributes { "collect currency on kill" 1 } } } WaveSpawn { Name "a1" Where spawnbot_front_right_stage1 Where spawnbot_front_highground_far_stage1 TotalCount 15 MaxActive 6 SpawnCount 3 WaitBeforeStarting 0 WaitBetweenSpawns 4 TotalCurrency 100 TFBot { Template T_TFBot_Giant_Scout_Fast Attributes DisableDodge Action Mobber Skill Expert Tag nav_reverse_avoid CharacterAttributes { "crit mod disabled" 0 "damage force reduction" 0 "voice pitch scale" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } } WaveSpawn { Name "a1.1" Where spawnbot_front_balcony_stage1 TotalCount 16 MaxActive 8 SpawnCount 8 WaitBeforeStarting 0 WaitBetweenSpawns 0 TotalCurrency 100 RandomChoice { TFBot { Template T_TFBot_Demoman Action Mobber Attributes DisableDodge AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } TFBot { Template T_TFBot_Demoman Action FetchFlag Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } } } WaveSpawn { Name "a2" WaitForAllSpawned "a1" Where spawnbot_front_balcony_stage1 Where spawnbot_front_right_stage1 Where spawnbot_front_highground_far_stage1 TotalCount 40 MaxActive 10 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 0.0001 TotalCurrency 100 DoneOutput { Target stage1_relay Action Trigger } TFBot { Name "Ranger Engineer" Class Engineer ClassIcon engineer_ranger_nys Skill Normal MaxVisionRange 1000 WeaponRestrictions PrimaryOnly Action Mobber Item "The Rescue Ranger" Item "The Danger" ItemAttributes { ItemName "The Rescue Ranger" "no damage falloff" 1 } Tag nav_reverse_avoid ClassIcon engineer_ranger_red_nys Attributes AlwaysCrit StripItemSlot 4 CharacterAttributes { "crit mod disabled" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } } WaveSpawn { Name "b1" WaitForAllDead "a2" Where spawnbot_commisinary_right_stage2 Where spawnbot_mid_house_stage2 TotalCount 25 MaxActive 10 SpawnCount 5 WaitBeforeStarting 10 WaitBetweenSpawns 7.5 TotalCurrency 150 FirstSpawnOutput { Target annotation_giant_spawn_right Action Show } TFBot { Template T_TFBot_Soldier_Conch Action Mobber Attributes DisableDodge Tag nav_reverse_avoid CharacterAttributes { "crit mod disabled" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 3.5 } //Attributes TeleportToHint } } WaveSpawn { Name "b1.1" WaitForAllDead "a2" Where spawnbot_commisinary_right_stage2 Where spawnbot_mid_house_stage2 TotalCount 4 MaxActive 2 SpawnCount 2 WaitBeforeStarting 5 WaitBetweenSpawns 10 TotalCurrency 150 FirstSpawnOutput { Target annotation_giant_spawn_right Action Show } Squad { TFBot { Template T_TFBot_Giant_Pyro_Phlog Action Mobber Attributes DisableDodge UseMeleeThreatPrioritization 1 Tag nav_reverse_avoid CharacterAttributes { "crit mod disabled" 0 "damage force reduction" 0 "voice pitch scale" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } //Attributes TeleportToHint } TFBot { Template T_TFBot_Giant_Medic Tag nav_reverse_avoid Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 "damage force reduction" 0 "voice pitch scale" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } Tag bot_squad_member } } } WaveSpawn { Name "b1" WaitForAllDead "a2" Where spawnbot_commisinary_right_stage2 TotalCount 32 MaxActive 8 SpawnCount 4 WaitBeforeStarting 5 WaitBetweenSpawns 7.2 TotalCurrency 100 TFBot { Template T_TFBot_Sniper_Huntsman Skill Hard //UseBestWeapon 1 Attributes DisableDodge Action Mobber CharacterAttributes { //"sniper no headshots" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } } WaveSpawn { Name "b2.1" WaitForAllDead "b1.1" Where spawnbot_commisinary_right_stage2 TotalCount 32 MaxActive 8 SpawnCount 4 WaitBeforeStarting 5 WaitBetweenSpawns 7.2 TotalCurrency 100 TFBot { Class Scout Skill Easy //UseBestWeapon 1 Attributes DisableDodge Action Mobber CharacterAttributes { //"sniper no headshots" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } } WaveSpawn { Name "b2.2" WaitForAllDead "b1.1" Where spawnbot_commisinary_right_stage2 Where spawnbot_mid_house_stage2 Where spawnbot_split_hatch_path_stage2 TotalCount 15 MaxActive 10 SpawnCount 5 WaitBeforeStarting 0 WaitBetweenSpawns 7.5 TotalCurrency 50 TFBot { Template T_TFBot_Soldier_Conch Action Mobber Attributes DisableDodge Tag nav_reverse_avoid CharacterAttributes { "crit mod disabled" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 3.5 } //Attributes TeleportToHint } } WaveSpawn { Name "b2" WaitForAllDead "b1.1" Where spawnbot_commisinary_right_stage2 Where spawnbot_mid_house_stage2 Where spawnbot_split_hatch_path_stage2 Where spawnbot_split_hatch_path_stage2 TotalCount 4 MaxActive 2 SpawnCount 2 WaitBeforeStarting 15 WaitBetweenSpawns 0 TotalCurrency 50 Squad { TFBot { Template T_TFBot_Giant_Soldier_Spammer_Reload Tag nav_reverse_avoid Attributes DisableDodge Action Mobber CharacterAttributes { "crit mod disabled" 0 "damage force reduction" 0 "voice pitch scale" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } TFBot { Template T_TFBot_Giant_Medic_Kritz Tag nav_reverse_avoid Classicon medic_kritz2_red Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 "damage force reduction" 0 "voice pitch scale" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } Tag bot_squad_member } } } WaveSpawn { Name "c1.1" WaitForAllDead "b2" Where spawnbot_highground_left_hatch_stage3 Where spawnbot_highground_right_hatch_stage3 TotalCount 15 MaxActive 3 SpawnCount 3 WaitBeforeStarting 0 WaitBetweenSpawns 8 TotalCurrency 100 RandomChoice { TFBot { Class Soldier Item "The Gunboats" Skill Hard Rocketjump 2 Tag nav_reverse_avoid Action Mobber Attributes DisableDodge AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } TFBot { Class Soldier Item "The Gunboats" Skill Hard UseBestWeapon 1 Tag nav_reverse_avoid Action Mobber Attributes DisableDodge AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } } } WaveSpawn { Name "c1.2" WaitForAllDead "b2" Where spawnbot_highground_left_hatch_stage3 Where spawnbot_highground_right_hatch_stage3 TotalCount 4 MaxActive 2 SpawnCount 2 WaitBeforeStarting 0 WaitBetweenSpawns 0 TotalCurrency 50 DoneOutput { Target hatch_reveal_relay Action Trigger } Squad { TFBot { Template T_TFBot_Giant_Soldier_Spammer Tag nav_reverse_avoid Attributes DisableDodge Action Mobber CharacterAttributes { "crit mod disabled" 0 "damage force reduction" 0 "voice pitch scale" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } TFBot { Template T_TFBot_Giant_Medic_Kritz Tag nav_reverse_avoid Classicon medic_kritz2_red Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 "damage force reduction" 0 "voice pitch scale" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } Tag bot_squad_member } } } WaveSpawn { Name "c1" WaitForAllDead "b2" Where spawnbot_highground_left_hatch_stage3 Where spawnbot_highground_right_hatch_stage3 TotalCount 15 MaxActive 10 SpawnCount 5 WaitBeforeStarting 0 WaitBetweenSpawns 8.5 TotalCurrency 50 FirstSpawnOutput { Target stage2_relay Action Trigger } RandomChoice { TFBot { Class Pyro Skill Normal ClassIcon pyro_thruster_red_lite Name "Thruster Pyro" Attributes DisableDodge Item "The Thermal Thruster" Item "The Backburner" Tag nav_reverse_avoid UseBestWeapon 1 AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } UseMeleeThreatPrioritization 1 FireWeapon { Delay 0 Cooldown 1 IfSeeTarget 1 Type "Primary" } ItemAttributes { ItemName "The Thermal Thruster" "single wep deploy time increased" 0.01 "holster_anim_time" 0.01 "item_meter_charge_rate" 6 "thermal_thruster_air_launch" 1 "falling_impact_radius_stun" 1 } } TFBot { Class Pyro Skill Normal ClassIcon pyro_thruster_red_lite Name "Thruster Pyro" Attributes DisableDodge Item "The Thermal Thruster" Item "Upgradeable TF_WEAPON_FLAMETHROWER" UseBestWeapon 1 Tag nav_reverse_avoid AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } UseMeleeThreatPrioritization 1 FireWeapon { Delay 0 Cooldown 1 IfSeeTarget 1 Type "Primary" } ItemAttributes { ItemName "The Thermal Thruster" "single wep deploy time increased" 0.01 "holster_anim_time" 0.01 "item_meter_charge_rate" 6 "thermal_thruster_air_launch" 1 "falling_impact_radius_stun" 1 } } TFBot { Class Pyro ClassIcon pyro_thruster_red_lite Attributes DisableDodge Tag nav_reverse_avoid AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } Skill Normal Name "Thruster Pyro" Item "The Thermal Thruster" Item "The Dragon's Fury" UseBestWeapon 1 UseMeleeThreatPrioritization 1 FireWeapon { Delay 0 Cooldown 1 IfSeeTarget 1 Type "Primary" } ItemAttributes { ItemName "The Thermal Thruster" "single wep deploy time increased" 0.01 "holster_anim_time" 0.01 "item_meter_charge_rate" 6 "thermal_thruster_air_launch" 1 "falling_impact_radius_stun" 1 } } TFBot { Class Pyro Skill Expert ClassIcon pyro_thruster_red_lite Attributes DisableDodge Tag nav_reverse_avoid AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } Name "Thruster Pyro" Item "The Thermal Thruster" Item "The Phlogistinator" UseBestWeapon 1 UseMeleeThreatPrioritization 1 Attributes SpawnWithFullCharge FireWeapon { Delay 0 Cooldown 1 IfSeeTarget 1 Type "Primary" } ItemAttributes { ItemName "The Thermal Thruster" "single wep deploy time increased" 0.01 "holster_anim_time" 0.01 "item_meter_charge_rate" 6 "thermal_thruster_air_launch" 1 "falling_impact_radius_stun" 1 } } } } WaveSpawn { Name "last_ditch" // wave 1 WaitForAllDead "c1" Where spawnbot_redspawn1 TotalCount 999 MaxActive 12 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 1 TotalCurrency 0 RandomChoice { TFBot { Template T_TFBot_Soldier_Beggars ClassIcon random_lite Tag tag_dmg_takeIT Action mobber Attributes DisableDodge AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } TFBot { Template T_TFBot_Heavy_IronFist_Airblast ClassIcon random_lite Action Mobber Attributes DisableDodge Tag tag_dmg_takeIT AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } TFBot { Template T_TFBot_Heavyweapons_Fist ClassIcon random_lite Attributes DisableDodge Action Mobber Tag tag_dmg_takeIT AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } TFBot { Template T_TFBot_Scout_Shortstop ClassIcon random_lite Tag tag_dmg_takeIT Action mobber Attributes DisableDodge AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } TFBot { Template T_TFBot_Pyro_Dragon ClassIcon random_lite Tag tag_dmg_takeIT Action mobber Attributes DisableDodge AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } } } } Wave // Wave 5 { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } InitWaveOutput { Target holograms_3way_relay Action Trigger } SpawnTemplate engineer_hints WaveSpawn { Name "dummy" Where spawnbot TotalCount 1 MaxActive 0 SpawnCount 0 WaitBeforeStarting 9999999999 WaitBetweenSpawns 0 TotalCurrency 0 Support Limited TFBot { Class Scout Health 1 Action Idle CharacterAttributes { "health regen" -1 } ClassIcon blu2_lite } } WaveSpawn { Name "blu_support" Where spawnbot TotalCount 50 MaxActive 5 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 8 TotalCurrency 100 Support 1 FirstSpawnOutput { Target bomb_antigrief_on Action Trigger } DoneOutput { Target bomb_antigrief_off Action Trigger } RandomChoice { TFBot { Template T_TFBot_Medic Tag bot_squad_member Attributes Ignoreflag StripItem "Zombie Medic" Classicon medic_uber_allyblu UseCustomModel "models\bots\medic\bot_medic.mdl" Skin 1 } TFBot { Template T_TFBot_Sniper_Sydney_Sleeper Action Sniper StripItem "Zombie Sniper" UseCustomModel "models\bots\sniper\bot_sniper.mdl" Skin 1 } TFBot { Template T_TFBot_Spy StripItem "Zombie Spy" Attributes IgnoreFlag UseCustomModel "models\bots\spy\bot_spy.mdl" Skin 1 //Objective Spy } } } WaveSpawn { Name "blu_support2" WaitForAllSpawned "lastbot" Where spawnbot TotalCount 50 MaxActive 3 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 8 TotalCurrency 0 Support 1 RandomChoice { TFBot { Template T_TFBot_Medic Tag bot_squad_member Classicon random_lite WeaponRestrictions SecondaryOnly StripItem "Zombie Medic" Skin 1 UseCustomModel "models\bots\medic\bot_medic.mdl" } TFBot { Template T_TFBot_Soldier_DirectHit Action Mobber Classicon random_lite StripItem "Zombie Soldier" Skin 1 UseCustomModel "models\bots\soldier\bot_soldier.mdl" } TFBot { Template T_TFBot_Spy Classicon random_lite StripItem "Zombie Spy" Attributes IgnoreFlag Skin 1 UseCustomModel "models\bots\spy\bot_spy.mdl" } TFBot { Template T_TFBot_Giant_Scout_Fix Action Mobber Classicon random_lite Skin 1 UseCustomModel "models\bots\scout_boss\bot_scout_boss.mdl" StripItem "Zombie Scout" } TFBot { Template T_TFBot_Pyro_Dragon Action Mobber Classicon random_lite Skin 1 UseCustomModel "models\bots\pyro\bot_pyro.mdl" StripItem "Zombie Pyro" } TFBot { Template T_TFBot_Soldier_HomingRockets Action Mobber Classicon random_lite Skin 1 StripItem "Zombie Soldier" UseCustomModel "models\bots\soldier\bot_soldier.mdl" } TFBot { Template T_TFBot_Soldier_Extended_Battalion Action Mobber Classicon random_lite StripItem "Zombie Soldier" Skin 1 UseCustomModel "models\bots\soldier\bot_soldier.mdl" } TFBot { Template T_TFBot_Soldier_Extended_Buff_Banner Action Mobber StripItem "Zombie Soldier" Skin 1 UseCustomModel "models\bots\soldier\bot_soldier.mdl" Classicon random_lite } TFBot { Template T_TFBot_Soldier_Extended_Concheror Action Mobber Skin 1 StripItem "Zombie Soldier" UseCustomModel "models\bots\soldier\bot_soldier.mdl" Classicon random_lite } TFBot { Template T_TFBot_Pyro_Phlogistinator Action Mobber UseCustomModel "models\bots\pyro\bot_pyro.mdl" StripItem "Zombie Pyro" Skin 1 Classicon random_lite } TFBot { Name "Giant Heavyweight Champ" Class Heavyweapons Scale 1.7 Health 5000 StripItem "Zombie Heavy" UseCustomModel "models\bots\heavy_boss\bot_heavy_boss.mdl" Attributes MiniBoss Skill Expert MaxVisionRange 1200 Skin 1 WeaponRestrictions MeleeOnly Action Mobber Tag bot_giant Item "the killing gloves of boxing" Item "Pugilist's Protector" ItemAttributes { ItemName "the killing gloves of boxing" "damage bonus" 2.5 "critboost on kill" 10 "fire rate penalty" 1 } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.3 "airblast vulnerability multiplier" 0.3 "override footstep sound set" 2 } Classicon random_lite } } } WaveSpawn { Name "a1" Where spawnbot_front_right_stage1 TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 5 WaitBetweenSpawns 0 TotalCurrency 100 TFBot { Name "Spellcaster" Class Sniper ClassIcon spellbook_lite_giant Scale 1.75 Health 20000 Attributes MiniBoss Attributes UseBossHealthBar Attributes DisableDodge Skill Expert MaxVisionRange 3000 //WeaponRestrictions MeleeOnly Tag bot_giant Action Mobber Item "Halloween Spellbook" Item "Corona Australis" Item "The Freedom Staff" StripItemSlot 0 StripItemSlot 1 ItemAttributes { Itemname "The Freedom Staff" "damage bonus" 1.5 "fire rate bonus" 0.8 } FireWeapon { Delay 0.1 Cooldown 1 Repeats 99999 IfSeeTarget 1 Duration 0.5 Type "Action" } Spell { Delay 3 Cooldown 20 Repeats 9999 IfSeeTarget 1 Charges 1 Limit 1 Type "Fireball" } Spell //Gives specified spell to bots. { Delay 9 Cooldown 20 Repeats 9999 IfSeeTarget 1 Charges 1 Limit 1 Type "Pumpkin MIRV" } Spell //Gives specified spell to bots. { Delay 12 Cooldown 20 Repeats 9999 IfSeeTarget 1 Charges 1 Limit 1 Type "Summon Skeletons" } Spell //Gives specified spell to bots. { Delay 16 Repeats 9999 IfSeeTarget 1 Charges 1 Limit 1 Type "Ball O' Bats" } Spell //Gives specified spell to bots. { Delay 22 Cooldown 20 Repeats 9999 IfSeeTarget 1 Charges 1 Limit 1 Type "Meteor Shower" } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0 "crit mod disabled" 1 "airblast vulnerability multiplier" 0.2 "override footstep sound set" 7 // 5=Scout,3=Soldier,6=Pyro,4=Demoman,2=Heavy,7=Buster } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } } WaveSpawn { Name "a1.1" Where spawnbot_front_highground_far_stage1 Where spawnbot_front_right_stage1 TotalCount 15 MaxActive 8 SpawnCount 4 WaitBeforeStarting 0 WaitBetweenSpawns 4 TotalCurrency 100 RandomChoice { TFBot { Template T_TFBot_Demoknight_Persian Action Mobber Skill Expert Attributes AlwaysCrit Attributes DisableDodge AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } TFBot { Template T_TFBot_Demoknight_Hybrid_Persian Action Mobber Skill Hard Attributes DisableDodge Item "The Loch-n-load" Attributes AlwaysCrit AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } } } WaveSpawn // Dummy { WaitForAllDead "a1" TotalCount 1 SpawnCount 1 Name "done" Support Limited } WaveSpawn // Dummy { WaitForAllSpawned "done" TotalCount 1 SpawnCount 1 Name "alldead" Support Limited FirstSpawnOutput { Target stage1_relay Action Trigger } } WaveSpawn { Name "b1" WaitForAllSpawned "alldead" Where spawnbot_mid_house_stage2 TotalCount 12 MaxActive 6 SpawnCount 6 WaitBeforeStarting 5 WaitBetweenSpawns 8 TotalCurrency 100 Squad { TFBot { Template T_TFBot_Demoman Skill Hard Attributes DisableDodge Action Mobber CharacterAttributes { "damage force reduction" 0 "crit mod disabled" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } TFBot { Template T_TFBot_Medic_QuickUber Attributes DisableDodge Tag bot_squad_member CharacterAttributes { "damage force reduction" 0 "crit mod disabled" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } } } WaveSpawn { Name "b1.1" WaitForAllSpawned "alldead" Where spawnbot_commisinary_right_stage2 Where spawnbot_shithouse_left_stage2 TotalCount 12 MaxActive 6 SpawnCount 6 WaitBeforeStarting 5 WaitBetweenSpawns 8 TotalCurrency 100 Squad { TFBot { Template T_TFBot_Demoman Skill Normal Attributes DisableDodge Action Mobber CharacterAttributes { "damage force reduction" 0 "crit mod disabled" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } TFBot { Template T_TFBot_Medic_QuickUber Attributes DisableDodge Tag bot_squad_member CharacterAttributes { "damage force reduction" 0 "crit mod disabled" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } } } WaveSpawn { Name "b1.1" WaitForAllSpawned "alldead" Where spawnbot_commisinary_right_stage2 Where spawnbot_right_stairs_stage2 TotalCount 3 MaxActive 1 SpawnCount 1 WaitBeforeStarting 5 WaitBetweenSpawns 8 TotalCurrency 34 TFBot { Template T_TFBot_Giant_Heavyweapons_Deflector_Fix Attributes DisableDodge Action Mobber CharacterAttributes { "damage force reduction" 0 "voice pitch scale" 0 "increase buff duration" 9 "crit mod disabled" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 3 } } } WaveSpawn { Name "b1.2" WaitForAllSpawned "alldead" Where spawnbot_mid_house_stage2 TotalCount 6 MaxActive 2 SpawnCount 2 WaitBeforeStarting 3 WaitBetweenSpawns 3 TotalCurrency 66 Squad { TFBot { Template T_TFBot_Giant_Soldier_Spammer Item "The Buff Banner" Name "Giant Rapid Buff Soldier" Attributes DisableDodge Classicon soldier_buff_spammer_giant Action Mobber Attributes SpawnWithFullCharge CharacterAttributes { "damage force reduction" 0 "voice pitch scale" 0 "increase buff duration" 9 "crit mod disabled" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 3 } } TFBot { Template T_TFBot_Giant_Soldier_Spammer Item "The Buff Banner" Name "Giant Rapid Buff Soldier" Attributes DisableDodge Classicon soldier_buff_spammer_giant Action Mobber Tag bot_squad_member Attributes SpawnWithFullCharge CharacterAttributes { "damage force reduction" 0 "voice pitch scale" 0 "increase buff duration" 9 "crit mod disabled" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 3 } } //TFBot //{ // Template T_TFBot_Giant_Medic_Regen // Attributes DisableDodge // Tag bot_squad_member // CharacterAttributes // { // // "damage force reduction" 0 // "voice pitch scale" 0 // "crit mod disabled" 0 // } // AddCond // { // Name "TF_COND_REPROGRAMMED" // } // AddCond // { // Name "TF_COND_INVULNERABLE" // Duration 1.5 // } // } } } WaveSpawn { Name "b2" WaitForAllDead "b1.2" Where spawnbot_mid_house_stage2 TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 0 TotalCurrency 100 DoneOutput { Target stage2_relay Action Trigger } TFBot { Template T_TFBot_Chief_Demo_Nukesalot_Burst Attributes DisableDodge Action Mobber Health 15000 CharacterAttributes { "crit mod disabled" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } } WaveSpawn { Name "b1" WaitForAllSpawned "b1.2" Where spawnbot_mid_house_stage2 TotalCount 18 MaxActive 9 SpawnCount 9 WaitBeforeStarting 25 WaitBetweenSpawns 8 TotalCurrency 100 TFBot { Template T_TFBot_Heavyweapons_Deflector Attributes DisableDodge Action Mobber //Health 15000 CharacterAttributes { "crit mod disabled" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } } WaveSpawn { Name "b3" WaitForAllDead "b2" Where spawnbot_highground_left_hatch_stage3 TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 0 TotalCurrency 100 TFBot { Template T_TFBot_Marauder Action Mobber Health 6666 Attributes DisableDodge Attributes UseBossHealthBar CharacterAttributes { "crit mod disabled" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } } WaveSpawn { Name "b3.1" WaitForAllDead "b2" Where spawnbot_highground_right_hatch_stage3 TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 0 TotalCurrency 100 TFBot { Template T_TFBot_Marauder_2 Action Mobber Health 6666 Attributes UseBossHealthBar Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } } WaveSpawn { Name "b3.2" WaitForAllDead "b2" Where spawnbot_mid_house_stage2 TotalCount 35 MaxActive 10 SpawnCount 2 WaitBeforeStarting 0 WaitBetweenSpawns 2 TotalCurrency 100 RandomChoice { TFBot { Class Scout Skill Easy Action Mobber Attributes DisableDodge AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } TFBot { Class Scout Skill Easy Action FetchFlag Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } } } WaveSpawn { Name "b3.2" WaitForAllDead "b2" Where spawnbot_mid_house_stage2 TotalCount 20 MaxActive 5 SpawnCount 5 WaitBeforeStarting 0 WaitBetweenSpawns 8 TotalCurrency 100 RandomChoice { TFBot { Class Medic WeaponRestrictions PrimaryOnly ClassIcon medic_syringe AimLeadProjectileSpeed 1 Action Mobber Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } TFBot { Class Medic WeaponRestrictions PrimaryOnly ClassIcon medic_syringe AimLeadProjectileSpeed 1 Action FetchFlag Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } } } WaveSpawn // Dummy { WaitForAllDead "b3" TotalCount 1 SpawnCount 1 Name "alldead3" Support Limited } WaveSpawn // Dummy { WaitForAllDead "b3.1" TotalCount 1 SpawnCount 1 Name "alldead3" Support Limited } WaveSpawn // Dummy { WaitForAllSpawned "alldead3" TotalCount 1 SpawnCount 1 Support Limited Name "finish4" } WaveSpawn { Name "lastbot" WaitForAllSpawned "finish4" TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 0 DoneOutput { Target hatch_reveal_relay Action Trigger } } WaveSpawn { Name "last_ditch" WaitForAllSpawned "lastbot" Where spawnbot_highground_left_hatch_stage3 Where spawnbot_highground_right_hatch_stage3 TotalCount 999 MaxActive 5 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 8 TotalCurrency 50 Support 1 RandomChoice { TFBot { Template T_TFBot_Giant_Soldier Action Mobber ClassIcon Random_lite Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 "voice pitch scale" 0 "damage force reduction" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } TFBot { Template T_TFBot_Giant_Pyro Action Mobber ClassIcon Random_lite Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 "voice pitch scale" 0 "damage force reduction" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } TFBot { Template T_TFBot_Giant_Scout Action Mobber ClassIcon Random_lite Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 "voice pitch scale" 0 "damage force reduction" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } } } WaveSpawn { Name "last_common" WaitForAllSpawned "lastbot" Where spawnbot_redspawn1 TotalCount 999 MaxActive 4 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 4 TotalCurrency 100 RandomChoice { TFBot { Template T_TFBot_Medic_Kritz ClassIcon random_lite Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 "voice pitch scale" 0 "damage force reduction" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } TFBot { Template T_TFBot_Soldier_AirStrike ClassIcon random_lite Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 "voice pitch scale" 0 "damage force reduction" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } TFBot { Template T_TFBot_Soldier_Extended_Battalion ClassIcon random_lite Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 "voice pitch scale" 0 "damage force reduction" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } TFBot { Template T_TFBot_Soldier_Extended_Buff_Banner ClassIcon random_lite Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 "voice pitch scale" 0 "damage force reduction" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } TFBot { Template T_TFBot_Medic_Kritz ClassIcon random_lite Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 "voice pitch scale" 0 "damage force reduction" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } TFBot { Template T_TFBot_Scout_Sandman_FastCharge ClassIcon random_lite Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 "voice pitch scale" 0 "damage force reduction" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } TFBot { Template T_TFBot_Heavyweapons_Brass ClassIcon random_lite Skill Hard Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 "voice pitch scale" 0 "damage force reduction" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } TFBot { Template T_TFBot_Demo_Burst_Fix ClassIcon random_lite Skill Normal Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 "voice pitch scale" 0 "damage force reduction" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } TFBot { Template T_TFBot_Pyro_Dragon ClassIcon random_lite Skill Expert Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 "voice pitch scale" 0 "damage force reduction" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } } } WaveSpawn { Name "wrangler" WaitForAllSpawned "lastbot" Where spawnbot_highground_left_hatch_stage3 TotalCount 5 MaxActive 5 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 8 TotalCurrency 50 TFBot { Template T_TFBot_Engineer_Wrangler Attributes TeleportToHint ClassIcon random_lite Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } } WaveSpawn { Name "brass1" WaitForAllSpawned "lastbot" Where spawnbot_highground_left_hatch_stage3 TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 8 TotalCurrency 50 TFBot { Template T_TFBot_Giant_Heavyweapons_Brass_Fix Action Idle ClassIcon random_lite Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } } WaveSpawn { Name "brass2" WaitForAllSpawned "lastbot" Where spawnbot_highground_right_hatch_stage3 TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 8 TotalCurrency 50 TFBot { Template T_TFBot_Giant_Heavyweapons_Brass_Fix Action Idle ClassIcon random_lite Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } } } }