#base robot_giant.pop #base robot_standard.pop // #base rotating_shield.pop // Made by Xpload! // https://steamcommunity.com/id/xpload334/ //Balance Changes //a1 06/10/2023 //a2 07/10/2023 //Removed all teleporter engies //Fire snipers no longer crit on burning targets, damage penalty removed //Removed quotes from all wave names (because apparently you can do that) //W1 //W1_3b giant burst soldier -> giant homing soldier //W2 //cash 1250 -> 1000 //giant pistol scouts 25% slower //all Engineer_Sentry_Teleporter replaced with Engineer_Sentry_Battle_TeleIn //W4 severely nerfed //cash 1200 -> 1000 //W4_1a giant burst demos -> giant demos //W4_2a backup gauntlet -> small backup gauntlet //W5 //W5_2b adjusted timing of phlog pyros //W5_3a removed crits from giant pistol scouts //W5_5a colonel barrages -> giant rapid homing soldier //W6 //boss is immune to self damage //boss removed giant shield medic, total health 45k -> 50k //added pointtemplate rotating shield //boss move speed reduced by 5% //boss new voicelines //a3 11/04/2024 //Moved shield pointtemplate into main file //Added canteen sentry busters to pool for W3-W6 //W1 //speeding up spawns on multiple subwaves //removed many squads in favour of constant bot streams //W3 //added canteen bots and explanation text //doubled giant DF pyro spawns (money halved), replaced 1 kritz with shield //Replaced giant heavy + medic with giant uber canteen heavy (x2), 4 total //tank 20k -> 25k //giant sticky demo replaced 1 kritz with shield //W4 //replaced giant rapid demo with giant pillhead demo, removed shield med //added 3 giant homing soldiers to crit pyro + manlet subwave, added shield med //moved some money from first giant demo subwave to giant homing soldiers //W5 //replaced all fow scout with black box soldier //W6 //tank 30k -> 32k //replaced giant blast soldier with giant rapid homing soldier //extra rafmod modifications made to boss demo :D //a4 24/09/2024 //Adjusted subwave names for consistency //W1 //Reworked spawn timings so more are dependant on WaitForAllSpawned //W3 //Reworked first subwave to have 2 giant DF pyro squads and more bonk scouts //W4 //Adjusted wave timings to wait for more spawn instead of dead, waiting for all previous wavespawns to be done //a5 26/09/2024 //Robots //Sandvich heavy eat speed x0.75 -> x1.35 //W3 //W3_2a giant burst sticky demo delay 8s -> 5s //W4 //W4_1a added shield medic //W4_1c third degree count 10 -> 20 //W4_2a backup -> giant phlog pyro //W4_2b third degree -> normal soldier //W4_3b giant homing -> giant rapid homing //W4_4b hard scout count 24 -> 30 //W4_4c third degree count 12 -> 30 //W4_5 removed, moved backup gauntlets to last subwave //W4_6 reworked to Subwave 5 //W4_5a hybrid demo delay 20s -> 18s //W5 //W5_1c sandvich count 30 -> 32, max increased, delay decreased //W5_2a giant rapid homing soldier -> giant burst soldier //W5_2b phlog count 16 -> 32, packs of 4, delay 4s //W5_5a giant critcan burst soldier delay 20s -> 18s, start 8s -> 6s //W6 //Support Gauntlet spawn rate 12s -> 15 //W6_1a critcan heavy delay 20s -> 18s //W6_1b FAN delay 1.5s -> 1.2s //W6_2b giant burst critcan demo delay 13s -> 10s //W6_2b reworked, sandvich heavies don't work when in squad, added to W6_2d //W6_3 giant rapid homing solier -> giant burst homing soldier, delay 20s -> 18s //W6_5b support FAN max 12 -> 15 //W6_5c added support grenade demos (but paintrains) //Fixed boss not using 2nd canteen (48k HP for 1st, 12k HP for 2nd) //MONEY CHECK //(for some reason the auto money-checker doesn't work with wavespawn templates //so I used P3 instead) // Starting Currency: 600 // // +----------+----------+----------+ // | Wave | Currency | A+ | // +----------+----------+----------+ // | Wave 1 | 750 | 850 | // | Wave 2 | 1000 | 1100 | // | Wave 3 | 850 | 950 | // | Wave 4 | 900 | 1000 | // | Wave 5 | 1000 | 1100 | // | Wave 6 | 900 | 1000 | // +----------+----------+----------+ // | Total | 5400 | 6500 | // +----------+----------+----------+ // WaveSchedule { //Spawns //spawnbot - main gate //spawnbot_invasion - random //spawnbot_flank - left side dropdown //spawnbot_side - right side dropdown Templates { //BASIC //SCOUT T_TFBot_Scout_Fan_o_War { Class Scout ClassIcon scout_fanowar Name "Fan O'War Scout" Skill Expert WeaponRestrictions MeleeOnly Item "The Fan O'War" } //SOLDIER //PYRO Raf_Pyro_Phlog //phlog pyro { Class Pyro ClassIcon pyro_phlog Name "Phlog Pyro" Skill Expert Attributes SpawnWithFullCharge Item "The Phlogistinator" ItemAttributes { ItemName "The Phlogistinator" "airblast disabled" 0 } Taunt //Activates Mmph when moderately damaged { Delay 0 Repeats 1 IfHealthBelow 100 } } T_TFBot_Pyro_Crit //always fire, no reflect { Template T_TFBot_Pyro Name "Crit Pyro" Skill Easy Attributes AlwaysFireWeapon Attributes AlwaysCrit tag bot_squad_member } T_TFBot_Pyro_Phlog { Class Pyro ClassIcon pyro_phlog Name "Phlog Pyro" Skill Expert Attributes SpawnWithFullCharge Item "The Phlogistinator" ItemAttributes { ItemName "The Phlogistinator" "airblast disabled" 0 } } T_TFBot_Pyro_Third_Degree { Class Pyro ClassIcon pyro_thirddegree Name "Third Degree Pyro" Skill Expert WeaponRestrictions MeleeOnly Item "The Third Degree" } //DEMO T_TFBot_Demoknight_PainTrain_SpeedBoost { Class Demoman Name "Demotrain" ClassIcon demo_paintrain Skill Hard Item "The Chargin' Targe" Item "The Pain Train" Item "The Well-Rounded Rifleman" WeaponRestrictions MeleeOnly ItemAttributes { ItemName "The Pain Train" // "speed_boost_on_hit" 1 "charge meter on hit" 1.0 } } T_TFBot_Demoman_Paintrain_Launcher { Name "Launcher Demotrain" Class Demoman ClassIcon demo_paintrain Skill Hard Item "The Chargin' Targe" Item "The Pain Train" Item "The Well-Rounded Rifleman" ItemAttributes { ItemName "TF_WEAPON_GRENADELAUNCHER" "custom projectile model" "models/workshop/weapons/c_models/c_paintrain/c_paintrain.mdl" "charge meter on hit" 1.0 } } //HEAVY Raf_Heavyweapons_Sandvich //fixed sandvich heavy { Class Heavyweapons ClassIcon heavy_robosandvich_nys Name "Snack-Packin' Heavy" Item "The Tungsten Toque" UseHumanAnimations 1 Item "The Robo-Sandvich" FireInput { Target !activator Action $SetProp$m_iAmmo$4 Param 1 IfHealthBelow 150 Repeats 1 //Eat sandvich only *once* Cooldown 15 Delay 0.5 } FireInput { Target !activator Action $SetProp$m_iAmmo$4 Param 0 IfHealthAbove 151 Repeats 0 Cooldown 2.5 Delay 0.5 } ItemAttributes { ItemName "TF_WEAPON_MINIGUN" // "provide on active" 1 "mod minigun can holster while spinning" 1 //mod attribute // "single wep holster time increased" 0.2 } ItemAttributes { ItemName "The Robo-Sandvich" "provide on active" 1 "max health additive bonus" 1 "force weapon switch" 1 "dmg from ranged reduced" 0.5 "gesture speed increase" 1.35 //0.75 "single wep deploy time increased" 0.01 "alt-fire disabled" 1 //fixed by rafmod "always allow taunt" 1 //Prevent some edge cases. } } T_TFBot_Heavyweapons_Fist { Class Heavyweapons Name "Steel Gauntlet" Skill Hard ClassIcon heavy_steelfist Health 900 Scale 1.5 // Force scale to 1 when "Health" set high WeaponRestrictions MeleeOnly Item "Fists of Steel" } T_TFBot_Heavy_IronFist_Conch { Template T_TFBot_Heavyweapons_Fist ClassIcon heavy_steelfist_conch Name "Extended Conch Gauntlet" Item "The Concheror" Item "The Titanium Towel" Attributes SpawnWithFullCharge CharacterAttributes { "increase buff duration" 191 "deploy time increased" 0.5 } } T_TFBot_Heavy_IronFist_Common_Conch { Template T_TFBot_Heavy_IronFist_Common ClassIcon heavy_steelfist_conch Name "Extended Conch Gauntlet" Item "The Concheror" Item "The Titanium Towel" Attributes SpawnWithFullCharge CharacterAttributes { "increase buff duration" 191 "deploy time increased" 0.5 } } T_TFBot_Heavy_IronFist_Backup { Template T_TFBot_Heavyweapons_Fist ClassIcon heavy_steelfist_battalion Name "Extended Backup Gauntlet" Item "The Battalion's Backup" Item "The Titanium Towel" Attributes SpawnWithFullCharge CharacterAttributes { "increase buff duration" 191 "deploy time increased" 0.5 } } T_TFBot_Heavy_IronFist_Common_Backup { Template T_TFBot_Heavy_IronFist_Common ClassIcon heavy_steelfist_battalion Name "Extended Backup Gauntlet" Item "The Battalion's Backup" Item "The Titanium Towel" Attributes SpawnWithFullCharge CharacterAttributes { "increase buff duration" 191 "deploy time increased" 0.5 } } T_TFBot_Heavy_IronFist_Buff { Template T_TFBot_Heavyweapons_Fist ClassIcon heavy_steelfist_buff Name "Extended Buff Gauntlet" Item "The Buff Banner" Item "The Titanium Towel" Attributes SpawnWithFullCharge CharacterAttributes { "increase buff duration" 191 "deploy time increased" 0.5 } } T_TFBot_Heavy_IronFist_Common_Buff { Template T_TFBot_Heavy_IronFist_Common ClassIcon heavy_steelfist_buff Name "Extended Buff Gauntlet" Item "The Buff Banner" Item "The Titanium Towel" Attributes SpawnWithFullCharge CharacterAttributes { "increase buff duration" 191 "deploy time increased" 0.5 } } T_TFBot_Heavy_IronFist_Common { Class Heavy ClassIcon heavy_steelfist Name "Steel Manlet" Skill Expert WeaponRestrictions MeleeOnly Item "Fists Of Steel" } //MEDIC T_TFBot_Medic_Kritzkrieg // ===== Medics ===== { Class Medic ClassIcon medic_kritz Name "Kritzkrieg Medic" Skill Expert Attributes AlwaysCrit Attributes SpawnWithFullCharge Item "The KritzKrieg" Item "The Virus Doctor" Item "Medic Mask" ItemAttributes { ItemName "The KritzKrieg" "uber duration bonus" 900 "ubercharge rate bonus" 900 } CharacterAttributes { "heal rate bonus" 2 "bot medic uber health threshold" 226 // "health from healers increased" 0.005 } } T_TFBot_Medic_Shield_QuickFix { Class Medic ClassIcon medic_shield_lite Name "Shield Medic" Skill Expert Attributes IgnoreEnemies Attributes SpawnWithFullCharge Attributes ProjectileShield WeaponRestrictions SecondaryOnly Item "The Physician\'s Protector" Item "The Quick-Fix" ItemAttributes { ItemName "The Quick-Fix" "bot medic uber deploy delay duration" 200 "generate rage on heal" 1 "increase buff duration" 3 "ubercharge rate penalty" 0 } CharacterAttributes { "uber duration bonus" -8 "health from healers increased" 0.005 } } T_TFBot_Medic_Shield //non-quick fix shields stay closer to their targets { Class Medic ClassIcon medic_shield_lite Name "Shield Medic" Skill Expert Attributes IgnoreEnemies Attributes SpawnWithFullCharge Attributes ProjectileShield WeaponRestrictions SecondaryOnly Item "The Physician\'s Protector" ItemAttributes { ItemName "TF_WEAPON_MEDIGUN" "bot medic uber deploy delay duration" 200 "generate rage on heal" 1 "increase buff duration" 3 "ubercharge rate penalty" 0 } CharacterAttributes { "uber duration bonus" -8 "health from healers increased" 0.005 } } T_TFBot_Medic_Fix { Template T_TFBot_Medic CharacterAttributes { "heal rate bonus" 5 "health from healers increased" 0.005 } } T_TFBot_Medic_SlowRecharge_Fix { Template T_TFBot_Medic_SlowRecharge CharacterAttributes { "heal rate bonus" 5 "health from healers increased" 0.005 } } //SNIPER T_TFBot_Sniper_SMG { Class Sniper ClassIcon sniper_smg_tind Name "SMG Sniper" Skill Easy WeaponRestrictions SecondaryOnly } T_TFBot_Sniper_Huntsman_Bleed { Class Sniper ClassIcon sniper_bow_bleed Name "Bleeding Bowman" Skill Hard Item "The Huntsman" ItemAttributes { ItemName "The Huntsman" "bleeding duration" 5.0 "damage penalty" 0.50 } } T_TFBot_Sniper_Fire // ===== Snipers ===== { Template T_TFBot_Sniper ClassIcon sniper_flame Name "Incendiary Round Sniper" Item "The HazMat Headcase" ItemAttributes { ItemName "TF_WEAPON_SNIPERRIFLE" "attach particle effect" 701 "set damagetype ignite" 1.0 // "crit vs burning players" 1 // "dmg penalty vs nonburning" 0.5 } } //GIANT //SCOUT T_TFBot_Giant_Scout_Pistol { Template T_TFBot_Giant_Scout ClassIcon scout_pistol_nys Name "Giant Pistol Scout" WeaponRestrictions SecondaryOnly CharacterAttributes { "move speed bonus" 0.75 "damage force reduction" 0.7 "airblast vulnerability multiplier" 0.7 "override footstep sound set" 5 } } //SOLDIER Raf_Giant_Soldier_Homing { Template T_TFBot_Giant_Soldier ClassIcon soldier_homing_nys_giant Name "Giant Homing Soldier" Item "Potato Hat" RocketCustomParticle eyeboss_projectile HomingRockets //RAFMOD { IgnoreDisguisedSpies 1 IgnoreStealthedSpies 1 RocketSpeed 0.5 TurnPower 50 MaxAimError 300 } ItemAttributes { ItemName "Potato Hat" "set item tint RGB" 16738740 } AddCond { Name TF_COND_SODAPOPPER_HYPE } } Raf_Giant_Soldier_Spammer_Homing { Template T_TFBot_Giant_Soldier_Spammer ClassIcon soldier_homing_spammer_nys_giant Name "Giant Rapid Homing Soldier" Item "Potato Hat" RocketCustomParticle eyeboss_projectile HomingRockets //Raf { IgnoreDisguisedSpies 1 IgnoreStealthedSpies 1 RocketSpeed 0.5 TurnPower 50 MaxAimError 300 } ItemAttributes { ItemName "Potato Hat" "set item tint RGB" 16738740 } AddCond { Name TF_COND_SODAPOPPER_HYPE } } Raf_Giant_Soldier_Spammer_Reload_Homing { Template T_TFBot_Giant_Soldier_Spammer_Reload // ClassIcon soldier_burstfire_homing_nys_giant ClassIcon soldier_burstfire_homing_giant Name "Giant Homing Burst Soldier" Item "Potato Hat" RocketCustomParticle eyeboss_projectile HomingRockets { IgnoreDisguisedSpies 1 IgnoreStealthedSpies 1 RocketSpeed 0.5 TurnPower 50 MaxAimError 300 } ItemAttributes { ItemName "Potato Hat" "set item tint RGB" 16738740 } AddCond { Name TF_COND_SODAPOPPER_HYPE } } Raf_Giant_Soldier_Spammer_Reload_Canteen_Crits { Template T_TFBot_Giant_Soldier_Spammer_Reload ClassIcon soldier_burstfire_critcan //Uses canteen when below 50% HP ExtAttr SuppressCanteenUse //If set, the bot will not automatically activate canteens when looking at the enemy Item "Battery Canteens" ItemAttributes { ItemName "Battery Canteens" "critboost" 1 "powerup charges" 1 } FireWeapon //Periodically fires weapon { Delay 0 Repeats 1 Duration 0.5 //How long should the button be pressed (Default: 0.1) Type "Action" IfHealthBelow 1900 } } T_TFBot_Giant_Soldier_Volley { Class Soldier ClassIcon soldier_bazooka_giant Name "Giant Volley Soldier" Health 4000 Skill Expert Attributes MiniBoss Attributes HoldFireUntilFullReload Tag bot_giant Item "The Beggar's Bazooka" Item "Bucket Hat" ItemAttributes { ItemName "The Beggar's Bazooka" "Projectile speed increased" 1.15 "clip size upgrade atomic" 8.0 "Blast radius decreased" 0.92 "auto fires full clip" 0.0 "auto fires when full" 0.0 "faster reload rate" 0.40 "fire rate bonus" 0.60 "can overload" 0.0 } CharacterAttributes { "move speed bonus" 0.5 "airblast vulnerability multiplier" 0.4 "damage force reduction" 0.4 "override footstep sound set" 3 } } //PYRO T_TFBot_Giant_Pyro_DF_Spammer { Class Pyro ClassIcon pyro_dragon_fury_swordstone_spammer Name "Giant Rapid Dragon's Fury Pyro" Health 3000 Skill Hard Attributes MiniBoss Tag bot_giant MaxVisionRange 1000 Item "The Dragon's Fury" Item "Pyro Helm" ItemAttributes { ItemName "The Dragon's Fury" "mult_item_meter_charge_rate" 0.40 "damage bonus" 1.20 } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.5 "airblast vulnerability multiplier" 0.5 "override footstep sound set" 6 } } T_TFBot_Giant_Pyro_Flare_Rain { Class Pyro ClassIcon pyro_flare_rain_nys Name "Giant Flare Rain Pyro" Health 3000 Skill Expert Attributes MiniBoss Tag bot_giant WeaponRestrictions SecondaryOnly Item "The Flare Gun" ItemAttributes { ItemName "The Flare Gun" "projectile spread angle penalty" 6.0 "Projectile speed decreased" 0.5 "clip size upgrade atomic" 50.0 "fire rate bonus" 0.08 "damage bonus" 3.5 } CharacterAttributes { "airblast vulnerability multiplier" 0.5 "override footstep sound set" 6.0 "damage force reduction" 0.60 "move speed bonus" 0.50 } } T_TFBot_Giant_Pyro_Phlog { Class Pyro ClassIcon Pyro_phlog Name "Giant Phlogistinator Pyro" Health 3000 Skill Expert Attributes MiniBoss Attributes SpawnWithFullCharge Tag bot_giant Item "The Phlogistinator" Item "Brigade Helm" ItemAttributes { ItemName "The Phlogistinator" "airblast disabled" 0 } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.5 "airblast vulnerability multiplier" 0.5 "override footstep sound set" 6 } } Raf_Giant_Pyro_Phlog { Class Pyro ClassIcon Pyro_phlog Name "Giant Phlogistinator Pyro" Health 3000 Skill Expert Attributes MiniBoss Attributes SpawnWithFullCharge Tag bot_giant Item "The Phlogistinator" Item "Brigade Helm" ItemAttributes { ItemName "The Phlogistinator" "airblast disabled" 0 "alt-fire disabled" 1 //Prevent normal reflect use } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.5 "airblast vulnerability multiplier" 0.5 "override footstep sound set" 6 } Taunt //Activates Mmph when moderately damaged { Delay 0 Repeats 1 IfHealthBelow 2000 } // FireWeapon //Activates Mmph when moderately damaged, if haven't done already // { // Delay 0 // Duration 0.5 // Repeats 1 // Type "Secondary" // IfHealthBelow 2000 // } } //DEMO T_TFBot_Giant_Demo_Splendid { Class Demoman Name "Giant Hybrid Demoman" ClassIcon demo_splendid_lite Item "The Cyborg Stunt Helmet" Item "The Splendid Screen" Skill Expert Health 3300 // WeaponRestrictions PrimaryOnly Attributes HoldFireUntilFullReload Attributes MiniBoss ItemAttributes { ItemName "TF_WEAPON_GRENADELAUNCHER" "fire rate bonus" 0.5 "damage force reduction" 0.5 } CharacterAttributes { "move speed bonus" 0.5 "airblast vulnerability multiplier" 0.5 "override footstep sound set" 4 } } T_TFBot_Giant_Demoman_Stickybomb_BurstFire { Class Demoman ClassIcon demo_sticky_burst Name "Giant Burst Fire Sticky Demoman" Health 3300 Skill Expert Attributes MiniBoss Attributes HoldFireUntilFullReload Tag bot_giant WeaponRestrictions SecondaryOnly Item "Strontium Stove Pipe" ItemAttributes { ItemName "TF_WEAPON_GRENADELAUNCHER" "is_passive_weapon" 1 "override projectile type" 27.0 } ItemAttributes { ItemName "TF_WEAPON_PIPEBOMBLAUNCHER" "fire rate bonus" 0.15 "faster reload rate" 0.5 "stickybomb charge rate" 0 "Projectile speed decreased" 0.30 "projectile spread angle penalty" 3.0 } CharacterAttributes { "move speed bonus" 0.5 "airblast vulnerability multiplier" 0.5 "rocket jump damage reduction" 0.01 "damage force reduction" 0.5 "override footstep sound set" 4 } } T_TFBot_Giant_Demo_Spammer_Pillhead //randomly sprays pills everywhere { Class Demoman Name "Giant Pillhead Demoman" ClassIcon demo_unload_giant Item "The Blast Bowl" Skill Expert Health 4000 WeaponRestrictions PrimaryOnly // Attributes HoldFireUntilFullReload Attributes AlwaysFireWeapon Attributes MiniBoss Item "The Loch-n-Load" ItemAttributes { ItemName "The Loch-n-Load" "faster reload rate" 0.15 "fire rate bonus" 0.0 "Projectile speed decreased" 0.50 // "fire rate bonus with reduced health" 0.2 "projectile spread angle penalty" 180 "no self blast dmg" 2 } ItemAttributes{ ItemName "The Blast Bowl" "head scale" 1.28 } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.5 "airblast vulnerability multiplier" 0.5 "override footstep sound set" 4 } // Action SuicideBomber // UseMeleeThreatPrioritization 1 } Raf_Giant_Demo_Spammer_Pillhead //randomly sprays pills everywhere { Class Demoman Name "Giant Pillhead Demoman" ClassIcon demo_burst_spammer_giant Item "The Blast Bowl" Skill Expert Health 4000 WeaponRestrictions PrimaryOnly // Attributes HoldFireUntilFullReload // AimOffset "0 0 90" //Always looks up // Attributes AlwaysFireWeapon Attributes MiniBoss // Item "The Loch-n-Load" ChangeAttributes { Name "Desperation" //Switch to this block IfHealthBelow 2000 //When below X HP Delay 0.01 //And do it as soon as you can Repeats 1 //...and only once. } EventChangeAttributes { Default //Bots will naturally start at Default { ItemAttributes { ItemName "TF_WEAPON_GRENADELAUNCHER" "faster reload rate" -0.8 "fire rate bonus" 0.75 // "Projectile speed decreased" 0.2 // "fire rate bonus with reduced health" 0.2 // "projectile spread angle penalty" 90 // "no self blast dmg" 2 // "grenade explode on impact" 1 } } Desperation //Gain faster attacks and more proj speed { AimOffset "0 0 90" //Always looks up Attributes AlwaysFireWeapon ItemAttributes { ItemName "TF_WEAPON_GRENADELAUNCHER" "faster reload rate" -0.8 "fire rate bonus" 0.05 "Projectile speed decreased" 0.45 "projectile spread angle penalty" 180 "no self blast dmg" 2 "grenade explode on impact" 1 } ItemAttributes{ ItemName "The Blast Bowl" "head scale" 1.28 "attach particle effect" 13 } } } ItemAttributes{ ItemName "The Blast Bowl" "head scale" 1.28 } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.5 "airblast vulnerability multiplier" 0.5 "override footstep sound set" 4 } } Raf_Giant_Demo_Burst_Canteen_Crits { Template T_TFBot_Giant_Demo_Burst ClassIcon demo_burst_critcan //Uses canteen when below 50% HP ExtAttr SuppressCanteenUse //If set, the bot will not automatically activate canteens when looking at the enemy Item "Battery Canteens" ItemAttributes { ItemName "Battery Canteens" "critboost" 1 "powerup charges" 1 } FireWeapon { Delay 0 Repeats 1 Duration 0.5 //How long should the button be pressed (Default: 0.1) Type "Action" IfHealthBelow 1650 } } //HEAVY T_TFBot_Giant_Heavyweapons_CritOnKill { Class Heavy ClassIcon heavy_booster Name "Giant Crit-On-Kill Heavy" Health 5000 Skill Expert Attributes MiniBoss Tag bot_giant MaxVisionRange 1200 Item "Hound Dog" ItemAttributes { ItemName "TF_WEAPON_MINIGUN" "critboost on kill" 3.0 } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.3 "airblast vulnerability multiplier" 0.3 "override footstep sound set" 2 } } T_TFBot_Giant_Heavyweapons_Shotgun { Class Heavyweapons Name "Giant Shotgun Heavy" ClassIcon heavy_shotgun Skill Expert Health 5000 WeaponRestrictions SecondaryOnly MaxVisionRange 1200 Attributes MiniBoss //Attributes HoldFireUntilFullReload ItemAttributes { ItemName "TF_WEAPON_SHOTGUN_HWG" "fire rate bonus" 2.5 "bullets per shot bonus" 10 "damage penalty" 0.5 "faster reload rate" 0.1 } CharacterAttributes { "move speed bonus" 0.7 "damage force reduction" 0.3 "airblast vulnerability multiplier" 0.3 "attack projectiles" 1 // force ability to shoot down projectiles "override footstep sound set" 2 } } T_TFBot_Giant_Heavyweapons_Shotgun_Burst { Class Heavy ClassIcon heavy_shotgun_burst_lite Name "Giant Burst Fire Shotgun Heavy" Health 5000 Skill Expert Attributes MiniBoss Tag bot_giant MaxVisionRange 1200 WeaponRestrictions SecondaryOnly Item "The Eliminators Safeguard" ItemAttributes { ItemName "TF_WEAPON_SHOTGUN_HWG" "bullets per shot bonus" 5.0 "auto fires full clip" 1.0 "auto fires when full" 1.0 "faster reload rate" 0.40 "fire rate bonus" 0.10 "damage bonus" 0.50 } CharacterAttributes { "airblast vulnerability multiplier" 0.30 "override footstep sound set" 2.0 "damage force reduction" 0.30 "move speed bonus" 0.70 } } Raf_Giant_Heavyweapons_Canteen_Uber { Template T_TFBot_Giant_Heavyweapons ClassIcon heavy_ubercan //Uses canteen when below 50% HP ExtAttr SuppressCanteenUse //If set, the bot will not automatically activate canteens when looking at the enemy Item "Battery Canteens" ItemAttributes { ItemName "Battery Canteens" "ubercharge" 1 "powerup charges" 1 } FireWeapon //Periodically fires weapon { Delay 0 Repeats 1 Duration 0.5 //How long should the button be pressed (Default: 0.1) Type "Action" IfHealthBelow 2500 } } Raf_Giant_Heavyweapons_Canteen_Crits { Template T_TFbot_Giant_Heavyweapons ClassIcon heavy_critcan //Uses canteen when below 50% HP ExtAttr SuppressCanteenUse Item "Battery Canteens" ItemAttributes { ItemName "Battery Canteens" "critboost" 1 "powerup charges" 1 } FireWeapon { Delay 0 Repeats 1 Duration 0.5 Type "Action" IfHealthBelow 2500 } } //MEDIC T_TFBot_Giant_Medic_Shield_QuickFix { Class Medic ClassIcon medic_shield_lite_giant Name "Giant Shield Medic" Health 4500 Skill Expert Attributes MiniBoss Attributes IgnoreEnemies Attributes SpawnWithFullCharge Attributes ProjectileShield WeaponRestrictions SecondaryOnly Tag bot_giant Item "The Physician's Protector" ItemAttributes { ItemName "TF_WEAPON_MEDIGUN" "bot medic uber deploy delay duration" 200 "generate rage on heal" 1 "heal rate bonus" 201 "increase buff duration" 3 "ubercharge rate penalty" 0 } CharacterAttributes { "uber duration bonus" -8 "move speed bonus" 0.5 "damage force reduction" 0.6 "health from healers increased" 0.005 "airblast vulnerability multiplier" 0.60 } } T_TFBot_Giant_Medic_Shield { Class Medic ClassIcon medic_shield_lite_giant Name "Giant Shield Medic" Health 4500 Skill Expert Attributes MiniBoss Attributes IgnoreEnemies Attributes SpawnWithFullCharge Attributes ProjectileShield WeaponRestrictions SecondaryOnly Tag bot_giant Item "The Physician's Protector" Item "The Quick-Fix" ItemAttributes { ItemName "The Quick-Fix" "bot medic uber deploy delay duration" 200 "generate rage on heal" 1 "heal rate bonus" 201 "increase buff duration" 3 "ubercharge rate penalty" 0 } CharacterAttributes { "uber duration bonus" -8 "move speed bonus" 0.5 "damage force reduction" 0.6 "health from healers increased" 0.005 "airblast vulnerability multiplier" 0.60 } } //BOSS Raf_Boss_Demo_Hybrid { Class Demoman ClassIcon demo_paintrain_giant Name "Pain Train Conductor" Health 50000 //58000 Scale 1.8 Skill Expert Tag boss_demo Attributes MiniBoss Attributes HoldFireUntilFullReload Attributes UseBossHealthBar Tag bot_giant Item "The FR-0" Item "The Juggernaut Jacket" Item "The Chargin' Targe" // Template SpawnTemplate BossEntities ////////////////////////////////// //CANTEENS ExtAttr SuppressCanteenUse Item "Battery Canteens" ItemAttributes { ItemName "Battery Canteens" "critboost" 1 "powerup charges" 2 } FireWeapon { Delay 0 Repeats 1 Duration 0.5 Type "Action" IfHealthBelow 48000 //52000 } FireWeapon { Delay 0 Repeats 1 Duration 0.5 Type "Action" IfHealthBelow 12000 } ////////////////////////////////// //PHASE LOGIC // //Phase 2, <30k hp FireInput { Target "boss_logic" Action FireUser1 //Trigger shield Delay 0 Repeats 1 IfHealthBelow 30001 } ////////////////////////////////// ChangeAttributes { Name "Phase2" IfHealthBelow 30001 Delay 0.01 Repeats 1 } EventChangeAttributes { Default { ItemAttributes { ItemName "TF_WEAPON_GRENADELAUNCHER" "custom projectile model" "models/workshop/weapons/c_models/c_paintrain/c_paintrain.mdl" "clip size upgrade atomic" 21.0 "fire rate bonus" 0.05 "faster reload rate" 0.12 "projectile spread angle penalty" 4 "no self blast dmg" 2 // Bots other than soldier dont avoid self damage "charge meter on hit" 1.0 // "speed_boost_on_hit" 1.0 // "critboost on kill" 3 } } Phase2 { ItemAttributes{ ItemName "TF_WEAPON_GRENADELAUNCHER" "custom projectile model" "models/workshop/weapons/c_models/c_paintrain/c_paintrain.mdl" "clip size upgrade atomic" 6.0 "fire rate bonus" 0.15 "faster reload rate" 0.25 "projectile spread angle penalty" 30 "no self blast dmg" 2 // Bots other than soldier dont avoid self damage "charge meter on hit" 1.0 // "speed_boost_on_hit" 1.0 // "critboost on kill" 3 "override projectile type" 2 "Projectile speed increased" 0.35 "mod projectile heat aim error" 300 // "mod projectile heat aim time" 5 "mod projectile heat seek power" 50 "projectile trail particle" eyeboss_projectile } } } // FireWeapon // { // Delay 1 // Cooldown 1.5 // Repeats 0 // IfSeeTarget 1 // Duration 1 // Type "Primary" // IfHealthBelow 30001 // } // FireWeapon // { // Delay 1 // Cooldown 3 // Repeats 0 // IfSeeTarget 1 // Duration 0.8 // Type "Primary" // IfHealthBelow 30001 // } // FireWeapon // { // Delay 1 // Cooldown 0.8 // Repeats 0 // IfSeeTarget 1 // Duration 0.1 // Type "Secondary" // IfHealthBelow 30001 // } //ITEMATTRIBUTES // ItemAttributes // { // ItemName "TF_WEAPON_GRENADELAUNCHER" // "custom projectile model" "models/workshop/weapons/c_models/c_paintrain/c_paintrain.mdl" // "clip size upgrade atomic" 36.0 // "fire rate bonus" 0.10 // "faster reload rate" 0.0 // "projectile spread angle penalty" 2 // "no self blast dmg" 2 // Bots other than soldier dont avoid self damage // "charge meter on hit" 1.0 // "speed_boost_on_hit" 1.0 // // "critboost on kill" 3 // } ItemAttributes { ItemName "The Chargin' Targe" "charge impact damage increased" 1.0 "Attack not cancel charge" 1 // "no charge impact range" 1 } CharacterAttributes { "charge time increased" 2 "move speed bonus" 0.25 // "health regen" 50 "airblast vulnerability multiplier" 0.1 "airblast vertical vulnerability multiplier" 0.1 "damage force reduction" 0.4 "rage giving scale" 0.2 "override footstep sound set" 4 } //RESISTS WeaponResist { "TF_WEAPON_MINIGUN" 0.85 } } //MISC T_TFBot_SentryBuster_Minelayer { Class Demoman Name "Mine Layer Buster" Skill Expert Health 2500 Item "The Iron Bomber" Item "Steel Shako" ClassIcon sentry_buster Attributes MiniBoss Attributes AlwaysFireWeapon ItemAttributes { ItemName "The Iron Bomber" "Projectile speed increased" 0.0 "faster reload rate" 0.2 "fire rate bonus" 0.0 "fuse bonus" 1.0 } ItemAttributes{ ItemName "Steel Shako" "head scale" 1.28 } CharacterAttributes { "move speed bonus" 2 "damage force reduction" 0.5 "airblast vulnerability multiplier" 0.5 "override footstep sound set" 7 "cannot be backstabbed" 1 } } T_TFBot_SentryBuster_Parachute { Template T_TFBot_SentryBuster Name "Parachuting Sentry Buster" ClassIcon sentry_buster Attributes MiniBoss Attributes DisableDodge Item "The B.A.S.E. Jumper" Item "The Ullapool Caber" //Attributes Parachute Attributes AutoJump AutoJumpMin 1 AutoJumpMax 5 CharacterAttributes { "move speed bonus" 2 "damage force reduction" 0.5 "airblast vulnerability multiplier" 0.5 "override footstep sound set" 7 "cannot be backstabbed" 1 "increased jump height" 4.0 "increased air control" 3.0 } } Raf_SentryBuster_UberCan { Class Demoman Name "Sentry Buster" Skill Expert Health 2500 Item "The Ullapool Caber" // WeaponRestrictions MeleeOnly ClassIcon sentry_buster Attributes MiniBoss Attributes DisableDodge Item "Towering Titanium Pillar of Hats" Attributes MiniBoss //Uses canteen when below 50% HP ExtAttr SuppressCanteenUse //If set, the bot will not automatically activate canteens when looking at the enemy Item "Battery Canteens" ItemAttributes { ItemName "Battery Canteens" "ubercharge" 1 "powerup charges" 1 } FireWeapon //Periodically fires weapon { Delay 0 Repeats 1 Duration 0.5 //How long should the button be pressed (Default: 0.1) Type "Action" IfHealthBelow 500 } CharacterAttributes { "move speed bonus" 2 "damage force reduction" 0.5 "airblast vulnerability multiplier" 0.5 "override footstep sound set" 7 "cannot be backstabbed" 1 } } /////////////////////////////////////////////////////////////////////////// //WAVESPAWN TEMPLATES /////////////////////////////////////////////////////////////////////////// T_WaveSpawn_Soldier_FlarePyro_20 { Where spawnbot TotalCount 20 MaxActive 12 SpawnCount 2 WaitBetweenSpawns 2 TotalCurrency 60 Squad { TFBot { Class Soldier Name "Soldier" Skill Normal Item "The Well-Rounded Rifleman" } TFBot { Template T_TFBot_Pyro_Flaregun Item "The Well-Rounded Rifleman" } } } T_WaveSpawn_Scout_20 { Where spawnbot TotalCount 20 MaxActive 16 SpawnCount 1 WaitBetweenSpawns 1 TotalCurrency 60 TFBot { Class Scout Name "Scout" Skill Normal Item "The Well-Rounded Rifleman" } } T_WaveSpawn_Giant_Heavyweapons_CritOnKill_Uber { Where spawnbot TotalCount 5 MaxActive 5 SpawnCount 5 WaitBetweenSpawns 3 TotalCurrency 125 Squad { TFBot { Template T_TFBot_Giant_Heavyweapons_CritOnKill Item "The Well-Rounded Rifleman" } TFBot { Template T_TFBot_Medic_Fix Item "The Well-Rounded Rifleman" tag bot_squad_member } TFBot { Template T_TFBot_Medic_Fix Item "The Well-Rounded Rifleman" tag bot_squad_member } TFBot { Template T_TFBot_Medic_Fix Item "The Well-Rounded Rifleman" tag bot_squad_member } TFBot { Template T_TFBot_Medic_Fix Item "The Well-Rounded Rifleman" tag bot_squad_member } } } } PointTemplates { // ROTATING SHIELD // RotateShieldLvL1 // { // OnSpawnOutput // { // Target "rotate" // Action "Start" // } // OnSpawnOutput // { // Target "rotate" // Action "Start" // } // // OnSpawnOutput // // { // // Target "rotate_position" // // Action "Trigger" // // } // OnSpawnOutput // { // Target "rotate" // Action "SetParent" // Param "" // } // OnSpawnOutput // { // Target "rotate" // Action "$SetFakeParent" // Param "!activator" // Delay 0.1 // } // OnSpawnOutput // { // Target "rotate" // Action "$SetLocalAngles" // Param "0 0 0" // Delay 0.1 // } // OnSpawnOutput // { // Target "popscript" // Action "$registerShieldLvl1" // param "projectile_shield" // Delay 0.1 // } // // logic_relay // // { // // "targetname" "rotate_position" // // "spawnflags" "2" // // "OnTrigger" "rotate,$TeleportToEntity,!activator,0,-1" // // "OnTrigger" "!self,Trigger,,0.01,-1" // // } // entity_medigun_shield // { // "parentname" "rotate" // "targetname" "projectile_shield" // "origin" "150 0 0" // "spawnflags" "1" // "teamnum" "3" // "skin" "1" // } // func_rotating // { // "targetname" "rotate" // "origin" "0 0 0" // "$modules" "fakeparent" // "$positiononly" "1" // "mins" "-0.1 -0.1 -0.1" // "maxs" "0.1 0.1 0.1" // "dmg" "0" // "fanfriction" "100" // "maxspeed" "60" // "spawnflags" "64" // "volume" "0" // } // } ProjShield { NoFixup 1 OnSpawnOutput { Target "projectile_shield" Action "$SetOwner" Param "!activator" Delay 0.05 } entity_medigun_shield { "targetname" "projectile_shield" "origin" "150 0 0" "spawnflags" "1" //No expire, no blocking line-of-sight "teamnum" "3" "skin" "1" } } //BOSS LOGIC BossEntities { logic_relay { "targetname" "boss_logic" //OnUser1: temp stun, and trigger shield "OnUser1" "boss_stun,Enable,,0.0,-1" "OnUser1" "player,$PlaySoundToSelf,vo/mvm/mght/demoman_mvm_m_painsevere03.mp3,0.016,-1" "OnUser1" "!parent,$AddCond,52 35,0.016,-1" //uber //TRIGGER SHIELD "OnUser1" "ProjShield,ForceSpawnAtEntityOrigin,!parent,1.0,-1" // "OnUser1" "RotateShieldLvl1,ForceSpawnAtEntityOrigin,!parent,1.0,-1" "OnUser1" "player,$PlaySoundToSelf,weapons/medi_shield_deploy.wav,1.0,-1" "OnUser1" "boss_stun,Disable,,1.2,-1" //remove stun "OnUser1" "!parent,$RemoveCond,52,1.3,-1" //remove cond52 "OnUser1" "player,$PlaySoundToSelf,vo/mvm/mght/taunts/demoman_mvm_m_taunts07.mp3,2.0,-1" } //Logic: stunning the boss. filter_tf_bot_has_tag { "tags" "boss_demo" "targetname" "filter_boss_demo" } trigger_stun { "targetname" "boss_stun" "filtername" "filter_boss_demo" "StartDisabled" 1 "spawnflags" 64 "move_speed_reduction" 1 "stun_type" 1 //Test! "stun_duration" 0.75 "maxs" "100 100 100" "mins" "-100 -100 -100" } } } //Mission stats StartingCurrency 600 RespawnWaveTime 6 CanBotsAttackWhileInSpawnRoom no Advanced 1 PrecacheSound "#sphere-doomer-boss-music-edit.mp3" /////////////////////////////////////////////////////////////////////////// //MISSIONS /////////////////////////////////////////////////////////////////////////// Mission //Sentry Busters (W1/W2) { Where spawnbot_invasion Objective DestroySentries // InitialCooldown 5 InitialCooldown 0 BeginAtWave 1 RunForThisManyWaves 2 CooldownTime 32 RandomChoice { TFBot //basic { Template T_TFBot_SentryBuster Item "The Well-Rounded Rifleman" ItemAttributes{ ItemName "The Well-Rounded Rifleman" "head scale" 1.28 } } TFBot //basic { Template T_TFBot_SentryBuster // Item "The Well-Rounded Rifleman" Item "The Well-Rounded Rifleman" ItemAttributes{ ItemName "The Well-Rounded Rifleman" "head scale" 1.28 } } TFBot //basic { Template T_TFBot_SentryBuster // Item "The Well-Rounded Rifleman" Item "The Well-Rounded Rifleman" ItemAttributes{ ItemName "The Well-Rounded Rifleman" "head scale" 1.28 } } TFBot //minelayer { Template T_TFBot_SentryBuster_Minelayer } TFBot //parachute { Template T_TFBot_SentryBuster_Parachute Item "The Well-Rounded Rifleman" ItemAttributes{ ItemName "The Well-Rounded Rifleman" "head scale" 1.28 } } } } Mission //Sentry Busters (W3/W4/W5/W6) { Where spawnbot_invasion Objective DestroySentries // InitialCooldown 5 InitialCooldown 0 BeginAtWave 3 RunForThisManyWaves 4 CooldownTime 32 RandomChoice { TFBot //basic { Template T_TFBot_SentryBuster Item "The Well-Rounded Rifleman" ItemAttributes{ ItemName "The Well-Rounded Rifleman" "head scale" 1.28 } } TFBot //ubercan { Template Raf_SentryBuster_UberCan } TFBot //minelayer { Template T_TFBot_SentryBuster_Minelayer } TFBot //parachute { Template T_TFBot_SentryBuster_Parachute Item "The Well-Rounded Rifleman" ItemAttributes{ ItemName "The Well-Rounded Rifleman" "head scale" 1.28 } } } } Mission //Engies W2/3/4 { Objective Engineer InitialCooldown 30 Where spawnbot BeginAtWave 2 RunForThisManyWaves 2 CooldownTime 45 DesiredCount 1 TFBot { Template T_TFBot_Engineer_Sentry_Battle_TeleIn TeleportWhere spawnbot TeleportWhere spawnbot Attributes TeleportToHint Health 300 Item "The Well-Rounded Rifleman" } } Mission //Spy W3/4 { Objective Spy InitialCooldown 25 Where spawnbot BeginAtWave 3 RunForThisManyWaves 2 CooldownTime 35 DesiredCount 2 TFBot { Class Spy Skill Expert Name Spy Item "The Well-Rounded Rifleman" } } Mission //W1 snipers { Where spawnbot_mission_sniper Objective Sniper InitialCooldown 20 BeginAtWave 1 RunForThisManyWaves 1 CooldownTime 20 DesiredCount 1 TFBot { Template T_TFBot_Sniper_Fire Item "The Well-Rounded Rifleman" } } Mission //W4/5 snipers { Where spawnbot_mission_sniper Objective Sniper InitialCooldown 20 BeginAtWave 4 RunForThisManyWaves 2 CooldownTime 30 DesiredCount 2 TFBot { Template T_TFBot_Sniper_Fire Item "The Well-Rounded Rifleman" } } Mission //W6 engineers { Objective Engineer InitialCooldown 15 Where spawnbot BeginAtWave 2 RunForThisManyWaves 2 CooldownTime 45 DesiredCount 1 TFBot { Template T_TFBot_Engineer_Sentry_Battle_TeleIn TeleportWhere spawnbot TeleportWhere spawnbot Attributes TeleportToHint Health 300 Item "The Well-Rounded Rifleman" } } //////////////////////////////////////////////////////////////////////////////////////////////// //Wave 1 //////////////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////////////// Wave { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } Checkpoint Yes //W1_1 //////////////////////////////////////////////////// WaveSpawn // 20 soldier + flare pyro { Template T_WaveSpawn_Soldier_FlarePyro_20 Where spawnbot Name W1_1a FirstSpawnWarningSound "Soldier.MVM_BattleCry03" } //W1_2 //////////////////////////////////////////////////// WaveSpawn //(x4) steel gauntlet + 2 soldiers { Where spawnbot_flank Name W1_2a TotalCount 12 MaxActive 6 SpawnCount 3 WaitForAllSpawned W1_1a WaitBeforeStarting 7 WaitBetweenSpawns 2 TotalCurrency 60 Squad { TFBot { Template T_TFBot_Heavyweapons_Fist Item "The Well-Rounded Rifleman" } TFBot { Class Soldier Name "Soldier" Skill Normal Item "The Well-Rounded Rifleman" tag bot_squad_member } TFBot { Class Soldier Name "Soldier" Skill Normal Item "The Well-Rounded Rifleman" tag bot_squad_member } } } //W1_3 //////////////////////////////////////////////////// WaveSpawn //20 soldier + flare pyro { Template T_WaveSpawn_Soldier_FlarePyro_20 Where spawnbot Name W1_3a WaitForAllSpawned W1_2a WaitBeforeStarting 10 } WaveSpawn //giant homing soldier { Where spawnbot_flank Name W1_3b TotalCount 1 MaxActive 1 SpawnCount 1 WaitForAllSpawned W1_2a WaitBeforeStarting 10 WaitBetweenSpawns 5 TotalCurrency 50 TFBot { // Template T_TFBot_Giant_Soldier Template Raf_Giant_Soldier_Homing // Item "The Well-Rounded Rifleman" } } //W1_4 //////////////////////////////////////////////////// WaveSpawn //giant hybrid demo { Where spawnbot_side Name W1_4a TotalCount 2 MaxActive 2 SpawnCount 1 WaitForAllSpawned W1_3a WaitForAllSpawned W1_3b WaitBeforeStarting 10 WaitBetweenSpawns 5 TotalCurrency 100 TFBot { Template T_TFBot_Giant_Demo_Splendid } } //W1_5 //////////////////////////////////////////////////// WaveSpawn //20 scout { Template T_WaveSpawn_Scout_20 Where spawnbot Name W1_5a WaitForAllSpawned W1_4a WaitBeforeStarting 10 } WaveSpawn //giant homing soldier { Where spawnbot_flank Name W1_5b TotalCount 1 MaxActive 1 SpawnCount 1 WaitForAllSpawned W1_4a WaitBeforeStarting 10 WaitBetweenSpawns 5 TotalCurrency 50 TFBot { // Template T_TFBot_Giant_Soldier Template Raf_Giant_Soldier_Homing // Item "The Well-Rounded Rifleman" } } //W1_6 //////////////////////////////////////////////////// WaveSpawn // (x6) steel gauntlet + 3 flare pyro { Where spawnbot Name W1_6a TotalCount 24 MaxActive 16 SpawnCount 4 WaitForAllSpawned W1_5a WaitForAllSpawned W1_5b WaitBeforeStarting 10 WaitBetweenSpawns 5 TotalCurrency 120 Squad { TFBot { Template T_TFBot_Heavyweapons_Fist Item "The Well-Rounded Rifleman" } TFBot { Template T_TFBot_Pyro_Flaregun Item "The Well-Rounded Rifleman" tag bot_squad_member } TFBot { Template T_TFBot_Pyro_Flaregun Item "The Well-Rounded Rifleman" tag bot_squad_member } TFBot { Template T_TFBot_Pyro_Flaregun Item "The Well-Rounded Rifleman" tag bot_squad_member } } } WaveSpawn //giant homing soldier { Where spawnbot_flank Name W1_6b TotalCount 1 MaxActive 1 SpawnCount 1 WaitForAllSpawned W1_5a WaitForAllDead W1_5b WaitBetweenSpawns 5 TotalCurrency 50 TFBot { // Template T_TFBot_Giant_Soldier Template Raf_Giant_Soldier_Homing // Item "The Well-Rounded Rifleman" } } //W1_7 //////////////////////////////////////////////////// WaveSpawn // crit on kill heavy + 4 uber medic { Template T_WaveSpawn_Giant_Heavyweapons_CritOnKill_Uber Where spawnbot_side Name W1_7a WaitForAllSpawned W1_6a WaitBeforeStarting 10 WaitBetweenSpawns 5 } WaveSpawn // support demotrain { Where spawnbot Name W1_7b TotalCount 15 MaxActive 10 SpawnCount 1 WaitForAllDead W1_6a WaitBetweenSpawns 1 TotalCurrency 15 Support 1 TFBot { Template T_TFBot_Demoknight_PainTrain_SpeedBoost } } } //////////////////////////////////////////////////////////////////////////////////////////////// //Wave 2 //////////////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////////////// Wave { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } Checkpoint Yes //W2_1 //////////////////////////////////////////////////// WaveSpawn // 30 smg sniper { Where spawnbot Name W2_1a FirstSpawnWarningSound "Sniper.MVM_Taunts11" TotalCount 30 MaxActive 12 SpawnCount 3 WaitBetweenSpawns 3 TotalCurrency 90 TFBot { Template T_TFBot_Sniper_SMG Item "The Well-Rounded Rifleman" } } WaveSpawn //3 giant pistol scout { Where spawnbot_side Name W2_1b TotalCount 3 MaxActive 3 SpawnCount 1 WaitBeforeStarting 6 WaitBetweenSpawns 9 TotalCurrency 150 TFBot { Template T_TFBot_Giant_Scout_Pistol Item "The Well-Rounded Rifleman" } } //W2_2 //////////////////////////////////////////////////// WaveSpawn //tank 25k HP { Name W2_2a FirstSpawnWarningSound "MVM.TankStart" WaitForAllDead W2_1b WaitBeforeStarting 2 TotalCount 1 SpawnCount 1 TotalCurrency 120 //170 Tank { Name "tankboss" Health 25000 Speed 75 StartingPathTrackNode tank_path_1 OnKilledOutput { Target boss_dead_relay Action Trigger } OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } FirstSpawnOutPut //Tank spawn text, stolen from Plunder Panic (randomguy) { Target wave_start_relay Action RunScriptCode Param " ClientPrint(null,3,`\x0799CCFF[ALERT] Tank deployed with 25k (25,000) HP!`) " } } WaveSpawn // (x3, total 12) 4 shotgun heavy squad { Where spawnbot Name W2_2b TotalCount 12 MaxActive 8 SpawnCount 4 WaitForAllSpawned W2_2a WaitBeforeStarting 3 WaitBetweenSpawns 6 TotalCurrency 60 Squad { TFBot { Template T_TFBot_Heavyweapons_Shotgun Item "The Well-Rounded Rifleman" } TFBot { Template T_TFBot_Heavyweapons_Shotgun Item "The Well-Rounded Rifleman" tag bot_squad_member } TFBot { Template T_TFBot_Heavyweapons_Shotgun Item "The Well-Rounded Rifleman" tag bot_squad_member } TFBot { Template T_TFBot_Heavyweapons_Shotgun Item "The Well-Rounded Rifleman" tag bot_squad_member } } } WaveSpawn //4 buff gauntlet { Where spawnbot Name W2_2c TotalCount 4 MaxActive 2 SpawnCount 1 WaitForAllSpawned W2_2a WaitBeforeStarting 2 WaitBetweenSpawns 6 TotalCurrency 40 TFBot { Template T_TFBot_Heavy_IronFist_Buff Item "The Well-Rounded Rifleman" } } //W2_3 //////////////////////////////////////////////////// WaveSpawn // (x3, 12 total) 4 smg sniper squad { Where spawnbot_invasion Name W2_3a TotalCount 12 MaxActive 8 SpawnCount 4 WaitForAllSpawned W2_2b WaitBeforeStarting 15 WaitBetweenSpawns 6 TotalCurrency 60 Squad { TFBot { Template T_TFBot_Sniper_SMG Item "The Well-Rounded Rifleman" } TFBot { Template T_TFBot_Sniper_SMG Item "The Well-Rounded Rifleman" tag bot_squad_member } TFBot { Template T_TFBot_Sniper_SMG Item "The Well-Rounded Rifleman" tag bot_squad_member } TFBot { Template T_TFBot_Sniper_SMG Item "The Well-Rounded Rifleman" tag bot_squad_member } } } WaveSpawn //4 buff gauntlet { Where spawnbot Name W2_3b TotalCount 4 MaxActive 2 SpawnCount 1 WaitForAllSpawned W2_2b WaitBeforeStarting 13 WaitBetweenSpawns 6 TotalCurrency 40 TFBot { Template T_TFBot_Heavy_IronFist_Buff Item "The Well-Rounded Rifleman" } } //W2_4 //////////////////////////////////////////////////// WaveSpawn // giant deflector + 4 uber medic { Where spawnbot Name W2_4a TotalCount 5 MaxActive 5 SpawnCount 5 WaitForAllDead W2_3a WaitBetweenSpawns 8 TotalCurrency 50 //150 Squad { TFBot { Template T_TFBot_Giant_Heavyweapons_Deflector Item "The Well-Rounded Rifleman" } TFBot { Template T_TFBot_Medic_Fix Item "The Well-Rounded Rifleman" tag bot_squad_member } TFBot { Template T_TFBot_Medic_Fix Item "The Well-Rounded Rifleman" tag bot_squad_member } TFBot { Template T_TFBot_Medic_Fix Item "The Well-Rounded Rifleman" tag bot_squad_member } TFBot { Template T_TFBot_Medic_Fix Item "The Well-Rounded Rifleman" tag bot_squad_member } } } WaveSpawn //12 phlog pyro { Where spawnbot_flank Name W2_4b TotalCount 12 MaxActive 12 SpawnCount 3 WaitForAllSpawned W2_4a WaitBeforeStarting 2 WaitBetweenSpawns 5 TotalCurrency 120 TFBot { Template Raf_Pyro_Phlog Item "The Well-Rounded Rifleman" } } WaveSpawn //giant pistol scout { Where spawnbot_side Name W2_4c TotalCount 1 MaxActive 1 SpawnCount 1 WaitForAllSpawned W2_4a WaitBeforeStarting 12 WaitBetweenSpawns 5 TotalCurrency 50 TFBot { Template T_TFBot_Giant_Scout_Pistol Item "The Well-Rounded Rifleman" } } //W2_5 //////////////////////////////////////////////////// WaveSpawn //(x2) giant volley soldier + 4 uber medic { Where spawnbot Name W2_5a TotalCount 10 MaxActive 5 SpawnCount 5 WaitForAllDead W2_4a WaitBetweenSpawns 20 TotalCurrency 100 //200 Squad { TFBot { Template T_TFBot_Giant_Soldier_Volley } TFBot { Template T_TFBot_Medic_Fix Item "The Well-Rounded Rifleman" tag bot_squad_member } TFBot { Template T_TFBot_Medic_Fix Item "The Well-Rounded Rifleman" tag bot_squad_member } TFBot { Template T_TFBot_Medic_Fix Item "The Well-Rounded Rifleman" tag bot_squad_member } TFBot { Template T_TFBot_Medic_Fix Item "The Well-Rounded Rifleman" tag bot_squad_member } } } WaveSpawn //6 buff gauntlet { Where spawnbot Name W2_5b TotalCount 6 MaxActive 3 SpawnCount 1 WaitForAllDead W2_4a WaitBeforeStarting 4 WaitBetweenSpawns 5 TotalCurrency 60 TFBot { Template T_TFBot_Heavy_IronFist_Buff Item "The Well-Rounded Rifleman" } } WaveSpawn // 18 shotgun heavy { Where spawnbot_invasion Name W2_5c TotalCount 18 MaxActive 9 SpawnCount 3 WaitForAllDead W2_4b WaitBeforeStarting 2 WaitBetweenSpawns 5 TotalCurrency 60 Squad { TFBot { Template T_TFBot_Heavyweapons_Shotgun Item "The Well-Rounded Rifleman" } TFBot { Template T_TFBot_Heavyweapons_Shotgun Item "The Well-Rounded Rifleman" tag bot_squad_member } TFBot { Template T_TFBot_Heavyweapons_Shotgun Item "The Well-Rounded Rifleman" tag bot_squad_member } } } WaveSpawn // support demotrain { Where spawnbot Name W2_5d TotalCount 15 MaxActive 8 SpawnCount 2 WaitForAllSpawned W2_5c WaitBeforeStarting 10 WaitBetweenSpawns 4 TotalCurrency 0 Support 1 TFBot { Template T_TFBot_Demoknight_PainTrain_SpeedBoost Name "Crit Demotrain" Attributes AlwaysCrit } } } //////////////////////////////////////////////////////////////////////////////////////////////// //Wave 3 //////////////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////////////// Wave { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } Explanation //Displayed once the wave is initialized { Line "{red}[ATTENTION MANN CO. FACILITY DEFENDERS/MARTYRS]" Line "{yellow}Some robots have arrived with stolen Canteens!" Line "{yellow}Robots are programmed to use their canteens once they have been decently damaged." } Checkpoint Yes //W3_1 //////////////////////////////////////////////////// WaveSpawn // giant rapid df + 3 kritz med + 1 shield med { Where spawnbot_side Name W3_1a FirstSpawnWarningSound "Pyro.M_MVM_LaughEvil01" TotalCount 10 MaxActive 5 SpawnCount 5 WaitBetweenSpawns 2 TotalCurrency 100 Squad { TFBot { Template T_TFBot_Giant_Pyro_DF_Spammer } TFBot { Template T_TFBot_Medic_Kritzkrieg tag bot_squad_member } TFBot { Template T_TFBot_Medic_Kritzkrieg tag bot_squad_member } TFBot { Template T_TFBot_Medic_Kritzkrieg tag bot_squad_member } TFBot { Template T_TFBot_Medic_Shield tag bot_squad_member } } } WaveSpawn // 20 bonk scout { Where spawnbot Name W3_1b TotalCount 20 MaxActive 12 SpawnCount 4 WaitBeforeStarting 1 WaitBetweenSpawns 3 TotalCurrency 20 TFBot { Template T_TFBot_Scout_Bonk // Name "Crit Bonk Scout" // Attributes AlwaysCrit Item "The Well-Rounded Rifleman" } } //W3_2 //////////////////////////////////////////////////// WaveSpawn //(x2) giant burst sticky demo + conch gauntlet { Where spawnbot Name W3_2a TotalCount 4 MaxActive 4 SpawnCount 2 WaitForAllDead W3_1a WaitForAllSpawned W3_1b WaitBeforeStarting 3 WaitBetweenSpawns 5 //8 TotalCurrency 160 Squad { TFBot { Template T_TFBot_Giant_Demoman_Stickybomb_BurstFire Item "The Well-Rounded Rifleman" } TFBot { Template T_TFBot_Heavy_IronFist_Conch tag bot_squad_member Item "The Well-Rounded Rifleman" } } } WaveSpawn // 20 bonk scout { Where spawnbot Name W3_2b TotalCount 20 MaxActive 12 SpawnCount 4 WaitForAllDead W3_1a WaitForAllSpawned W3_1b WaitBeforeStarting 3 WaitBetweenSpawns 3 TotalCurrency 20 TFBot { Template T_TFBot_Scout_Bonk // Name "Crit Bonk Scout" // Attributes AlwaysCrit Item "The Well-Rounded Rifleman" } } //W3_3 //////////////////////////////////////////////////// WaveSpawn // (x2) Giant uber canteen heavies { Where spawnbot_flank Name W3_3a TotalCount 2 MaxActive 2 SpawnCount 1 WaitForAllDead W3_2a WaitForAllSpawned W3_1b WaitBeforeStarting 0 WaitBetweenSpawns 15 TotalCurrency 80 TFBot { Template Raf_Giant_Heavyweapons_Canteen_Uber Item "The Well-Rounded Rifleman" } // Squad // { // TFBot // { // Template T_TFBot_Giant_Heavyweapons_CritOnKill // Item "The Well-Rounded Rifleman" // } // TFBot // { // Template T_TFBot_Giant_Medic_Regen // tag bot_squad_member // Item "The Well-Rounded Rifleman" // } // } } WaveSpawn //20 bleed huntsman { Where spawnbot Name W3_3b TotalCount 20 MaxActive 10 SpawnCount 2 WaitForAllDead W3_2a WaitForAllSpawned W3_1b WaitBeforeStarting 3 WaitBetweenSpawns 3 TotalCurrency 60 TFBot { Template T_TFBot_Sniper_Huntsman_Bleed Item "The Well-Rounded Rifleman" } } //W3_4 //////////////////////////////////////////////////// WaveSpawn // (x10, 20 total) crit demo + conch gauntlet { Where spawnbot Name W3_4a TotalCount 20 MaxActive 8 SpawnCount 2 WaitForAllDead W3_3a WaitForAllSpawned W3_3b WaitBeforeStarting 3 WaitBetweenSpawns 3 TotalCurrency 80 Squad { TFBot { Class Demoman Name "Crit Demo" Skill Hard Attributes AlwaysCrit Item "The Well-Rounded Rifleman" } TFBot { Template T_TFBot_Heavy_IronFist_Conch tag bot_squad_member Item "The Well-Rounded Rifleman" } } } //W3_5 //////////////////////////////////////////////////// WaveSpawn // (x2) Giant uber canteen heavy { Where spawnbot_flank Name W3_5a TotalCount 2 MaxActive 2 SpawnCount 1 WaitForAllSpawned W3_4a WaitBeforeStarting 5 WaitBetweenSpawns 15 TotalCurrency 80 TFBot { Template Raf_Giant_Heavyweapons_Canteen_Uber Item "The Well-Rounded Rifleman" } // Squad // { // TFBot // { // Template T_TFBot_Giant_Heavyweapons_CritOnKill // Item "The Well-Rounded Rifleman" // } // TFBot // { // Template T_TFBot_Giant_Medic_Regen // tag bot_squad_member // Item "The Well-Rounded Rifleman" // } // } } WaveSpawn //20 bleed huntsman { Where spawnbot Name W3_5b TotalCount 20 MaxActive 10 SpawnCount 5 WaitForAllSpawned W3_3a WaitBeforeStarting 10 WaitBetweenSpawns 8 TotalCurrency 60 TFBot { Template T_TFBot_Sniper_Huntsman_Bleed Item "The Well-Rounded Rifleman" } } //W3_6 //////////////////////////////////////////////////// WaveSpawn // (x2) giant sticky demo + kritz medic + shield medic { Where spawnbot Name W3_6a TotalCount 6 MaxActive 6 SpawnCount 3 WaitForAllDead W3_5a WaitForAllSpawned W3_5b WaitBeforeStarting 1 WaitBetweenSpawns 10 TotalCurrency 150 Squad { TFBot { Template T_TFBot_Giant_Demoman_Stickybomb_BurstFire Item "The Well-Rounded Rifleman" } TFBot { Template T_TFBot_Medic_Kritzkrieg tag bot_squad_member } TFBot { Template T_TFBot_Medic_Shield tag bot_squad_member } } } WaveSpawn //support crit demotrain { Where spawnbot_invasion Name W3_6b TotalCount 20 MaxActive 8 SpawnCount 2 // WaitForAllDead W3_5a WaitForAllSpawned W3_5b WaitBeforeStarting 8 WaitBetweenSpawns 3 TotalCurrency 40 Support 1 TFBot { Template T_TFBot_Demoknight_PainTrain_SpeedBoost Name "Crit Demotrain" Attributes AlwaysCrit } } } //////////////////////////////////////////////////////////////////////////////////////////////// //Wave 4 //////////////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////////////// Wave { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } Explanation //Dispayed once the wave is initialized { Line "{red}[ATTENTION MANN CO. FACILITY DEFENDERS/MARTYRS]" Line "{yellow}It has come to our attention that there are other bots with additional behaviours that activate after some time." // Line "{yellow}It's not just the canteen guys any more!" Line "{yellow}Be prepared to face some angry AI when the chips are down! " } Checkpoint Yes //W4_1 //////////////////////////////////////////////////// WaveSpawn //3 pillhead + shield medic (starts off as rapid demo, low health starts firing in all directions) { Where spawnbot_flank Name W4_1a FirstSpawnWarningSound "Demoman.M_MVM_SpecialCompleted09" TotalCount 6 MaxActive 6 SpawnCount 2 WaitBetweenSpawns 18 TotalCurrency 60 Squad { TFBot { Template Raf_Giant_Demo_Spammer_Pillhead // Item "The Well-Rounded Rifleman" } TFBot { Template T_TFBot_Medic_Shield Item "The Well-Rounded Rifleman" tag bot_squad_member } } } WaveSpawn //20 hard scout { Where spawnbot Name W4_1b TotalCount 20 MaxActive 8 SpawnCount 2 WaitBeforeStarting 2 WaitBetweenSpawns 4 TotalCurrency 40 TFBot { Class Scout Skill Hard } } WaveSpawn //20 crit third degree { Where spawnbot Name W4_1c TotalCount 20 MaxActive 8 SpawnCount 2 WaitBeforeStarting 2 WaitBetweenSpawns 4 TotalCurrency 20 TFBot { Template T_TFBot_Pyro_Third_Degree Name "Critical Degree Pyro" Attributes AlwaysCrit Item "The Well-Rounded Rifleman" } } //W4_2 //////////////////////////////////////////////////// WaveSpawn //(x2, 4 total) flare rain + giant phlog pyro { Where spawnbot_side Name W4_2a TotalCount 4 MaxActive 4 SpawnCount 2 WaitForAllDead W4_1a WaitForAllSpawned W4_1b WaitForAllSpawned W4_1c WaitBeforeStarting 6 WaitBetweenSpawns 18 TotalCurrency 100 Squad { ShouldPreserveSquad 1 TFBot { Template Raf_Giant_Pyro_Phlog } TFBot { Template T_TFBot_Giant_Pyro_Flare_Rain Item "The Well-Rounded Rifleman" } // TFBot // { // Template T_TFBot_Heavy_IronFist_Common_Backup // Item "The Well-Rounded Rifleman" // tag bot_squad_member // } } } WaveSpawn //20 soldier { Where spawnbot Name W4_2b TotalCount 20 MaxActive 12 SpawnCount 4 WaitForAllDead W4_1a WaitForAllSpawned W4_1b WaitForAllSpawned W4_1c WaitBeforeStarting 6 WaitBetweenSpawns 4 TotalCurrency 40 TFBot { // Template T_TFBot_Pyro_Third_Degree // Name "Critical Degree Pyro" // Attributes AlwaysCrit // Item "The Well-Rounded Rifleman" Class Soldier Skill Normal Item "The Well-Rounded Rifleman" } } //W4_3 //////////////////////////////////////////////////// WaveSpawn //(x20, 40 total) small gauntlet + crit pyro { Where spawnbot_invasion Name W4_3a TotalCount 40 MaxActive 14 SpawnCount 2 WaitForAllDead W4_2a WaitForAllSpawned W4_2b WaitBeforeStarting 3 WaitBetweenSpawns 2 TotalCurrency 120 Squad { TFBot { Template T_TFBot_Heavy_IronFist_Common Item "The Well-Rounded Rifleman" } TFBot { Template T_TFBot_Pyro_Crit Item "The Well-Rounded Rifleman" tag bot_squad_member } } } WaveSpawn // (x3) giant rapid homing soldier + shield medic { Where spawnbot Name W4_3b TotalCount 6 MaxActive 4 SpawnCount 2 WaitForAllDead W4_2a WaitForAllSpawned W4_2b WaitBeforeStarting 3 WaitBetweenSpawns 14 TotalCurrency 120 Squad{ TFBot{ Template Raf_Giant_Soldier_Spammer_Homing // Item "The Well-Rounded Rifleman" } TFBot { Template T_TFBot_Medic_Shield Item "The Well-Rounded Rifleman" tag bot_squad_member } } } //W4_4 //////////////////////////////////////////////////// WaveSpawn // (x2) giant flare rain + giant phlog pyro { Where spawnbot_side Name W4_4a TotalCount 4 MaxActive 4 SpawnCount 2 WaitForAllSpawned W4_3a WaitForAllDead W4_3b WaitBeforeStarting 3 WaitBetweenSpawns 18 TotalCurrency 100 Squad { ShouldPreserveSquad 1 TFBot { Template Raf_Giant_Pyro_Phlog } TFBot { Template T_TFBot_Giant_Pyro_Flare_Rain Item "The Well-Rounded Rifleman" } // TFBot // { // Template T_TFBot_Heavy_IronFist_Common_Backup // Item "The Well-Rounded Rifleman" // tag bot_squad_member // } } } WaveSpawn //30 hard scout { Where spawnbot Name W4_4b TotalCount 30 MaxActive 8 SpawnCount 2 WaitForAllSpawned W4_3a WaitForAllDead W4_3b WaitBeforeStarting 5 WaitBetweenSpawns 4 TotalCurrency 48 TFBot { Class Scout Skill Hard Item "The Well-Rounded Rifleman" } } WaveSpawn //30 crit third degree { Where spawnbot Name W4_4c TotalCount 30 MaxActive 8 SpawnCount 2 WaitForAllSpawned W4_3a WaitForAllDead W4_3b WaitBeforeStarting 5 WaitBetweenSpawns 4 TotalCurrency 24 TFBot { Template T_TFBot_Pyro_Third_Degree Name "Critical Degree Pyro" Attributes AlwaysCrit Item "The Well-Rounded Rifleman" } } //W4_5 //////////////////////////////////////////////////// // WaveSpawn // 12 small backup gauntlet (spaced) // { // Where spawnbot // Name W4_5a // TotalCount 12 // MaxActive 8 // SpawnCount 1 // WaitForAllDead W4_4a // WaitForAllSpawned W4_4b // WaitForAllSpawned W4_4c // WaitBeforeStarting 4 // WaitBetweenSpawns 8 // TotalCurrency 60 // TFBot // { // Template T_TFBot_Heavy_IronFist_Common_Backup // Item "The Well-Rounded Rifleman" // } // } // WaveSpawn // (x2) giant phlog pyro + shield medic // { // Where spawnbot_flank // Name W4_5b // TotalCount 4 // MaxActive 4 // SpawnCount 2 // WaitForAllDead W4_4a // WaitForAllSpawned W4_4b // WaitForAllSpawned W4_4c // WaitBeforeStarting 6 // WaitBetweenSpawns 20 // TotalCurrency 100 //120 // Squad // { // TFBot // { // Template Raf_Giant_Pyro_Phlog // } // TFBot // { // Template T_TFBot_Medic_Shield // tag bot_squad_member // Item "The Well-Rounded Rifleman" // } // } // } WaveSpawn // (x3) giant hybrid demo + shield quickfix { Where spawnbot //spawnbot_flank Name W4_5a TotalCount 6 MaxActive 6 SpawnCount 2 // WaitForAllSpawned W4_5b WaitForAllDead W4_4a WaitForAllSpawned W4_4b WaitForAllSpawned W4_4c WaitBeforeStarting 4 WaitBetweenSpawns 18 //20 TotalCurrency 150 //180 Squad { TFBot { Template T_TFBot_Giant_Demo_Splendid } TFBot { Template T_TFBot_Medic_Shield_QuickFix tag bot_squad_member Item "The Well-Rounded Rifleman" } } } WaveSpawn // 12 small backup gauntlet (spaced) { Where spawnbot Name W4_5b TotalCount 12 MaxActive 8 SpawnCount 1 WaitForAllDead W4_4a WaitForAllSpawned W4_4b WaitForAllSpawned W4_4c WaitBeforeStarting 4 WaitBetweenSpawns 4 TotalCurrency 60 TFBot { Template T_TFBot_Heavy_IronFist_Common_Backup Item "The Well-Rounded Rifleman" } } WaveSpawn // support crit demotrain { Where spawnbot Name W4_5c TotalCount 9 MaxActive 8 SpawnCount 1 WaitForAllSpawned W4_5a WaitBeforeStarting 5 WaitBetweenSpawns 3 TotalCurrency 18 //28 Support 1 TFBot { Template T_TFBot_Demoknight_PainTrain_SpeedBoost Name "Crit Demotrain" Attributes AlwaysCrit } } } //////////////////////////////////////////////////////////////////////////////////////////////// //Wave 5 //////////////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////////////// Wave { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } Checkpoint Yes //W5_1 //////////////////////////////////////////////////// WaveSpawn // (x2) giant burst shotgun + shield medic { Where spawnbot Name W5_1a FirstSpawnWarningSound "Heavy.M_MVM_Revenge14" TotalCount 4 MaxActive 4 SpawnCount 2 WaitBetweenSpawns 20 TotalCurrency 60 Squad { TFBot { Template T_TFBot_Giant_Heavyweapons_Shotgun_Burst // Template Raf_Giant_Pyro_Phlog } TFBot { Template T_TFBot_Medic_Shield tag bot_squad_member Item "The Well-Rounded Rifleman" } } } WaveSpawn // 20 bleed huntsman { Where spawnbot Name W5_1b TotalCount 20 MaxActive 6 SpawnCount 2 WaitBeforeStarting 1 WaitBetweenSpawns 4 TotalCurrency 40 TFBot { Template T_TFBot_Sniper_Huntsman_Bleed Item "The Well-Rounded Rifleman" } } WaveSpawn // 32 sandvich heavy { Where spawnbot Name W5_1c TotalCount 32 MaxActive 12 SpawnCount 2 WaitBeforeStarting 3 WaitBetweenSpawns 1.5 TotalCurrency 60 TFBot { Template Raf_Heavyweapons_Sandvich // Item "The Well-Rounded Rifleman" } } //W5_2 //////////////////////////////////////////////////// WaveSpawn // giant burst soldier + 4 uber medic { Where spawnbot_side Name W5_2a TotalCount 5 MaxActive 5 SpawnCount 5 WaitForAllDead W5_1a WaitForAllSpawned W5_1b WaitForAllSpawned W5_1c WaitBeforeStarting 2 WaitBetweenSpawns 20 TotalCurrency 100 Squad { TFBot { // Template T_TFBot_Giant_Soldier_SlowBarrage Template T_TFBot_Giant_Soldier_Spammer_Reload // Item "The Well-Rounded Rifleman" } TFBot { Template T_TFBot_Medic_Fix tag bot_squad_member Item "The Well-Rounded Rifleman" } TFBot { Template T_TFBot_Medic_Fix tag bot_squad_member Item "The Well-Rounded Rifleman" } TFBot { Template T_TFBot_Medic_Fix tag bot_squad_member Item "The Well-Rounded Rifleman" } TFBot { Template T_TFBot_Medic_Fix tag bot_squad_member Item "The Well-Rounded Rifleman" } } } WaveSpawn // 32 phlog pyro { Where spawnbot Name W5_2b TotalCount 32 MaxActive 16 SpawnCount 4 WaitForAllDead W5_1a WaitForAllSpawned W5_1b WaitForAllSpawned W5_1c WaitBeforeStarting 10 WaitBetweenSpawns 4 TotalCurrency 64 TFBot { Template Raf_Pyro_Phlog Item "The Well-Rounded Rifleman" } } //W5_3 //////////////////////////////////////////////////// WaveSpawn // (x2) giant pistol scout + shield medic { Where spawnbot Name W5_3a TotalCount 4 MaxActive 4 SpawnCount 2 WaitForAllDead W5_2a WaitForAllSpawned W5_2b WaitBeforeStarting 1 WaitBetweenSpawns 10 TotalCurrency 60 Squad { ShouldPreserveSquad 1 TFBot { Template T_TFBot_Giant_Scout_Pistol // Name "Giant Crit Pistol Scout" // Attributes AlwaysCrit Item "The Well-Rounded Rifleman" } TFBot { Template T_TFBot_Medic_Shield tag bot_squad_member Item "The Well-Rounded Rifleman" } } } //W5_4 //////////////////////////////////////////////////// WaveSpawn // (x2) giant burst shotgun + shield medic { Where spawnbot_flank Name W5_4a TotalCount 4 MaxActive 4 SpawnCount 2 WaitForAllDead W5_3a WaitBeforeStarting 10 WaitBetweenSpawns 20 TotalCurrency 60 Squad { TFBot { Template T_TFBot_Giant_Heavyweapons_Shotgun_Burst } TFBot { Template T_TFBot_Medic_Shield tag bot_squad_member Item "The Well-Rounded Rifleman" } } } WaveSpawn // 20 bleed huntsman { Where spawnbot Name W5_4b TotalCount 20 MaxActive 6 SpawnCount 2 WaitForAllDead W5_3a WaitBeforeStarting 1 WaitBetweenSpawns 4 TotalCurrency 40 TFBot { Template T_TFBot_Sniper_Huntsman_Bleed Item "The Well-Rounded Rifleman" } } WaveSpawn // 30 black box { Where spawnbot Name W5_4c TotalCount 30 MaxActive 9 SpawnCount 3 WaitForAllDead W5_3a WaitBetweenSpawns 4 TotalCurrency 60 TFBot { Template T_TFBot_Soldier_RocketShotgun Item "The Well-Rounded Rifleman" } } //W5_5 //////////////////////////////////////////////////// WaveSpawn // (x2) giant critcan burst soldier + 4 uber medic { Where spawnbot_side Name W5_5a TotalCount 10 MaxActive 10 SpawnCount 5 WaitForAllDead W5_4a WaitForAllSpawned W5_4b WaitForAllSpawned W5_4c WaitBeforeStarting 6 //8 WaitBetweenSpawns 18 //20 TotalCurrency 100 Squad { TFBot { Template Raf_Giant_Soldier_Spammer_Reload_Canteen_Crits Item "The Well-Rounded Rifleman" } TFBot { Template T_TFBot_Medic_Fix tag bot_squad_member Item "The Well-Rounded Rifleman" } TFBot { Template T_TFBot_Medic_Fix tag bot_squad_member Item "The Well-Rounded Rifleman" } TFBot { Template T_TFBot_Medic_Fix tag bot_squad_member Item "The Well-Rounded Rifleman" } TFBot { Template T_TFBot_Medic_Fix tag bot_squad_member Item "The Well-Rounded Rifleman" } } } WaveSpawn // (x18) sandvich heavy + phlog pyro { Where spawnbot Name W5_5b TotalCount 36 //16 MaxActive 16 //6 SpawnCount 2 WaitForAllDead W5_4a WaitForAllSpawned W5_4b WaitForAllSpawned W5_4c WaitBeforeStarting 8 WaitBetweenSpawns 2 //4 TotalCurrency 144 //64 // TFBot // { // Template Raf_Heavyweapons_Sandvich // Item "The Well-Rounded Rifleman" // } Squad { TFBot { Template Raf_Heavyweapons_Sandvich // Item "The Well-Rounded Rifleman" } TFBot { Template Raf_Pyro_Phlog // Item "The Well-Rounded Rifleman" } } } //W5_6 //////////////////////////////////////////////////// WaveSpawn //giant burst soldier + 4 uber medic { Where spawnbot_side Name W5_6a TotalCount 5 MaxActive 5 SpawnCount 5 WaitForAllDead W5_5a WaitForAllSpawned W5_5b WaitBeforeStarting 8 WaitBetweenSpawns 20 TotalCurrency 100 Squad { TFBot { Template T_TFBot_Giant_Soldier_Spammer_Reload // Item "The Well-Rounded Rifleman" } TFBot { Template T_TFBot_Medic_Fix tag bot_squad_member Item "The Well-Rounded Rifleman" } TFBot { Template T_TFBot_Medic_Fix tag bot_squad_member Item "The Well-Rounded Rifleman" } TFBot { Template T_TFBot_Medic_Fix tag bot_squad_member Item "The Well-Rounded Rifleman" } TFBot { Template T_TFBot_Medic_Fix tag bot_squad_member Item "The Well-Rounded Rifleman" } } } WaveSpawn //giant burst soldier + 4 uber medic (spawn at same time as previous subwave, but from other side) { Where spawnbot_flank Name W5_6b TotalCount 5 MaxActive 5 SpawnCount 5 WaitForAllDead W5_5a WaitForAllSpawned W5_5b WaitBeforeStarting 8 WaitBetweenSpawns 20 TotalCurrency 100 Squad { TFBot { Template T_TFBot_Giant_Soldier_Spammer_Reload // Item "The Well-Rounded Rifleman" } TFBot { Template T_TFBot_Medic_Fix tag bot_squad_member Item "The Well-Rounded Rifleman" } TFBot { Template T_TFBot_Medic_Fix tag bot_squad_member Item "The Well-Rounded Rifleman" } TFBot { Template T_TFBot_Medic_Fix tag bot_squad_member Item "The Well-Rounded Rifleman" } TFBot { Template T_TFBot_Medic_Fix tag bot_squad_member Item "The Well-Rounded Rifleman" } } } WaveSpawn //support crit pain train and hard scout { Where spawnbot Name W5_6c TotalCount 12 MaxActive 10 SpawnCount 1 WaitForAllSpawned W5_5b WaitBeforeStarting 12 WaitBetweenSpawns 4 TotalCurrency 12 Support 1 RandomChoice { TFBot { Class Scout Skill Hard Item "The Well-Rounded Rifleman" } TFBot { Template T_TFBot_Demoknight_PainTrain_SpeedBoost Name "Crit Demotrain" Attributes AlwaysCrit } } } } //////////////////////////////////////////////////////////////////////////////////////////////// //Wave 6 //////////////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////////////// //(boss) Wave { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } Explanation //Displayed once the wave is initialized { Line "{red}[ATTENTION MANN CO. FACILITY DEFENDERS/MARTYRS]" Line "{yellow}Welcome to the final wave!" Line "{yellow}Survive this, and this area will be secure for another day!" Line "{yellow}...something big is headed this way." Line "{yellow}Good luck out there, stay sharp." } Checkpoint Yes //W6_1 //////////////////////////////////////////////////// WaveSpawn // (x2) giant critcan heavy + 4 uber medic { Where spawnbot Name W6_1a FirstSpawnWarningSound "Heavy.MVM_Revenge02" TotalCount 10 MaxActive 5 SpawnCount 5 WaitBetweenSpawns 15 //20 TotalCurrency 100 //200 Squad { TFBot { Template Raf_Giant_Heavyweapons_Canteen_Crits Item "The Well-Rounded Rifleman" } TFBot { Template T_TFBot_Medic_Fix Item "The Well-Rounded Rifleman" tag bot_squad_member } TFBot { Template T_TFBot_Medic_Fix Item "The Well-Rounded Rifleman" tag bot_squad_member } TFBot { Template T_TFBot_Medic_Fix Item "The Well-Rounded Rifleman" tag bot_squad_member } TFBot { Template T_TFBot_Medic_Fix Item "The Well-Rounded Rifleman" tag bot_squad_member } } } WaveSpawn // 40 FaN scout { Where spawnbot_invasion Name W6_1b TotalCount 40 MaxActive 12 SpawnCount 2 WaitBeforeStarting 1 WaitBetweenSpawns 1 //1.5 TotalCurrency 40 TFBot { Template T_TFBot_Scout_FAN // Name "Crit Force-A-Nature Scout" // Attributes AlwaysCrit Item "The Well-Rounded Rifleman" } } //W6_2 //////////////////////////////////////////////////// WaveSpawn //tank 32k HP { Name W6_2a FirstSpawnWarningSound "MVM.TankStart" WaitForAllDead W6_1a WaitForAllSpawned W6_1b WaitBeforeStarting 1 TotalCount 1 SpawnCount 1 TotalCurrency 100 Tank { Health 32000 Name "tankboss" Speed 75 Skin 1 StartingPathTrackNode tank_path_1 OnKilledOutput { Target boss_dead_relay Action Trigger } OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } FirstSpawnOutPut //Tank spawn text, stolen from Plunder Panic (randomguy) { Target wave_start_relay Action RunScriptCode Param " ClientPrint(null,3,`\x0799CCFF[ALERT] Final Tank deployed with 32k (32,000) HP!`) " } } WaveSpawn // (x4) giant burst critcan demo { Where spawnbot_side Name W6_2b TotalCount 4 MaxActive 4 SpawnCount 1 WaitForAllSpawned W6_2a WaitBeforeStarting 1 WaitBetweenSpawns 10 //13 TotalCurrency 80 TFBot { Template Raf_Giant_Demo_Burst_Canteen_Crits Item "The Well-Rounded Rifleman" } // Squad // { // TFBot // { // Template Raf_Giant_Demo_Burst_Canteen_Crits // Item "The Well-Rounded Rifleman" // } // TFBot // { // Template Raf_Heavyweapons_Sandvich // // tag bot_squad_member // } // TFBot // { // Template Raf_Heavyweapons_Sandvich // // tag bot_squad_member // } // TFBot // { // Template Raf_Heavyweapons_Sandvich // // tag bot_squad_member // } // TFBot // { // Template Raf_Heavyweapons_Sandvich // // tag bot_squad_member // } // } } WaveSpawn // 20 crit demo { Where spawnbot Name W6_2c TotalCount 20 MaxActive 8 SpawnCount 1 WaitForAllSpawned W6_2a WaitBeforeStarting 3 WaitBetweenSpawns 2 TotalCurrency 20 TFBot { Class Demoman Name "Crit Demo" Skill Hard Attributes AlwaysCrit Item "The Well-Rounded Rifleman" } } WaveSpawn // 16 sandvich heavy { Where spawnbot Name W6_2d TotalCount 16 MaxActive 8 SpawnCount 8 WaitForAllSpawned W6_2a WaitBeforeStarting 3 WaitBetweenSpawns 5 TotalCurrency 20 TFBot { Template Raf_Heavyweapons_Sandvich // Item "The Well-Rounded Rifleman" } } //W6_3 //////////////////////////////////////////////////// WaveSpawn // (x3) giant burst homing soldier + giant shield med { Where spawnbot_invasion Name W6_3a TotalCount 6 MaxActive 4 SpawnCount 2 WaitForAllDead W6_2b WaitForAllSpawned W6_2c WaitForAllSpawned W6_2d WaitBeforeStarting 5 WaitBetweenSpawns 15 //20 TotalCurrency 120 Squad { TFBot { Template Raf_Giant_Soldier_Spammer_Reload_Homing // Item "The Well-Rounded Rifleman" } TFBot { Template T_TFBot_Giant_Medic_Shield tag bot_squad_member Item "The Well-Rounded Rifleman" } } } WaveSpawn // 24 sandvich heavy { Where spawnbot Name W6_3b TotalCount 24 MaxActive 10 SpawnCount 1 WaitForAllDead W6_2b WaitForAllSpawned W6_2c WaitForAllSpawned W6_2d WaitBeforeStarting 8 WaitBetweenSpawns 1 TotalCurrency 40 TFBot { Template Raf_Heavyweapons_Sandvich } } WaveSpawn //crit pain train (support limited) { Where spawnbot_invasion Name W6_3c TotalCount 40 MaxActive 10 SpawnCount 1 WaitForAllDead W6_2b WaitForAllSpawned W6_2c WaitBeforeStarting 8 WaitBetweenSpawns 1 TotalCurrency 40 Support Limited TFBot { Template T_TFBot_Demoknight_PainTrain_SpeedBoost Name "Crit Demotrain" Attributes AlwaysCrit } } //W6_4 //////////////////////////////////////////////////// WaveSpawn // (x2) giant critcan heavy + 4 uber medic { Where spawnbot Name W6_4a TotalCount 10 MaxActive 5 SpawnCount 5 WaitForAllDead W6_3a WaitForAllSpawned W6_3b WaitForAllSpawned W6_3c WaitBeforeStarting 3 WaitBetweenSpawns 18 //20 TotalCurrency 100 //200 Squad { TFBot { Template Raf_Giant_Heavyweapons_Canteen_Crits Item "The Well-Rounded Rifleman" } TFBot { Template T_TFBot_Medic_Fix Item "The Well-Rounded Rifleman" tag bot_squad_member } TFBot { Template T_TFBot_Medic_Fix Item "The Well-Rounded Rifleman" tag bot_squad_member } TFBot { Template T_TFBot_Medic_Fix Item "The Well-Rounded Rifleman" tag bot_squad_member } TFBot { Template T_TFBot_Medic_Fix Item "The Well-Rounded Rifleman" tag bot_squad_member } } } WaveSpawn // 20 crit demo { Where spawnbot_side Name W6_4b TotalCount 20 MaxActive 8 SpawnCount 1 WaitForAllDead W6_3a WaitForAllSpawned W6_3b WaitForAllSpawned W6_3c WaitBeforeStarting 4 WaitBetweenSpawns 2 TotalCurrency 80 TFBot { Class Demoman Name "Crit Demo" Skill Hard Attributes AlwaysCrit Item "The Well-Rounded Rifleman" } } //W6_5_VoiceClips //////////////////////////////////////////////////// WaveSpawn //"oi, what just happened" { Name W6_5_Voice1 where spawnbot TotalCount 0 SpawnCount 0 FirstSpawnWarningSound "Demoman.M_MVM_AutoDejectedTie02" WaitForAllDead W6_4a WaitBeforeStarting 1 } WaveSpawn //loud af noise { Name W6_5_Voice2 where spawnbot TotalCount 0 SpawnCount 0 FirstSpawnWarningSound "MVM.GiantHeavyEntrance" WaitForAllSpawned W6_5_Voice1 WaitBeforeStarting 3 } //W6_5 (BOSS) //////////////////////////////////////////////////// WaveSpawn //Spawn the big boy { Where spawnbot Name W6_5a FirstSpawnWarningSound "Demoman.M_MVM_dominationscout04" FirstSpawnMessage "{blue}Pain Train Conductor has appeared!" TotalCount 1 MaxActive 1 SpawnCount 1 WaitForAllSpawned W6_5_Voice2 WaitBeforeStarting 6 WaitBetweenSpawns 5 TotalCurrency 100 TFBot { Template Raf_Boss_Demo_Hybrid } } WaveSpawn { Name W6_5_Music where spawnbot TotalCount 0 SpawnCount 0 FirstSpawnWarningSound "#sphere-doomer-boss-music-edit.mp3" WaitForAllSpawned W6_5a WaitBeforeStarting 3 FirstSpawnOutPut { Target wave_start_relay Action RunScriptCode Param " ClientPrint(null,3,`\x0799CCFF[Now Playing: Kirby's Return to Dream Land - Vs. Sphere Doomer]`) " } } WaveSpawn // laughter, +30 FaN scouts { Where spawnbot_side Name W6_5b FirstSpawnWarningSound "Demoman.M_MVM_LaughEvil01" TotalCount 30 MaxActive 15 SpawnCount 3 WaitForAllSpawned W6_5a WaitBeforeStarting 8 WaitBetweenSpawns 2 TotalCurrency 15 TFBot { Template T_TFBot_Scout_FAN // Name "Crit Force-A-Nature Scout" // Attributes AlwaysCrit Item "The Well-Rounded Rifleman" } } WaveSpawn //more laughter + support demotrain and launcher { Where spawnbot_invasion Name W6_5c FirstSpawnWarningSound "Demoman.M_MVM_LaughEvil02" TotalCount 16 MaxActive 16 SpawnCount 4 WaitForAllSpawned W6_5b WaitBeforeStarting 10 WaitBetweenSpawns 3 TotalCurrency 0 Support 1 Squad { TFBot { Template T_TFBot_Demoknight_PainTrain_SpeedBoost Attributes AlwaysCrit Name "Crit Demotrain" } TFBot { Template T_TFBot_Demoman_Paintrain_Launcher // Attributes AlwaysCrit // Name "Crit Demotrain" } } } //SUPPORT GAUNTLET CYCLE //Every 15 seconds //Rotate between conch/buff/backup //Total wait for 1 type = 45s WaveSpawn //periodic conch gauntlet { Where spawnbot Name W6_Support1 TotalCount 5 MaxActive 3 SpawnCount 1 WaitForAllSpawned W6_1a WaitBeforeStarting 5 WaitBetweenSpawns 45 TotalCurrency 15 Support 1 TFBot { Template T_TFBot_Heavy_IronFist_Conch Item "The Well-Rounded Rifleman" } } WaveSpawn //periodic buff gauntlet { Where spawnbot Name W6_Support2 TotalCount 5 MaxActive 3 SpawnCount 1 WaitForAllSpawned W6_1a WaitBeforeStarting 20 WaitBetweenSpawns 45 TotalCurrency 15 Support 1 TFBot { Template T_TFBot_Heavy_IronFist_Buff Item "The Well-Rounded Rifleman" } } WaveSpawn //periodic backup gauntlet { Where spawnbot Name W6_Support3 TotalCount 5 MaxActive 3 SpawnCount 1 WaitForAllSpawned W6_1a WaitBeforeStarting 35 WaitBetweenSpawns 45 TotalCurrency 15 Support 1 TFBot { Template T_TFBot_Heavy_IronFist_Backup Item "The Well-Rounded Rifleman" } } } }