#base robot_standard.pop #base robot_giant.pop #base robot_scroob.pop // WAVE 1 - 0$ + B(100$) // ------------------- // TOTAL - 0$ + B(100$) WaveSchedule { StartingCurrency 1200 RespawnWaveTime 3 CanBotsAttackWhileInSpawnRoom no NoRomevisionCosmetics 1 NoCritPumpkin 1 RobotLimit 45 //reconfigurer NoRedBotsRandomCrit 1 ImprovedAirblast 1 AllowBotExtraSlots 1 PrecacheSound "shrapnelgun_fire.mp3" PrecacheSound "they're_behind_you.mp3" PrecacheModel "models/bots/demo_boss/bot_demo_gray_boss.mdl" PrecacheModel "models/bots/soldier/bot_soldier_gray.mdl" PrecacheModel "models/bots/medic/bot_medic_gray.mdl" PrecacheModel "models/weapons/w_models/w_grenade_grenadelauncher_gray.mdl" Templates { T_TFBot_Engineer_Minigiant_Frontier { Health 650 "scale" 1.5 Item "the hat with no name" ClassIcon engineer_frontier_justice_nys Name "Armored Vengeful Engineer" Class Engineer Skill Expert Item "the frontier justice" Action FetchFlag CharacterAttributes { "head scale" 0.7 "move speed bonus" 0.75 } ItemAttributes { ItemName "the frontier justice" "faster reload rate" 0.25 } SpawnTemplate { Name "FrontierGainOnTeammateDeath" } } } ExtraSpawnPoint //red house spawn, will have two mirrors { Name "spawnbot_red_house" TeamNum 5 X "-1768.75" Y "-1421.74" Z "163.98" } ExtraSpawnPoint //red house spawn, will have two mirrors { Name "spawnbot_red_house" TeamNum 5 X "-1768.75" Y "-1947.45" Z "163.98" } ExtraSpawnPoint //red hatch spawn, may or may not be used { Name "spawnbot_red_hatch" TeamNum 5 X "-7174.20" Y "-383.21" Z "190.47" } ExtraSpawnPoint //red hatch spawn, may or may not be used { Name "spawnbot_red_hatch" TeamNum 5 X "-7523.53" Y "-177.92" Z "338.27" } ExtraSpawnPoint //red hatch spawn, may or may not be used { Name "spawnbot_red_hatch" TeamNum 5 X "-6811.18" Y "-383.21" Z "190.47" } ExtraSpawnPoint //red flank spawn, only exists to catch flank bots { Name "spawnbot_red_hatch" TeamNum 5 X "-1109.52" Y "-625.54" Z "63.62" } ExtraSpawnPoint //red back spawn, places bots between the courtyard and hatch { Name "spawnbot_red_back" TeamNum 5 X "-4713.63" Y "-1403.33" Z "281.67" } ExtraSpawnPoint //red back spawn, places bots between the courtyard and hatch { Name "spawnbot_red_back" TeamNum 5 X "-4713.63" Y "-2109.21" Z "281.67" } ExtraTankPath { Name "botdrop_blimp_path_A" Node "1000.52 -3307.44 1434.52" Node "-1278.42 -3190.77 1157.27" Node "-2674.87 -1794.12 1077.37" Node "-2974.87 -1794.12 1077.37" } PointTemplates { misc_logic { NoFixup 1 prop_dynamic { "model" "models/props_mvm/robot_spawnpoint.mdl" "disableshadows" 1 "startdisabled" 1 "defaultanim" "idle" "angles" "0 -90 0" "skin" 0 "targetname" redbotspawn_house "origin" "-1768.75 -1421.74 163.98" } prop_dynamic { "model" "models/props_mvm/robot_spawnpoint.mdl" "disableshadows" 1 "startdisabled" 1 "defaultanim" "idle" "angles" "0 90 0" "skin" 2 "targetname" grybotspawn_house "origin" "-1768.75 -1947.45 163.98" } prop_dynamic { "model" "models/props_mvm/robot_spawnpoint.mdl" "disableshadows" 1 "startdisabled" 1 "defaultanim" "idle" "angles" "0 -90 0" "skin" 2 "targetname" grybotspawn_house "origin" "-1768.75 -1421.74 163.98" } prop_dynamic { "model" "models/props_mvm/robot_spawnpoint.mdl" "disableshadows" 1 "startdisabled" 1 "defaultanim" "idle" "angles" "0 90 0" "skin" 0 "targetname" redbotspawn_house "origin" "-1768.75 -1947.45 163.98" } prop_dynamic { "model" "models/props_mvm/robot_spawnpoint.mdl" "disableshadows" 1 "startdisabled" 1 "defaultanim" "idle" "angles" "0 180 0" "skin" 0 "targetname" redbotspawn_flank "origin" "-1109.52 -625.54 63.62" } prop_dynamic { "model" "models/props_mvm/robot_spawnpoint.mdl" "disableshadows" 1 "startdisabled" 1 "defaultanim" "idle" "angles" "0 0 0" "skin" 0 "targetname" redbotspawn_hatch "origin" "-6811.18 -383.21 190.47" } prop_dynamic { "model" "models/props_mvm/robot_spawnpoint.mdl" "disableshadows" 1 "startdisabled" 1 "defaultanim" "idle" "angles" "0 0 0" "skin" 0 "targetname" redbotspawn_hatch "origin" "-7174.20 -383.21 190.47" } prop_dynamic { "model" "models/props_mvm/robot_spawnpoint.mdl" "disableshadows" 1 "startdisabled" 1 "defaultanim" "idle" "angles" "0 0 0" "skin" 0 "targetname" redbotspawn_hatch "origin" "-7523.53 -177.92 338.27" } prop_dynamic { "model" "models/props_mvm/robot_spawnpoint.mdl" "disableshadows" 1 "startdisabled" 1 "defaultanim" "idle" "angles" "0 90 0" "skin" 0 "targetname" redbotspawn_back "origin" "-4713.63 -1403.33 281.67" } prop_dynamic { "model" "models/props_mvm/robot_spawnpoint.mdl" "disableshadows" 1 "startdisabled" 1 "defaultanim" "idle" "angles" "0 -90 0" "skin" 0 "targetname" redbotspawn_back "origin" "-4713.63 -2109.21 281.67" } trigger_hurt //game end any bots that fall into the train zone { "targetname" "barrier_hatch" "damage" "99999" "damagetype" "67108864" //combine ball damage type "spawnflags" "1" "nodmgforce" "0" //funny "origin" "-1318.95 -3609.08 17.12" "mins" "-675 -1000 -2000" "maxs" "675 1000 2000" } prop_dynamic { "model" "models/props_gameplay/cap_circle_320.mdl" "disableshadows" 1 "startdisabled" 1 "modelscale" "0.75" "targetname" grybotspawn_house "skin" 0 "origin" "-2113.56 -1663.61 161.31" } prop_dynamic { "model" "models/props_gameplay/cap_circle_320.mdl" "disableshadows" 1 "startdisabled" 1 "modelscale" "0.75" "targetname" grybotspawn_house "skin" 0 "origin" "-2175.43 -2908.81 163.31" } prop_dynamic { "model" "models/props_gameplay/cap_circle_320.mdl" "disableshadows" 1 "startdisabled" 1 "modelscale" "0.75" "targetname" grybotspawn_house "skin" 0 "origin" "-3754.26 -2857.13 231.18" } prop_dynamic { "model" "models/props_gameplay/cap_circle_320.mdl" "disableshadows" 1 "startdisabled" 1 "modelscale" "0.75" "targetname" grybotspawn_house "skin" 0 "origin" "-3925.39 -894.91 5.10" } prop_dynamic { "model" "models/props_gameplay/cap_circle_320.mdl" "disableshadows" 1 "startdisabled" 1 "modelscale" "0.75" "targetname" grybotspawn_house "skin" 0 "origin" "-2601.91 -775.83 164.64" } prop_dynamic { "model" "models/props_gameplay/cap_circle_320.mdl" "disableshadows" 1 "startdisabled" 1 "modelscale" "0.75" "targetname" grybotspawn_house "skin" 0 "origin" "-1337.34 -1110.82 2.54" } logic_relay { "targetname" "misc_logic" "onspawn" "intel,SetReturnTime,60000,0,1" } logic_relay { "targetname" "botdrop_blimp_dead" "OnTrigger" "boss_dead_relay,Trigger,0,0" } logic_relay { "targetname" "backspawns_active" "onspawn" "redbotspawn_back,Enable,0,0,1" } logic_relay { "targetname" "housespawns_gry_active" "onspawn" "grybotspawn_house,Enable,0,0,1" } } FrontierGainOnTeammateDeath { OnSpawnOutput { Target "popscript" Action "$FrontierGainOnTeammateDeath" Delay 0.01 } } botDrop_TP { KeepAlive 1 logic_relay { "OnSpawn" "botdrop_blimp_path_A_3,AddOutput,OnPass blimp:RemoveHealth:999999999:0.5:-1,0,-1" "OnSpawn" "botdrop_blimp_path_A_3,AddOutput,OnPass botDrop_TP_Penalty:Disable::0.5:-1,0,-1" "OnSpawn" "player,$DisplayTextChat,{FF2222}////BOT DROP DETECTED////,0,0" } Info_Target { "targetname" "botDrop_TP_Target" "origin" "0 0 0" } } GreyGlows1 { tf_glow { "GlowColor" "255 255 255 255" "target" "!parent" "targetname" "boss_grey_glow1" } OnParentKilledOutput { Target "boss_grey_glow1" Action "Kill" } } GreyGlows2 { tf_glow { "GlowColor" "255 255 255 255" "target" "!parent" "targetname" "boss_grey_glow1" } OnParentKilledOutput { Target "boss_grey_glow1" Action "Kill" } } } LuaScriptFile "scripts/charge_back_on_hit.lua" LuaScriptFile "scripts/pomsonemphit.lua" LuaScriptFile "scripts/launcher_reload_on_kill.lua" LuaScriptFile "scripts/charge_back_on_kill.lua" LuaScriptFile "scripts/direct_hit_hesh.lua" LuaScriptFile "scripts/virus_knife.lua" LuaScriptFile "scripts/manmelter_extinguish_on_hit.lua" luascriptfile "scripts/bot_frontier_gain_on_teammate_death.lua" SpawnTemplate "misc_logic" Mission { Where spawnbot_1 Objective DestroySentries InitialCooldown 35 BeginAtWave 1 RunForThisManyWaves 6 CooldownTime 40 DesiredCount 1 TFBot { Template T_TFBot_SentryBuster } } Mission //Blue spies on wave 2 { Where spawnbot_1 Objective Spy InitialCooldown 10 CooldownTime 25 BeginAtWave 2 RunForThisManyWaves 1 DesiredCount 2 TFBot { Template T_TFBot_Spy Skill Normal } } Mission //Blue snipers on wave 3 { Where flankers_1 Objective Sniper InitialCooldown 15 CooldownTime 20 BeginAtWave 3 RunForThisManyWaves 1 DesiredCount 2 TFBot { Template T_TFBot_Sniper } } CustomWeapon { "SHRAPNEL_GUN" { OriginalItemName "TF_WEAPON_SCATTERGUN" "custom weapon fire sound" "shrapnelgun_fire.mp3" "bleeding duration" 1.5 "projectile penetration" 1 "sniper fires tracer HIDDEN" 1 "bullets per shot bonus" 3 "mult dmg vs tanks" 0.10 "mult dmg vs giants" 0.01 "mult bleeding dmg" 0.5 "weapon spread bonus" 2 "damage bonus" 0.1 "penetration damage penalty" 200 } } CustomWeapon { "SHRAPNEL_GUN_ROCKETSPEC" { OriginalItemName "TF_WEAPON_SCATTERGUN" "custom weapon fire sound" "shrapnelgun_fire.mp3" "projectile penetration" 1 "bleeding duration" 1.5 "mult bleeding dmg" 0.5 "sniper fires tracer HIDDEN" 1 "bullets per shot bonus" 3 "mult dmg vs tanks" 0.10 "mult dmg vs giants" 0.01 "weapon spread bonus" 2 "stun on hit" 0.5 "dmg penalty vs players" 1.25 "stun on hit type" movement "stun on hit slow" 1 "no damage falloff" 1 "damage bonus" 0.1 "penetration damage penalty" 200 } } CustomWeapon { "The Reconfigurer" { OriginalItemName "Upgradeable TF_WEAPON_KNIFE" "fire input on kill" "popscript^$virusKnifeKill^" "mult dmg vs giants" 0.5 "attach particle effect" 65 "weapon always gib" 1 "paintkit_proto_def_index" 414 "set_item_texture_wear" 0 "fire rate bonus" 0.65 "damage penalty" 0.65 "add cloak on kill" 10 "add cond when active" 114 "special item description 2" "On kill by knife or spawned bot, victim explodes into an allied spy bot that will live for 25 seconds" "special item description 3" "On kill by knife or spawned bot, gain 15% sapper charge and 10% cloak" "special item description 4" "While active, see teammate outlines through walls. Useful for finding enemy spies and tracking your bots" } } CustomWeapon { "The Decoy Watch" { OriginalItemName "TF_WEAPON_INVIS" "mult cloak meter consume rate" 0.0 //script handles this "mod_cloak_no_regen_from_items" 1 "mult cloak meter regen rate" 0.65 "fire input on effect" "popscript^$decoyWatchActivate^" "special item description 2" "Spawn an invincible, immobile, and harmless sniper bot on your position that lives for 10 seconds, consumes and requires full cloak to do so. No longer functions as an invis watch" } } CustomWeapon { "L'égaliseur" { OriginalItemName "Upgradeable TF_WEAPON_KNIFE" "paintkit_proto_def_index" 411 "set_item_texture_wear" 1 "special item description 2" "Do 50% more damage and move 25% faster when low on health, hit 50% less hard at high health. Much like the old equalizer." "dmg penalty while half alive" 0.5 "health from healers reduced" 0.5 "mult dmg with reduced health" 1.5 "move speed as health decreases" 1.25 } } DisallowUpgrade //Advanced syntax { Upgrade "projectile penetration" // Upgrade name MaxLevel 0 // Maximum allowed level CheckAllSlots 1 // Disallow if the player has the matching items equipped ItemName "The Machina" // Apply upgrade restrictions only to those items if specified } ExtraLoadoutItems { Spy { Melee "The Reconfigurer" PDA2 "The Decoy Watch" } // Scout // { // Primary "SHRAPNEL_GUN" // Primary "SHRAPNEL_GUN_ROCKETSPEC" // } } ExtendedUpgrades { splendid_unstoppable { Name "Unstoppable Charge" Attribute "Attack not cancel charge" Description "While charging, any robots you touch will be flinged back and damaged, and you take 65% less damage." Cap 1 Increment 1 Cost 200 AllowedWeapons { SimilarToItem "The Splendid Screen" } SecondaryAttributes { "effect add attributes" "stomp player damage|30|stomp player force|60|dmg taken increased|0.35" "throwable detonation time" 6 "mult dmg vs giants" 0.5 "fire input on hit" "popscript^$chargeBackOnHit^" } } demo_refill_charge_on_kill_primary { Name "Refill Charge on Kill" Attribute "mult airblast refire time" Description "Refill 20*Increment% of your charge for every grenade launcher kill" Cap 5 Increment 1 Cost 100 AllowedWeapons { SimilarToItem "TF_WEAPON_GRENADELAUNCHER" ItemName "The Loch-n-Load" ItemName "The Iron Bomber" ItemName "The Loose Cannon" } SecondaryAttributes { "fire input on kill" "popscript^$chargeBackOnKill^" } RequiredWeapons { SimilarToItem "The Chargin' Targe" SimilarToItem "The Tide Turner" SimilarToItem "The Splendid Screen" } } demo_reload_primary_on_kill { Name "Reload Primary On Kill" Attribute "preserve ubercharge" Description "Reloads one projectile per increment of your primary weapon on kill" Cap 4 Increment 1 Cost 100 AllowPlayerClass Demoman AllowedWeapons { SimilarToItem "The Eyelander" SimilarToItem "The Scottish Handshake" SimilarToItem "The Half-Zatoichi" SimilarToItem "The Ullapool Caber" SimilarToItem "Nessie's Nine Iron" SimilarToItem "The Pain Train" SimilarToItem "The Persian Persuader" SimilarToItem "The Claidheamohmor" SimilarToItem "The Horseless Headless Horseman's Headtaker" SimilarToItem "TF_WEAPON_BOTTLE" SimilarToItem "The Scotsman's Skullcutter" SimilarToItem "TF_WEAPON_SHOTGUN_SOLDIER" } SecondaryAttributes { "fire input on kill" "popscript^$launcherReloadOnKill^" } RequiredWeapons { SimilarToItem "TF_WEAPON_GRENADELAUNCHER" ItemName "The Loch-n-Load" ItemName "The Iron Bomber" ItemName "The Loose Cannon" } } direct_hit_hesh { Name "Squash Head Payload" Attribute "tool needs giftwrap" Description "On hit, create a cloud of devastating shrapnel ahead of the rocket that benefits from rocket specialist but does little damage to giants and tanks." Cap 1 Increment 1 Cost 700 AllowedWeapons { ItemName "the direct hit" } SecondaryAttributes { "fire input on hit" "popscript^$directHitHESH^" } } airstrike_ignite { Name "Napalm" Attribute "Set DamageType Ignite" Description "Light enemies on fire, minicrit burning" Cap 1 Increment 1 Cost 500 AllowedWeapons { ItemName "The Air Strike" } SecondaryAttributes { "minicrit vs burning player" 1 "no self effect" 1 } } airstrike_ignite_mastery { Name "Napalm Mastery" Attribute "afterburn duration bonus" Description "Raises afterburn damage by 10% and duration by 25%" Cap 2 Increment 0.25 Cost 350 AllowedWeapons { ItemName "The Air Strike" } SecondaryAttributes { "weapon burn dmg increased" 0.10 } RequiredUpgrade { Upgrade "airstrike_ignite" // Name of the upgrade, as specified in the outer block Level 1 // Minimum level after which the upgrade becomes enabled (Default: 1) } } soldier_reload_primary_on_kill { Name "Reload Primary On Kill" Attribute "preserve ubercharge" Description "Reloads one projectile per increment of your primary weapon on kill" Cap 4 Increment 1 Cost 100 AllowPlayerClass Soldier AllowedWeapons { SimilarToItem "Upgradeable TF_WEAPON_SHOTGUN_PRIMARY" SimilarToItem "The Reserve Shooter" SimilarToItem "Panic Attack Shotgun" } SecondaryAttributes { "fire input on kill" "popscript^$launcherReloadOnKill^" } } soldier_bison_reload_on_hit { Name "Reload Primary On Hit" Attribute "preserve ubercharge" Description "Reloads one projectile per increment of your primary weapon on hit, bison often hits its target 3 times with one projectile" Cap 4 Increment 1 Cost 150 AllowedWeapons { SimilarToItem "The Righteous Bison" } SecondaryAttributes { "fire input on hit" "popscript^$launcherReloadOnKill^" } } soldier_conch_on_kill { Name "Stable Mod: Conch Buff On Kill" Attribute "add cond on kill" Description "Gives a banner buff to yourself on kill for 10 seconds. +35% Damage Bonus" Cap 29 Increment 29 Cost 0 AllowPlayerClass Soldier AllowedWeapons { SimilarToItem "Upgradeable TF_WEAPON_SHOTGUN_PRIMARY" SimilarToItem "The Reserve Shooter" SimilarToItem "Panic Attack Shotgun" SimilarToItem "The Righteous Bison" } SecondaryAttributes { "add cond on kill duration" "10" "damage bonus" 0.35 } DisallowedUpgrade { Upgrade soldier_buff_on_kill // Name of the upgrade, as specified in the outer block Level 1 // Minimum level after which the upgrade becomes disabled (Default: 1) } DisallowedUpgrade { Upgrade soldier_batts_on_kill // Name of the upgrade, as specified in the outer block Level 1 // Minimum level after which the upgrade becomes disabled (Default: 1) } } soldier_buff_on_kill { Name "Stable Mod: Banner Buff On Kill" Attribute "add cond on kill" Description "Gives a banner buff to yourself on kill for 10 seconds. +35% Damage Bonus" Cap 16 Increment 16 Cost 100 AllowPlayerClass Soldier AllowedWeapons { SimilarToItem "Upgradeable TF_WEAPON_SHOTGUN_PRIMARY" SimilarToItem "The Reserve Shooter" SimilarToItem "Panic Attack Shotgun" SimilarToItem "The Righteous Bison" } SecondaryAttributes { "add cond on kill duration" "10" "damage bonus" 0.35 } DisallowedUpgrade { Upgrade soldier_conch_on_kill // Name of the upgrade, as specified in the outer block Level 1 // Minimum level after which the upgrade becomes disabled (Default: 1) } DisallowedUpgrade { Upgrade soldier_batts_on_kill // Name of the upgrade, as specified in the outer block Level 1 // Minimum level after which the upgrade becomes disabled (Default: 1) } } soldier_batts_on_kill { Name "Stable Mod: Battalion's Buff On Kill" Attribute "add cond on kill" Description "Gives a banner buff to yourself on kill for 10 seconds. +35% Damage Bonus" Cap 26 Increment 26 Cost 0 AllowPlayerClass Soldier AllowedWeapons { SimilarToItem "Upgradeable TF_WEAPON_SHOTGUN_PRIMARY" SimilarToItem "The Reserve Shooter" SimilarToItem "Panic Attack Shotgun" SimilarToItem "The Righteous Bison" } SecondaryAttributes { "add cond on kill duration" "10" "damage bonus" 0.35 } DisallowedUpgrade { Upgrade soldier_conch_on_kill // Name of the upgrade, as specified in the outer block Level 1 // Minimum level after which the upgrade becomes disabled (Default: 1) } DisallowedUpgrade { Upgrade soldier_buff_on_kill // Name of the upgrade, as specified in the outer block Level 1 // Minimum level after which the upgrade becomes disabled (Default: 1) } } reserve_passive_reload { Name "Passive Reload" Attribute "passive reload" Description "Weapon reloads while it isn't active" Cap 1 Increment 1 Cost 200 AllowedWeapons { ItemName "The Reserve Shooter" } } reserve_rocket_spec { Name "Flechette Specialist" Attribute "stun on hit" Description "25% increase in damage, no falloff or rampup, stuns like rocket specialist" Cap 0.5 Increment 0.5 Cost 500 AllowedWeapons { ItemName "The Reserve Shooter" } SecondaryAttributes { "dmg penalty vs players" 0.25 "stun on hit type" movement "stun on hit slow" 1 "no damage falloff" 1 } } mantreads_fall_damage_negate { Name "Heavy Soles" Attribute "dmg from ranged reduced" Description "Negate Fall Damage, do double stomp damage to enemies" Cap 20 Increment 20 Cost 250 SecondaryAttributes { "dmg penalty vs players" 1 "dmg taken increased" -0.99 "mult dmgtaken from melee" 100 "dmg taken from fire increased" 100 "dmg taken from bullets increased" 100 "dmg taken from blast increased" 100 "special item description" "Don't worry about the scary red text, it is due to unresolvable spaghetti. You will not take 10,000% more damage" } AllowedWeapons { ItemName "The Mantreads" } } market_gardener_medic_deleter { Name "All players connected via Mediguns are hit" Attribute "damage all connected" Cap 1 Increment 1 Cost 250 AllowedWeapons { ItemName "The Market Gardener" } } market_gardener_armor_pen { Name "Armor Piercing" Attribute "mult dmg vs giants" Description "+25% damage vs giants, +25% damage vs tanks" Cap 2 Increment 0.25 Cost 250 SecondaryAttributes { "mult dmg vs tanks" 0.25 } AllowedWeapons { ItemName "The Market Gardener" } } market_gardener_damage_bonus { Name "+25% Damage Bonus" Attribute "damage bonus" Description "" Cap 2 Increment 0.25 Cost 400 AllowedWeapons { ItemName "The Market Gardener" } } pistol_minicrit_on_kill { Name "+2 Seconds Minicrit on Kill" Description "Also gives +15% damage bonus per point" Cap 8 Increment 2 Attribute "minicritboost on kill" Cost 50 AllowedWeapons { SimilarToItem "TF_WEAPON_PISTOL" } SecondaryAttributes { "damage bonus" 0.15 } } panic_attack_bullets_per_shot { Name "+25% Bullets Per Shot" Attribute "bullets per shot bonus" Cap 2.5 Increment 0.25 Cost 200 AllowedWeapons { SimilarToItem "Panic Attack Shotgun" } DisallowedUpgrade { Upgrade panic_attack_accuracy // Name of the upgrade, as specified in the outer block Level 1 // Minimum level after which the upgrade becomes disabled (Default: 1) } } panic_attack_accuracy { Name "Accuracy Mastery" Attribute "weapon spread bonus" Description "Tightens your spread by 15% and increases your damage by 10% per point" Cap 0.4 Increment -0.15 Cost 200 AllowedWeapons { ItemName "Panic Attack Shotgun" } SecondaryAttributes //Secondary attributes applied when upgrade is applied, for each upgrade level { "damage bonus" 0.10 } DisallowedUpgrade { Upgrade panic_attack_bullets_per_shot // Name of the upgrade, as specified in the outer block Level 1 // Minimum level after which the upgrade becomes disabled (Default: 1) } } cowmangler_stun { Name "EMP Pulse" Attribute "disguise speed penalty" Description "Non-Giant robots dropped below 50% health by your weapon will be stunned for half of a second. Stun can be reapplied while active. Drains 10% Uber per hit" Cap 0.25 Increment 0.25 Cost 500 AllowedWeapons { ItemName "The Cow mangler 5000" } SecondaryAttributes { "fire input on hit" "popscript^$pomsonEMPhit^" "subtract victim medigun charge on hit" 10 } } pomson_stun { Name "Stable Mod: EMP Bolts" Attribute "disguise speed penalty" Description "Non-Giant robots dropped below 50% health by your weapon will be stunned for 2 seconds. Projectile now penetrates and does 50% more damage" Cap 1 Increment 1 Cost 0 AllowedWeapons { ItemName "The Pomson 6000" } SecondaryAttributes { "fire input on hit" "popscript^$pomsonEMPhit^" "energy weapon penetration" 1 "damage bonus" 0.5 } } pomson_stun_duration { Name "EMP Bolt Stun Duration" Attribute "disguise speed penalty" Description "Increases stun by an additional 2 seconds per tick" Cap 4 Increment 1 Cost 100 AllowedWeapons { ItemName "The Pomson 6000" } RequiredUpgrade { Upgrade pomson_stun Level 1 } } gunslinger_extra_disposables { Name "+1 Additional Disposable Sentries" Attribute "engy disposable sentries" Cap 2 Increment 1 Cost 500 Description "One extra disposable sentry, stacks with the upgrade bought from the default menu" AllowedWeapons { SimilarToItem "The Gunslinger" } } gunslinger_giga_engie { Name "The Natural Conclusion" Attribute "model scale" Cap 1.25 Increment 0.25 Cost 700 Description "Become a heavily armored robot, gain 15% more movespeed, 375 extra health, 50% extra melee damage, 40% knockback resistance, and a 300% better jawline!" SecondaryAttributes { "max health additive bonus" 350 "move speed bonus" 0.15 "voice pitch scale" -0.35 "head scale" -0.35 "damage bonus" 0.5 //You are big, so you punch harder "damage force reduction" -0.6 //you are big, so you are fatter and harder to move "airblast vulnerability multiplier" -0.6 "airblast vertical vulnerability multiplier" -0.2 "SET BONUS: special dsp" 38 "use robot voice" 1 } AllowedWeapons { SimilarToItem "The Gunslinger" } OnApply { Output "!activator,SetCustomModelWithClassAnimations,models/bots/engineer/bot_engineer.mdl,0" } OnDowngrade { Output "!activator,SetCustomModelWithClassAnimations,models/player/engineer.mdl,0" } } frontier_crit_boost { Name "+25% Crit Damage Bonus" Description "Increases the damage that all critical hits deal." Cap 2 Increment 0.25 Attribute "mult crit dmg" Cost 200 AllowedWeapons { SimilarToItem "The Frontier Justice" } } flare_crit_boost { Name "+25% Crit Damage Bonus" Description "Increases the damage that all critical hits deal." Cap 2 Increment 0.25 Attribute "mult crit dmg" Cost 200 AllowedWeapons { SimilarToItem "The Flare Gun" } } flare_mark { Name "Signal Flare" Description "Marks a single target for death on hit, like the Fan O'War. Also undisguises spies on hit" Cap 1 Increment 1 Attribute "mark for death" Cost 300 SecondaryAttributes { "reveal disguised victim on hit" 1 } AllowedWeapons { SimilarToItem "The Flare Gun" } } manmelter_not_suck { Name "Enhanced Extinguisher" Description "Gains a stored crit and extinguishes afterburn on hit with any burning player, including teammates. Crits used to extinguish teammates are refunded on top of the usual crit gain. Ignores damage resistances" Cap 1 Increment 1 Attribute "allow friendly fire" Cost 300 SecondaryAttributes { "mult dmg friendly fire" 0 "fire input on hit" "popscript^$manmelterExtinguish^" "fire input on attack" "popscript^$manmelterUnfuckCrit^" "weapon burn time increased" -1 "remove damage type" 8 "dmg pierces resists absorbs" 1 } AllowedWeapons { SimilarToItem "The Manmelter" } } machina_giga { Name "Maximum Penetration" Description "Penetrates targets regardless of charge, penetrates damage resistances, fully charged bonus is now 67%. Max ammo and base charge speed is halved" Cap 1 Increment 1 Attribute "dmg pierces resists absorbs" Cost 600 SecondaryAttributes { "sniper full charge damage bonus" 0.517 "projectile penetration heavy" 100 "sniper penetrate players when charged" -1 "hidden primary max ammo bonus" -0.5 "sniper charge per sec" -0.5 } AllowedWeapons { SimilarToItem "The Machina" } } tomislav_accuracy { Name "+15% More Accurate" Description "Reduces spread, good for fighting from further away" Cap 0.2 Increment -0.15 Attribute "weapon spread bonus" Cost 200 AllowedWeapons { SimilarToItem "Tomislav" } } degreaser_dash { Name "Airblast Dash" Description "Airblast pushes you forward" Cap 1 Increment 1 Attribute "airblast dashes" Cost 300 AllowedWeapons { SimilarToItem "The Degreaser" } } stock_invis_decloak { Name "15% Faster Decloak" Description "Airblast pushes you forward" Cap 0.2 Increment -0.15 Attribute "mult decloak rate" Cost 150 AllowedWeapons { SimilarToItem "TF_WEAPON_INVIS" } } stock_ignored_by_bots { Name "Sensor Jammer" Description "Forcefully stops bots from noticing you while cloaking and decloaking" Cap 1 Increment 1 Attribute "apply z velocity on damage" Cost 300 SecondaryAttributes { "effect add attributes" "ignored by bots|1" } AllowedWeapons { SimilarToItem "TF_WEAPON_INVIS" } } cloakndagger_cloak_armor { Name "Cloak Armor" Description "Makes you take 15% less damage while cloaked per tick, on top of existing base cloak armor" Cap 3 Increment 1 Attribute "apply z velocity on damage" Cost 200 SecondaryAttributes { "effect add attributes" "dmg taken increased |-0.15" } AllowedWeapons { SimilarToItem "The Cloak and Dagger" } } bigearner_cash_vaccum { Name "Earn Big" Description "Makes you collect money like a scout, 15 HP per credit pack" Cap 3 Increment 2 Attribute "mult credit collect range" Cost 500 SecondaryAttributes { "health from credits" 30 } AllowedWeapons { SimilarToItem "The Big Earner" } } letranger_speed_boost_on_hit { Name "Speed boost on hit" Description "Grants a speed boost when you shoot someone, lasts for 2 seconds by default" Cap 32 Increment 32 Attribute "self add cond on hit" Cost 500 SecondaryAttributes { "self add cond on hit duration" 2 } AllowedWeapons { SimilarToItem "L'Etranger" } } letranger_speed_boost_on_hit_duration { Name "Speed boost duration" Description "Increases speed boost duration by 2 seconds per tick" Cap 10 Increment 2 Attribute "self add cond on hit duration" Cost 150 AllowedWeapons { SimilarToItem "L'Etranger" } RequiredUpgrade { Upgrade "letranger_speed_boost_on_hit" // Name of the upgrade, as specified in the outer block Level 1 // Minimum level after which the upgrade becomes enabled (Default: 1) } } stock_rocket_launcher_burstfire { Name "Extreme Rocket Compression" Description "launch full clip as one giga rocket. Mind the self damage with higher clip sizes" Cap 1 Increment 1 Attribute "fire full clip at once" Cost 500 SecondaryAttributes { "ignores other projectiles" 1 } AllowedWeapons { SimilarToItem "TF_WEAPON_ROCKETLAUNCHER" SimilarToItem "The Original" } } rocket_jumper_cash_vaccum { Name "Collect Cash Like a Scout" Description "Makes you collect money like a scout, 15 HP per credit pack" Cap 3 Increment 2 Attribute "mult credit collect range" Cost 250 SecondaryAttributes { "health from credits" 30 } AllowedWeapons { SimilarToItem "Rocket Jumper" } } } Wave { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } InitWaveOutput { Target backspawns_active Action Trigger } Explanation { Line "{FFAAFF}You will be receiving red bot support for the duration of the mission" Line "{FFAAFF}This wave will dispatch {88FF88}giant battalion's backup soldiers to assist you" } // [$0] WaveSpawn { Name "wave01REDGATE" Where spawnbot_red_back TotalCount 2 MaxActive 2 SpawnCount 1 TotalCurrency 0 WaitBeforeStarting 5 WaitBetweenSpawns 1.1 Support Limited TFBot { Template T_TFBot_Giant_Soldier_Extended_Battalion ItemAttributes { ItemName "TF_WEAPON_ROCKETLAUNCHER" "rocket specialist" 1 "collect currency on kill" 1 "subtract victim medigun charge on hit" 10 "use robot voice" 1 } AddCond { Name TF_COND_REPROGRAMMED } Classicon red2_lite } } // [$0] WaveSpawn { Where spawnbot_red_back TotalCount 999 MaxActive 2 SpawnCount 1 TotalCurrency 0 WaitBeforeStarting 0 WaitBetweenSpawns 20 Support 1 WaitForAllDead "wave01REDGATE" TFBot { Template T_TFBot_Giant_Soldier_Extended_Battalion ItemAttributes { ItemName "TF_WEAPON_ROCKETLAUNCHER" "rocket specialist" 1 "collect currency on kill" 1 "subtract victim medigun charge on hit" 10 "use robot voice" 1 } AddCond { Name TF_COND_REPROGRAMMED } Classicon red2_lite } } // [$50] WaveSpawn { Name "wave01a1" Where spawnbot_1 TotalCount 6 MaxActive 4 SpawnCount 1 TotalCurrency 50 WaitBeforeStarting 0 WaitBetweenSpawns 14 TFBot { Template T_TFBot_Giant_Soldier_Spammer_Reload } } // [$50] WaveSpawn { Name "wave01a" Where spawnbot_1 TotalCount 32 MaxActive 5 SpawnCount 4 TotalCurrency 50 WaitBeforeStarting 0 WaitBetweenSpawns 2.3 TFBot { Class Scout Skill Expert Attributes AlwaysCrit WeaponRestrictions MeleeOnly ClassIcon scout_bat_nys } } // [$50] WaveSpawn { Name "wave01a" Where spawnbot_lower TotalCount 32 MaxActive 5 SpawnCount 4 TotalCurrency 50 WaitBeforeStarting 0 WaitBetweenSpawns 2.3 TFBot { Class Scout Skill Expert Attributes AlwaysCrit WeaponRestrictions MeleeOnly ClassIcon scout_bat_nys } } // [$50] WaveSpawn { Name "wave01b1" Where spawnbot_1 TotalCount 3 MaxActive 2 SpawnCount 1 TotalCurrency 50 WaitBeforeStarting 0 WaitBetweenSpawns 18 WaitForAllDead wave01a1 TFBot { Template T_TFBot_Giant_Heavyweapons } } // [$50] WaveSpawn { Name "wave01b" Where spawnbot_1 TotalCount 16 MaxActive 6 SpawnCount 4 TotalCurrency 50 WaitBeforeStarting 0 WaitBetweenSpawns 2.6 WaitForAllDead wave01a1 Squad { TFBot { Class Pyro Skill Expert ItemAttributes { Itemname "TF_WEAPON_FLAMETHROWER" "airblast disabled" 1 } } TFBot { Template T_TFBot_Medic } } } // [$50] WaveSpawn { Name "wave01b" Where flankers_1 TotalCount 16 MaxActive 6 SpawnCount 4 TotalCurrency 50 WaitBeforeStarting 6 WaitBetweenSpawns 2.6 WaitForAllDead wave01a1 Squad { TFBot { Class Pyro Skill Expert ItemAttributes { Itemname "TF_WEAPON_FLAMETHROWER" "airblast disabled" 1 } } TFBot { Template T_TFBot_Medic } } } WaveSpawn { Name "wave01signaller" Where spawnbot_1 //lower TotalCount 0 MaxActive 0 SpawnCount 0 TotalCurrency 0 WaitBeforeStarting 2 WaitBetweenSpawns 0 WaitForAllDead "wave01b1" } WaveSpawn { Name "wave01signaller" Where spawnbot_1 //lower TotalCount 0 MaxActive 0 SpawnCount 0 TotalCurrency 0 WaitBeforeStarting 2 WaitBetweenSpawns 0 WaitForAllSpawned "wave01b" } // [$100] WaveSpawn { Name "wave01c1" Where spawnbot_1 TotalCount 4 MaxActive 2 SpawnCount 1 TotalCurrency 100 WaitBeforeStarting 0 WaitBetweenSpawns 10 WaitForAllDead wave01signaller TFBot { Template T_TFBot_Giant_Soldier_Spammer_Reload Item "The Concheror" Attributes SpawnWithFullCharge Name "Giant Burst Concheror Soldier" ClassIcon "soldier_conch_burstfire_yoovy_giant" CharacterAttributes { "increase buff duration" 9.0 } } } // [$100] WaveSpawn { Name "wave01c1" Where flankers_1 TotalCount 6 MaxActive 3 SpawnCount 1 TotalCurrency 100 WaitBeforeStarting 2 WaitBetweenSpawns 10 WaitForAllDead wave01signaller TFBot { Template T_TFBot_Giant_Scout_Fast } } // [$50] WaveSpawn { Name "wave01c" Where spawnbot_1 TotalCount 12 MaxActive 5 SpawnCount 3 TotalCurrency 50 WaitBeforeStarting 4 WaitBetweenSpawns 2 WaitForAllDead wave01signaller TFBot { Template T_TFBot_Pyro_DragonsFury } } // [$50] WaveSpawn { Name "wave01c" Where flankers_1 TotalCount 12 MaxActive 5 SpawnCount 3 TotalCurrency 50 WaitBeforeStarting 0 WaitBetweenSpawns 2 WaitForAllDead wave01signaller TFBot { Template T_TFBot_Pyro_DragonsFury } } } Wave { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } InitWaveOutput { Target backspawns_active Action Trigger } Explanation { Line "{FFAAFF}This wave will dispatch {88FF88}giant and common pyros to assist you" } // [$0] WaveSpawn { Name "wave02REDGATEGIANT" Where spawnbot_red_back TotalCount 1 MaxActive 1 SpawnCount 1 TotalCurrency 0 WaitBeforeStarting 5 WaitBetweenSpawns 1.1 Support Limited TFBot { Template T_TFBot_Giant_Pyro ItemAttributes { ItemName "TF_WEAPON_FLAMETHROWER" "collect currency on kill" 1 "use robot voice" 1 } AddCond { Name TF_COND_REPROGRAMMED } Classicon red2_lite } } // [$0] WaveSpawn { Name "wave02REDGATE" Where spawnbot_red_back TotalCount 4 MaxActive 4 SpawnCount 2 TotalCurrency 0 WaitBeforeStarting 5 WaitBetweenSpawns 1.1 Support Limited TFBot { Class Pyro Skill Expert AddCond { Name TF_COND_REPROGRAMMED } ItemAttributes { ItemName "TF_WEAPON_FLAMETHROWER" "collect currency on kill" 1 "use robot voice" 1 } Classicon red2_lite } } // [$0] WaveSpawn { Where spawnbot_red_back TotalCount 999 MaxActive 1 SpawnCount 1 TotalCurrency 0 WaitBeforeStarting 5 WaitBetweenSpawns 20 Support 1 WaitForAllDead "wave02REDGATEGIANT" TFBot { Template T_TFBot_Giant_Pyro ItemAttributes { ItemName "TF_WEAPON_FLAMETHROWER" "collect currency on kill" 1 "use robot voice" 1 } AddCond { Name TF_COND_REPROGRAMMED } Classicon red2_lite } } // [$0] WaveSpawn { Where spawnbot_red_back TotalCount 999 MaxActive 5 SpawnCount 2 TotalCurrency 0 WaitBeforeStarting 0 WaitBetweenSpawns 4.5 Support 1 WaitForAllDead "wave02REDGATEGIANT" TFBot { Class Pyro Skill Expert ItemAttributes { ItemName "TF_WEAPON_FLAMETHROWER" "collect currency on kill" 1 "use robot voice" 1 } AddCond { Name TF_COND_REPROGRAMMED } Classicon red2_lite } } // [$50] WaveSpawn { Name "wave02a1" Where spawnbot_1 TotalCount 4 MaxActive 2 SpawnCount 1 TotalCurrency 50 WaitBeforeStarting 0 WaitBetweenSpawns 16 TFBot { Template T_TFBot_Giant_Demo_Burst } } // [$50] WaveSpawn { Name "wave02a" Where spawnbot_1 TotalCount 32 MaxActive 7 SpawnCount 3 TotalCurrency 50 WaitBeforeStarting 0 WaitBetweenSpawns 2.2 TFBot { Template T_TFBot_Scout_Cola } } // [$50] WaveSpawn { Name "wave02a" Where spawnbot_lower TotalCount 8 MaxActive 3 SpawnCount 2 TotalCurrency 50 WaitBeforeStarting 0 WaitBetweenSpawns 4.4 TFBot { Template T_TFBot_Soldier_Direct_Hit } } // [$50] WaveSpawn { Name "wave02a" Where flankers_1 TotalCount 8 MaxActive 3 SpawnCount 2 TotalCurrency 50 WaitBeforeStarting 0 WaitBetweenSpawns 4.4 TFBot { Template T_TFBot_Soldier_Direct_Hit } } WaveSpawn { Name "wave02signaller" Where spawnbot_1 //lower TotalCount 0 MaxActive 0 SpawnCount 0 TotalCurrency 0 WaitBeforeStarting 2 WaitBetweenSpawns 0 WaitForAllDead "wave02a1" } WaveSpawn { Name "wave02signaller" Where spawnbot_1 //lower TotalCount 0 MaxActive 0 SpawnCount 0 TotalCurrency 0 WaitBeforeStarting 2 WaitBetweenSpawns 0 WaitForAllSpawned "wave02a" } // [$50] WaveSpawn { Name "wave02b1" Where spawnbot_lower TotalCount 4 MaxActive 3 SpawnCount 1 TotalCurrency 50 WaitBeforeStarting 0 WaitBetweenSpawns 14 WaitForAllDead "wave02signaller" TFBot { Template T_TFBot_Giant_Soldier_RocketShotgun_RocketPush } } // [$50] WaveSpawn { Name "wave02b1" Where spawnbot_1 TotalCount 6 MaxActive 2 SpawnCount 1 TotalCurrency 50 WaitBeforeStarting 0 WaitBetweenSpawns 16 WaitForAllDead "wave02signaller" TFBot { Template T_TFBot_Giant_Scout_Baseball_Armored } } // [$50] WaveSpawn { Name "wave02b" Where spawnbot_1 TotalCount 24 MaxActive 8 SpawnCount 4 TotalCurrency 50 WaitBeforeStarting 0 WaitBetweenSpawns 6 WaitForAllDead "wave02signaller" Squad { TFBot { Class Heavy Skill Normal } TFBot { Template T_TFBot_Medic_BigHeal } } } // [$50] WaveSpawn { Name "wave02c" Where flankers_1 TotalCount 6 MaxActive 2 SpawnCount 1 TotalCurrency 50 WaitBeforeStarting 0 WaitBetweenSpawns 6 WaitForAllDead "wave02b1" TFBot { Template T_TFBot_Engineer_Minigiant_Frontier } } // [$50] WaveSpawn { Name "wave02c" Where flankers_1 TotalCount 17 MaxActive 4 SpawnCount 2 TotalCurrency 50 WaitBeforeStarting 0 WaitBetweenSpawns 2 WaitForAllDead "wave02b1" TFBot { Template T_TFBot_Heavyweapons_Heavyweight_Champ Skill Expert } } // [$50] WaveSpawn { Name "wave02c" Where spawnbot_1 TotalCount 6 MaxActive 2 SpawnCount 1 TotalCurrency 50 WaitBeforeStarting 0 WaitBetweenSpawns 6 WaitForAllDead "wave02b1" TFBot { Template T_TFBot_Engineer_Minigiant_Frontier } } // [$50] WaveSpawn { Name "wave02c" Where spawnbot_1 TotalCount 17 MaxActive 4 SpawnCount 2 TotalCurrency 50 WaitBeforeStarting 0 WaitBetweenSpawns 2 WaitForAllDead "wave02b1" TFBot { Template T_TFBot_Heavyweapons_Heavyweight_Champ Skill Expert } } // [$50] WaveSpawn { Name "wave02c" Where spawnbot_1 TotalCount 6 MaxActive 4 SpawnCount 2 TotalCurrency 50 WaitBeforeStarting 0 WaitBetweenSpawns 20 WaitForAllDead "wave02b1" Squad { TFBot { Template T_TFBot_Giant_Pyro Attributes AlwaysFireWeapon } TFBot { Template T_TFBot_Giant_Medic_Regen } } } } Wave { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } InitWaveOutput { Target backspawns_active Action Trigger } Explanation { Line "{FFAAFF}The reds this wave are: {88FF88}giant rapid fire buff soldiers and common direct hits" Line "{FFAAFF}The blimps this wave will {FFAAAA}self destruct and deploy extra enemies" Line "{AAFFAA}Killing the blimp over the trainyard makes all the robots inside die instantly" } WaveSpawn { Name "wave03REDGATEGIANT" Where spawnbot_red_back TotalCount 1 MaxActive 1 SpawnCount 1 TotalCurrency 0 WaitBeforeStarting 2.5 WaitBetweenSpawns 1.1 Support Limited TFBot { Template T_TFBot_Giant_Soldier_Spammer_Buff_Banner ItemAttributes { ItemName "TF_WEAPON_ROCKETLAUNCHER" "collect currency on kill" 1 "use robot voice" 1 } AddCond { Name TF_COND_REPROGRAMMED } Classicon red2_lite } } // [$0] WaveSpawn { Name "wave03REDGATE" Where spawnbot_red_back TotalCount 4 MaxActive 4 SpawnCount 4 TotalCurrency 0 WaitBeforeStarting 5 WaitBetweenSpawns 1.1 Support Limited TFBot { Template T_TFBot_Soldier_Direct_Hit AddCond { Name TF_COND_REPROGRAMMED } ItemAttributes { ItemName "The Direct Hit" "collect currency on kill" 1 "use robot voice" 1 "rocket specialist" 1 } Classicon red2_lite } } WaveSpawn { Where spawnbot_red_back TotalCount 1 MaxActive 1 SpawnCount 1 TotalCurrency 0 WaitBeforeStarting 0 WaitBetweenSpawns 25 Support 1 WaitForAllDead "wave03REDGATEGIANT" TFBot { Template T_TFBot_Giant_Soldier_Spammer_Buff_Banner ItemAttributes { ItemName "TF_WEAPON_ROCKETLAUNCHER" "collect currency on kill" 1 "use robot voice" 1 } AddCond { Name TF_COND_REPROGRAMMED } Classicon red2_lite } } // [$0] WaveSpawn { Where spawnbot_red_back TotalCount 999 MaxActive 4 SpawnCount 2 TotalCurrency 0 WaitBeforeStarting 0 WaitBetweenSpawns 8 WaitForAllDead "wave03REDGATE" Support 1 TFBot { Template T_TFBot_Soldier_Direct_Hit AddCond { Name TF_COND_REPROGRAMMED } ItemAttributes { ItemName "The Direct Hit" "collect currency on kill" 1 "use robot voice" 1 "rocket specialist" 1 } Classicon red2_lite } } WaveSpawn { Name botdrop_blimp_1 TotalCurrency 0 TotalCount 1 MaxActive 1 SpawnCount 1 Where spawnbot_1 WaitBeforeStarting 7 WaitBetweenSpawns 10 Tank { Health 1000 Speed 300 Skin 4 DisableSmokestack 1 NoCrushDamage 1 MaxTurnRate 40 Model "models/bots/boss_bot/boss_blimp.mdl" Gravity 0 DisableTracks 1 ReplaceModelCollisions 1 DisableChildModels 1 EngineLoopSound "npc\combine_gunship\dropship_engine_distant_loop1.wav" PingSound "npc\combine_gunship\ping_search.wav" Name "blimp" StartingPathTrackNode "botdrop_blimp_path_A_1" SpawnTemplate botDrop_TP Classicon blimp2_tele OnKilledOutput { Target boss_dead_relay Action Trigger } OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } // [$50] WaveSpawn { Name "wave03a" Where spawnbot_1 TotalCount 14 MaxActive 4 SpawnCount 3 TotalCurrency 50 WaitBeforeStarting 0 WaitBetweenSpawns 2.5 TFBot { Class Pyro Skill Expert ItemAttributes { Itemname "TF_WEAPON_FLAMETHROWER" "airblast disabled" 1 } } } // [$50] WaveSpawn { Name "wave03a" Where flankers_1 TotalCount 14 MaxActive 4 SpawnCount 3 TotalCurrency 50 WaitBeforeStarting 0 WaitBetweenSpawns 2.5 TFBot { Class Pyro Skill Expert ItemAttributes { Itemname "TF_WEAPON_FLAMETHROWER" "airblast disabled" 1 } } } // [$50] WaveSpawn { Name "wave03a1" Where spawnbot_1 TotalCount 5 MaxActive 3 SpawnCount 1 TotalCurrency 50 WaitBeforeStarting 0 WaitBetweenSpawns 18 TFBot { Template T_TFBot_Giant_Soldier_SlowBarrage } } // [$50] WaveSpawn { Name "wave03BOTDROP" Where spawnbot_1 TotalCount 4 MaxActive 4 SpawnCount 4 TotalCurrency 50 WaitBeforeStarting 0 WaitBetweenSpawns 0 WaitForAllDead "botdrop_blimp_1" TFBot { Template T_TFBot_Soldier_Minigiant_Burst_Airstrike CharacterAttributes { "addcond immunity" 51 } FireInput { Target !self //targets the bot this is on Action $TeleportToEntity Cooldown 0 Repeats 1 Delay 0 Param "botDrop_TP_Target" //name of an info_target on top of the blimp } } } WaveSpawn { Name "wave03signaller" Where spawnbot_1 //lower TotalCount 0 MaxActive 0 SpawnCount 0 TotalCurrency 0 WaitBeforeStarting 2 WaitBetweenSpawns 0 WaitForAllDead "wave03a1" } WaveSpawn { Name "wave03signaller" Where spawnbot_1 //lower TotalCount 0 MaxActive 0 SpawnCount 0 TotalCurrency 0 WaitBeforeStarting 2 WaitBetweenSpawns 0 WaitForAllSpawned "wave03a" } // [$50] WaveSpawn { Name "wave03b1" Where spawnbot_1 TotalCount 6 MaxActive 4 SpawnCount 2 TotalCurrency 50 WaitBeforeStarting 0 WaitBetweenSpawns 16 WaitForAllDead "wave03signaller" TFBot { Template T_TFBot_Giant_Demoman } } // [$50] WaveSpawn { Name "wave03b" Where spawnbot_lower TotalCount 12 MaxActive 4 SpawnCount 2 TotalCurrency 50 WaitBeforeStarting 0 WaitBetweenSpawns 4 WaitForAllDead "wave03signaller" Squad { TFBot { Class Soldier Skill Hard } TFBot { Template T_TFBot_Medic_Kritz } } } // [$50] WaveSpawn { Name "wave03b" Where spawnbot_1 TotalCount 12 MaxActive 4 SpawnCount 2 TotalCurrency 50 WaitBeforeStarting 0 WaitBetweenSpawns 4 WaitForAllDead "wave03signaller" Squad { TFBot { Class Soldier Skill Hard } TFBot { Template T_TFBot_Medic_Kritz } } } // [$50] WaveSpawn { Name "wave03b" Where spawnbot_1 TotalCount 48 MaxActive 10 SpawnCount 4 TotalCurrency 50 WaitBeforeStarting 3 WaitBetweenSpawns 2 WaitForAllDead "wave03signaller" TFBot { Class Scout Skill Normal } } // [$150] WaveSpawn { Name "wave03c" Where spawnbot_1 Where spawnbot_lower Where flankers_1 TotalCount 48 MaxActive 10 SpawnCount 4 TotalCurrency 100 WaitBeforeStarting 6 WaitBetweenSpawns 2 WaitForAllSpawned "wave03b" TFBot { Class Demoman Skill Expert } } // [$150] WaveSpawn { Name "wave03c1" Where spawnbot_1 TotalCount 4 MaxActive 4 SpawnCount 2 TotalCurrency 25 WaitBeforeStarting 0 WaitBetweenSpawns 14 WaitForAllDead "wave03b1" Squad { TFBot { Template T_TFBot_Giant_Pyro_Fury } TFBot { Template T_TFBot_Medic_Shield } } } // [$150] WaveSpawn { Name "wave03c2" Where spawnbot_1 TotalCount 4 MaxActive 4 SpawnCount 2 TotalCurrency 25 WaitBeforeStarting 0 WaitBetweenSpawns 14 WaitForAllDead "wave03c1" Squad { TFBot { Template T_TFBot_Giant_Pyro_Fury } TFBot { Template T_TFBot_Medic_Shield } } } WaveSpawn { Name botdrop_blimp_2 TotalCurrency 0 TotalCount 1 MaxActive 1 SpawnCount 1 Where spawnbot_1 WaitBeforeStarting 5 WaitBetweenSpawns 10 WaitForAllDead "wave03b1" Tank { Health 1000 Speed 300 Skin 4 DisableSmokestack 1 NoCrushDamage 1 MaxTurnRate 40 Model "models/bots/boss_bot/boss_blimp.mdl" Gravity 0 DisableTracks 1 ReplaceModelCollisions 1 DisableChildModels 1 EngineLoopSound "npc\combine_gunship\dropship_engine_distant_loop1.wav" PingSound "npc\combine_gunship\ping_search.wav" Name "blimp" StartingPathTrackNode "botdrop_blimp_path_A_1" SpawnTemplate botDrop_TP Classicon blimp2_tele OnKilledOutput { Target boss_dead_relay Action Trigger } OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } // [$50] WaveSpawn { Name "wave03BOTDROP2" Where spawnbot_1 TotalCount 2 MaxActive 2 SpawnCount 2 TotalCurrency 50 WaitBeforeStarting 0 WaitBetweenSpawns 0 WaitForAllDead "botdrop_blimp_2" TFBot { Template T_TFBot_Giant_Soldier_Airstrike CharacterAttributes { "addcond immunity" 51 } FireInput { Target !self //targets the bot this is on Action $TeleportToEntity Cooldown 0 Repeats 1 Delay 0 Param "botDrop_TP_Target" //name of an info_target on top of the blimp } } } } Wave { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } InitWaveOutput { Target housespawns_gry_active Action Trigger } Explanation { Line "{FFAAFF}There has been {FF77CC}teleporter interference, {FF0000}that can mean only one thing..." Line "{FFFFFF}The Greys are here.{FFAAFF} They will be patrolling the courtyard through white rings" Line "{FFAAFF}Their forces consist of: {FFFFFF}Giant Rapid Fire Crit Demomen, Uber Medics, and Soldiers" } WaveSpawn { Where spawnbot_red_house TotalCount 30 MaxActive 5 SpawnCount 5 TotalCurrency 0 FirstSpawnMessage "{grey}The greys are here!" Support 1 WaitBeforeStarting 10 WaitBetweenSpawns 35 Squad { TFBot { Template T_TFBot_Giant_Demoman ClassIcon gry_lite UseMeleeThreatPrioritization 1 ItemAttributes { ItemName "TF_WEAPON_GRENADELAUNCHER" "custom projectile model" "models/weapons/w_models/w_grenade_grenadelauncher_gray.mdl" "collect currency on kill" 1 "add cond when active" 36 "crit vs burning players" 1 "crit vs non burning players" 1 "projectile trail particle" "eyeboss_projectile" } CharacterAttributes { "crit mod disabled" 0 "not solid to players" 1 "subtract victim medigun charge on hit" 10 "voice pitch scale" 0 "damage force reduction" 0 "airblast vulnerability multiplier" 0 "cancel falling damage" 1 } ClassIcon gry_lite DesiredAttackRange "700" Addcond { Name TF_COND_REPROGRAMMED_NEUTRAL Delay 0.8 } SpawnTemplate "GreyGlows1" AddCond { Name "TF_COND_MVM_BOT_STUN_RADIOWAVE" Delay 0.1 Duration 9 } AddCond { Index 5 Delay 0.1 Duration 10 } FireInput { Target !self Action $PlaySound Param "=85|mvm\mvm_tele_deliver.wav" Delay 0 Repeats 1 } Action Mobber Attributes DisableDodge UseCustomModel "models/bots/demo_boss/bot_demo_gray_boss.mdl" InterruptAction { Target "-2113.56 -1663.61 161.39" Delay 5 Repeats 0 Cooldown 2 Duration 2 Distance 25 WaitUntilDone 1 AddToQueue 1 } InterruptAction { Target "-2175.43 -2908.81 163.71" Delay 5 Repeats 0 Cooldown 2 Duration 2 Distance 25 WaitUntilDone 1 AddToQueue 1 } InterruptAction { Target "-3754.26 -2857.13 231.18" Delay 5 Repeats 0 Cooldown 2 Duration 2 Distance 25 WaitUntilDone 1 AddToQueue 1 } InterruptAction { Target "-3925.39 -894.91 5.10" Delay 5 Repeats 0 Cooldown 2 Duration 2 Distance 25 WaitUntilDone 1 AddToQueue 1 } InterruptAction { Target "-2601.92 -775.83 164.64" Delay 5 Repeats 0 Cooldown 2 Duration 2 Distance 25 WaitUntilDone 1 AddToQueue 1 } InterruptAction { Target "-1337.34 -1110.82 2.54" Delay 5 Repeats 0 Cooldown 2 Duration 2 Distance 25 WaitUntilDone 1 AddToQueue 1 } } TFBot { Class Soldier Skill Normal UseMeleeThreatPrioritization 1 ClassIcon gry_lite Addcond { Name TF_COND_REPROGRAMMED_NEUTRAL } AddCond { Name "TF_COND_MVM_BOT_STUN_RADIOWAVE" Delay 0.1 Duration 1 } AddCond { Index 5 Delay 0.1 Duration 2 } CustomEyeGlowColor "255 255 255" Action Passive Attributes DisableDodge UseCustomModel "models/bots/soldier/bot_soldier_gray.mdl" ItemAttributes { ItemName "TF_WEAPON_ROCKETLAUNCHER" "collect currency on kill" 1 } CharacterAttributes { "crit mod disabled" 0 "not solid to players" 1 "subtract victim medigun charge on hit" 10 "use robot voice" 1 } } TFBot { Class Soldier Skill Normal UseMeleeThreatPrioritization 1 ClassIcon gry_lite Addcond { Name TF_COND_REPROGRAMMED_NEUTRAL } AddCond { Name "TF_COND_MVM_BOT_STUN_RADIOWAVE" Delay 0.1 Duration 1 } AddCond { Index 5 Delay 0.1 Duration 2 } CustomEyeGlowColor "255 255 255" Action Passive Attributes DisableDodge UseCustomModel "models/bots/soldier/bot_soldier_gray.mdl" ItemAttributes { ItemName "TF_WEAPON_ROCKETLAUNCHER" "collect currency on kill" 1 } CharacterAttributes { "crit mod disabled" 0 "not solid to players" 1 "subtract victim medigun charge on hit" 10 "use robot voice" 1 } } TFBot { Class Soldier Skill Normal UseMeleeThreatPrioritization 1 ClassIcon gry_lite Addcond { Name TF_COND_REPROGRAMMED_NEUTRAL } AddCond { Name "TF_COND_MVM_BOT_STUN_RADIOWAVE" Delay 0.1 Duration 1 } AddCond { Index 5 Delay 0.1 Duration 2 } CustomEyeGlowColor "255 255 255" Action Passive Attributes DisableDodge UseCustomModel "models/bots/soldier/bot_soldier_gray.mdl" ItemAttributes { ItemName "TF_WEAPON_ROCKETLAUNCHER" "collect currency on kill" 1 } CharacterAttributes { "crit mod disabled" 0 "not solid to players" 1 "subtract victim medigun charge on hit" 10 "use robot voice" 1 } } TFBot { Class Soldier Skill Normal UseMeleeThreatPrioritization 1 ClassIcon gry_lite Addcond { Name TF_COND_REPROGRAMMED_NEUTRAL } AddCond { Name "TF_COND_MVM_BOT_STUN_RADIOWAVE" Delay 0.1 Duration 1 } AddCond { Index 5 Delay 0.1 Duration 2 } CustomEyeGlowColor "255 255 255" Action Passive Attributes DisableDodge UseCustomModel "models/bots/soldier/bot_soldier_gray.mdl" ItemAttributes { ItemName "TF_WEAPON_ROCKETLAUNCHER" "collect currency on kill" 1 } CharacterAttributes { "crit mod disabled" 0 "not solid to players" 1 "subtract victim medigun charge on hit" 10 "use robot voice" 1 } } TFBot { Class Medic Skill Normal UseMeleeThreatPrioritization 1 ClassIcon gry_lite Addcond { Name TF_COND_REPROGRAMMED_NEUTRAL } AddCond { Name "TF_COND_MVM_BOT_STUN_RADIOWAVE" Delay 0.1 Duration 1 } AddCond { Index 5 Delay 0.1 Duration 2 } CustomEyeGlowColor "255 255 255" Attributes DisableDodge UseCustomModel "models/bots/medic/bot_medic_gray.mdl" CharacterAttributes { "crit mod disabled" 0 "not solid to players" 1 "use robot voice" 1 "heal rate bonus" 5 } Name "Uber Medic" Attributes SpawnWithFullCharge ItemAttributes { ItemName "TF_WEAPON_MEDIGUN" "ubercharge rate bonus" 5 } ItemAttributes { ItemName "TF_WEAPON_SYRINGEGUN_MEDIC" "damage penalty" 0.1 "collect currency on kill" 1 } FireWeapon //Periodically fires weapon { Delay 0.01 //Time before the first fire input starts (Default: 10) Cooldown 0.01 //Time between each fire input (Default: 10) Repeats 0 //How many times should bot use the fire input in total (Default: 0 - Infinite) IfSeeTarget 0 //When set to 1, this task activates only when the bot can see the target player (Default 0 - Always activate) Duration 0.5 //How long should the button be pressed (Default: 0.1) Type "Secondary" // Type of fire input, Possible values: //Primary //Secondary //Special - MOUSE3 //Reload //Jump //Crouch - requires NoCrouchButtonRelease 1 in TFBot //Action IfHealthBelow 76 //When set, the task activates only when the bot health is below specified value //IfHealthAbove 0 //When set, the task activates only when the bot health is above specified value } } } } WaveSpawn { Where spawnbot_1 MaxActive 1 SpawnCount 1 TotalCurrency 0 WaitBeforeStarting 12 WaitBetweenSpawns 0 FirstSpawnMessage "{red}BEHIND YOU!" FirstSpawnWarningSound "#they're_behind_you.mp3" } WaveSpawn { Where spawnbot_red_house TotalCount 30 MaxActive 5 SpawnCount 5 TotalCurrency 0 Support 1 FirstSpawnMessage "{grey}The greys are here!" WaitBeforeStarting 45 WaitBetweenSpawns 35 Squad { TFBot { Template T_TFBot_Giant_Demoman ClassIcon gry_lite UseMeleeThreatPrioritization 1 ItemAttributes { ItemName "TF_WEAPON_GRENADELAUNCHER" "custom projectile model" "models/weapons/w_models/w_grenade_grenadelauncher_gray.mdl" "collect currency on kill" 1 "add cond when active" 36 "crit vs burning players" 1 "crit vs non burning players" 1 "projectile trail particle" "eyeboss_projectile" } CharacterAttributes { "crit mod disabled" 0 "not solid to players" 1 "subtract victim medigun charge on hit" 10 "voice pitch scale" 0 "damage force reduction" 0 "airblast vulnerability multiplier" 0 "cancel falling damage" 1 } ClassIcon gry_lite DesiredAttackRange "700" Addcond { Name TF_COND_REPROGRAMMED_NEUTRAL Delay 0.8 } SpawnTemplate "GreyGlows2" AddCond { Name "TF_COND_MVM_BOT_STUN_RADIOWAVE" Delay 0.1 Duration 9 } AddCond { Index 5 Delay 0.1 Duration 10 } FireInput { Target !self Action $PlaySound Param "=85|mvm\mvm_tele_deliver.wav" Delay 0 Repeats 1 } Action Mobber Attributes DisableDodge UseCustomModel "models/bots/demo_boss/bot_demo_gray_boss.mdl" InterruptAction { Target "-2113.56 -1663.61 161.39" Delay 5 Repeats 0 Cooldown 2 Duration 2 Distance 25 WaitUntilDone 1 AddToQueue 1 } InterruptAction { Target "-2175.43 -2908.81 163.71" Delay 5 Repeats 0 Cooldown 2 Duration 2 Distance 25 WaitUntilDone 1 AddToQueue 1 } InterruptAction { Target "-3754.26 -2857.13 231.18" Delay 5 Repeats 0 Cooldown 2 Duration 2 Distance 25 WaitUntilDone 1 AddToQueue 1 } InterruptAction { Target "-3925.39 -894.91 5.10" Delay 5 Repeats 0 Cooldown 2 Duration 2 Distance 25 WaitUntilDone 1 AddToQueue 1 } InterruptAction { Target "-2601.92 -775.83 164.64" Delay 5 Repeats 0 Cooldown 2 Duration 2 Distance 25 WaitUntilDone 1 AddToQueue 1 } InterruptAction { Target "-1337.34 -1110.82 2.54" Delay 5 Repeats 0 Cooldown 2 Duration 2 Distance 25 WaitUntilDone 1 AddToQueue 1 } } TFBot { Class Soldier Skill Normal UseMeleeThreatPrioritization 1 ClassIcon gry_lite Addcond { Name TF_COND_REPROGRAMMED_NEUTRAL } AddCond { Name "TF_COND_MVM_BOT_STUN_RADIOWAVE" Delay 0.1 Duration 1 } AddCond { Index 5 Delay 0.1 Duration 2 } CustomEyeGlowColor "255 255 255" Action Passive Attributes DisableDodge UseCustomModel "models/bots/soldier/bot_soldier_gray.mdl" ItemAttributes { ItemName "TF_WEAPON_ROCKETLAUNCHER" "collect currency on kill" 1 } CharacterAttributes { "crit mod disabled" 0 "not solid to players" 1 "subtract victim medigun charge on hit" 10 "use robot voice" 1 } } TFBot { Class Soldier Skill Normal UseMeleeThreatPrioritization 1 ClassIcon gry_lite Addcond { Name TF_COND_REPROGRAMMED_NEUTRAL } AddCond { Name "TF_COND_MVM_BOT_STUN_RADIOWAVE" Delay 0.1 Duration 1 } AddCond { Index 5 Delay 0.1 Duration 2 } CustomEyeGlowColor "255 255 255" Action Passive Attributes DisableDodge UseCustomModel "models/bots/soldier/bot_soldier_gray.mdl" ItemAttributes { ItemName "TF_WEAPON_ROCKETLAUNCHER" "collect currency on kill" 1 } CharacterAttributes { "crit mod disabled" 0 "not solid to players" 1 "subtract victim medigun charge on hit" 10 "use robot voice" 1 } } TFBot { Class Soldier Skill Normal UseMeleeThreatPrioritization 1 ClassIcon gry_lite Addcond { Name TF_COND_REPROGRAMMED_NEUTRAL } AddCond { Name "TF_COND_MVM_BOT_STUN_RADIOWAVE" Delay 0.1 Duration 1 } AddCond { Index 5 Delay 0.1 Duration 2 } CustomEyeGlowColor "255 255 255" Action Passive Attributes DisableDodge UseCustomModel "models/bots/soldier/bot_soldier_gray.mdl" ItemAttributes { ItemName "TF_WEAPON_ROCKETLAUNCHER" "collect currency on kill" 1 } CharacterAttributes { "crit mod disabled" 0 "not solid to players" 1 "subtract victim medigun charge on hit" 10 "use robot voice" 1 } } TFBot { Class Soldier Skill Normal UseMeleeThreatPrioritization 1 ClassIcon gry_lite Addcond { Name TF_COND_REPROGRAMMED_NEUTRAL } AddCond { Name "TF_COND_MVM_BOT_STUN_RADIOWAVE" Delay 0.1 Duration 1 } AddCond { Index 5 Delay 0.1 Duration 2 } CustomEyeGlowColor "255 255 255" Action Passive Attributes DisableDodge UseCustomModel "models/bots/soldier/bot_soldier_gray.mdl" ItemAttributes { ItemName "TF_WEAPON_ROCKETLAUNCHER" "collect currency on kill" 1 } CharacterAttributes { "crit mod disabled" 0 "not solid to players" 1 "subtract victim medigun charge on hit" 10 "use robot voice" 1 } } TFBot { Class Medic Skill Normal ClassIcon gry_lite Addcond { Name TF_COND_REPROGRAMMED_NEUTRAL } AddCond { Name "TF_COND_MVM_BOT_STUN_RADIOWAVE" Delay 0.1 Duration 1 } AddCond { Index 5 Delay 0.1 Duration 2 } CustomEyeGlowColor "255 255 255" Attributes DisableDodge UseCustomModel "models/bots/medic/bot_medic_gray.mdl" CharacterAttributes { "crit mod disabled" 0 "not solid to players" 1 "use robot voice" 1 "heal rate bonus" 5 } Name "Uber Medic" Attributes SpawnWithFullCharge ItemAttributes { ItemName "TF_WEAPON_MEDIGUN" "ubercharge rate bonus" 5 } ItemAttributes { ItemName "TF_WEAPON_SYRINGEGUN_MEDIC" "damage penalty" 0.1 "collect currency on kill" 1 } FireWeapon //Periodically fires weapon { Delay 0.01 //Time before the first fire input starts (Default: 10) Cooldown 0.01 //Time between each fire input (Default: 10) Repeats 0 //How many times should bot use the fire input in total (Default: 0 - Infinite) IfSeeTarget 0 //When set to 1, this task activates only when the bot can see the target player (Default 0 - Always activate) Duration 0.5 //How long should the button be pressed (Default: 0.1) Type "Secondary" // Type of fire input, Possible values: //Primary //Secondary //Special - MOUSE3 //Reload //Jump //Crouch - requires NoCrouchButtonRelease 1 in TFBot //Action IfHealthBelow 76 //When set, the task activates only when the bot health is below specified value //IfHealthAbove 0 //When set, the task activates only when the bot health is above specified value } } } } // [$25] WaveSpawn { Name "wave04a" Where spawnbot_1 TotalCount 10 MaxActive 4 SpawnCount 2 TotalCurrency 25 WaitBeforeStarting 0 WaitBetweenSpawns 2.4 Squad { TFBot { Template T_TFBot_Pyro_DragonsFury_Fuel_Injected Name "Total Heavy Death" } TFBot { Template T_TFBot_Medic } } } // [$25] WaveSpawn { Name "wave04a" Where flankers_1 TotalCount 10 MaxActive 4 SpawnCount 2 TotalCurrency 25 WaitBeforeStarting 0 WaitBetweenSpawns 2.4 Squad { TFBot { Template T_TFBot_Pyro_DragonsFury_Fuel_Injected Name "Total Heavy Death" } TFBot { Template T_TFBot_Medic } } } // [$25] WaveSpawn { Name "wave04a1" Where spawnbot_1 TotalCount 3 MaxActive 2 SpawnCount 1 TotalCurrency 25 WaitBeforeStarting 0 WaitBetweenSpawns 12 TFBot { Template T_TFBot_Giant_Sniper_Huntsman_Spammer UseCustomModel "models/bots/sniper_boss/bot_sniper_boss.mdl" } } // [$25] WaveSpawn { Name "wave04a1" Where flankers_1 TotalCount 3 MaxActive 2 SpawnCount 1 TotalCurrency 25 WaitBeforeStarting 0 WaitBetweenSpawns 12 TFBot { Template T_TFBot_Giant_Sniper_Huntsman_Spammer } } // [$25] WaveSpawn { Name "wave04a" Where flankers_1 TotalCount 5 MaxActive 2 SpawnCount 1 TotalCurrency 25 WaitBeforeStarting 0 WaitBetweenSpawns 8 TFBot { Template T_TFBot_Scout_Fast_Minigiant } } // [$25] WaveSpawn { Name "wave04a" Where spawnbot_lower TotalCount 5 MaxActive 3 SpawnCount 1 TotalCurrency 25 WaitBeforeStarting 0 WaitBetweenSpawns 8 TFBot { Template T_TFBot_Scout_Fast_Minigiant } } // [$50] WaveSpawn { Name "wave04b1" Where spawnbot_1 TotalCount 5 MaxActive 2 SpawnCount 1 TotalCurrency 50 WaitBeforeStarting 0 WaitBetweenSpawns 8 WaitForAllDead "wave04a1" TFBot { Template T_TFBot_Pyro_DragonsFury_Fuel_Injected_Giant } } // [$50] WaveSpawn { Name "wave04b" Where spawnbot_1 TotalCount 14 MaxActive 5 SpawnCount 3 TotalCurrency 50 WaitBeforeStarting 0 WaitBetweenSpawns 4 WaitForAllDead "wave04a1" TFBot { Template T_TFBot_Soldier_Extended_Concheror } } // [$50] WaveSpawn { Name "wave04b" Where spawnbot_1 TotalCount 28 MaxActive 9 SpawnCount 4 TotalCurrency 50 WaitBeforeStarting 0 WaitBetweenSpawns 2 WaitForAllDead "wave04a1" TFBot { Template T_TFBot_Demo_Persian } } // [$50] WaveSpawn { Name "wave04c" Where spawnbot_1 TotalCount 24 MaxActive 4 SpawnCount 1 TotalCurrency 50 WaitBeforeStarting 0 WaitBetweenSpawns 3 WaitForAllDead "wave04b1" TFBot { Template T_TFBot_Pyro_EOI_MiniGiant } } // [$50] WaveSpawn { Name "wave04c" Where spawnbot_1 TotalCount 60 MaxActive 9 SpawnCount 4 TotalCurrency 50 WaitBeforeStarting 0 WaitBetweenSpawns 2.3 WaitForAllDead "wave04b1" TFBot { Template T_TFBot_FlareGun_FastShot } } // [$50] WaveSpawn { Name "wave04c1" Where spawnbot_1 TotalCount 8 MaxActive 4 SpawnCount 1 TotalCurrency 50 WaitBeforeStarting 0 WaitBetweenSpawns 12 WaitForAllDead "wave04b1" RandomChoice { TFBot { Template T_TFBot_Giant_Demo_Burst_Ignite Name "Spy's Favorite" } TFBot { Template T_TFBot_Giant_Demo_Burst_Ignite } TFBot { Template T_TFBot_Giant_Demo_Burst_Ignite } } } } }