//Giant reverse, im gonna fucking die //By StardustSpy #base robot_standard.pop #base robot_giant.pop #base robot_stardust.pop #base reverse_timer.pop //All bots are weak //Medic can overheal //make survivability better WaveSchedule { StartingCurrency 1500 CanBotsAttackWhileInSpawnRoom no RespawnWaveTime 5 NoRomevisionCosmetics 1 // FixedRespawnWaveTime 1 // AddSentryBusterWhenDamageDealtExceeds 3000 // AddSentryBusterWhenKillCountExceeds 15 // Advanced 1 // EventPopfile Halloween // Essential stuff ReverseWinConditions 1 AllowJoinTeamBlueMax 6 AllowJoinTeamBlue 1 HumansMustJoinTeam Blue SetCreditTeam 3 SniperAllowHeadshots 1 FixedRespawnWaveTimeBlue 1 RespawnWaveTimeBlue 1 SendBotsToSpectatorImmediately 1 //keeps the populator less clogged, bot projectiles vanish on death + causes weird killcams NoMvMDeathTune 1 NoRomevisionCosmetics 1 WaveStartCountdown 5 RobotLimit 26 MaxSpectators 0 FlagEscortCountOffset 5 //BotsRandomCrit 1 // leave this off, its expert RemoveBluVelocityLimit 1 MedigunShieldDamage 1 BluPlayersAreRobots 1 SentryBusterFriendlyFire 0 SniperHideLasers 1 //ExtendedUpgradesOnly 1 SandmanStun 1 //PlayerRobotsUsePlayerAnimation 1 HealOnKillOverhealMelee 0 // if enabled the KGB breaks FixHuntsmanDamageBonus 1 //DisableUpgradeStations 1 BluHumanTeleportOnSpawn 1 FlagCarrierMovementPenalty 1 BluHumanFlagCapture 1 BluHumanFlagPickup 1 BluHumanInfiniteAmmo 1 PrecacheModel "models\props_mvm\mvm_upgrade_blu.mdl" PrecacheModel "models\weapons\c_models\c_smgpis\c_smgpis.mdl" PrecacheModel "models\props_mvm\robot_spawnpoint.mdl" PrecacheModel "models/bots/boss_bot/boss_tankred.mdl" PrecacheModel "models\bots\demo\red_sentry_buster_v2.mdl" PrecacheSound "sound\heavy_mvm_comingforyou.mp3" //PrecacheModel "models\weapons\c_models\c_sawwedoff_shotgun\c_sawwedoff.mdl" DisallowUpgrade "falling_impact_radius_stun" DisallowUpgrade "uber duration bonus" DisallowUpgrade "generate rage on heal" DisallowUpgrade "maxammo primary increased" //players have infinite ammo DisallowUpgrade "maxammo secondary increased" //players have infinite ammo DisallowUpgrade "maxammo metal increased" //players have infinite ammo DisallowUpgrade "metal regen" //////////////////////////////////////////BALANCING ////////////////////////////////////////////// ItemBlacklist // no canteens { Name "Kritz Or Treat Canteen" Name "Default Power Up Canteen (MvM)" Name "Power Up Canteen (MvM)" Name "Battery Canteens" Name "Zombie Scout" Name "Zombie Pyro" Name "Zombie Soldier" Name "Zombie Heavy" Name "Zombie Demo" Name "Zombie Engineer" Name "Zombie Medic" Name "Zombie Spy" Name "Zombie Sniper" } ItemWhitelist //Only allows to use specified weapons below { //MULTICLASS //Itemname "TF_WEAPON_SHOTGUN_PYRO" //Itemname "TF_WEAPON_SHOTGUN_SOLDIER" Itemname "TF_WEAPON_SHOTGUN_HWG" ///scout Itemname "TF_WEAPON_SCATTERGUN" Itemname "The Soda Popper" Itemname "The Force-a-Nature" Itemname "TF_WEAPON_PISTOL" //Itemname "The Holy Mackeral" //soldier Itemname "TF_WEAPON_ROCKETLAUNCHER" Itemname "Upgradeable TF_WEAPON_ROCKETLAUNCHER" Itemname "The Beggar's Bazooka" Itemname "The Original" Itemname "The Black Box" //Itemname "the air strike" Itemname "The Buff Banner" Itemname "The Concheror" Itemname "The Battalion's Backup" Itemname "The Disciplinary Action" //pyro Itemname "TF_WEAPON_FLAMETHROWER" Itemname "The Dragon's Fury" Itemname "The Phlogistinator" Itemname "The Powerjack" Itemname "The gas passer" Itemname "the thermal thruster" //demoman Itemname "TF_WEAPON_GRENADELAUNCHER" Itemname "The Loose Cannon" //Itemname "Ali Baba's wee booties" //Itemname "TF_WEAPON_PIPEBOMBLAUNCHER" // Itemname "The Scottish Resistance" //Itemname "The Chargin' Targe" //Itemname "The Splendid Screen" //Itemname "The Eyelander" //heavy Itemname "TF_WEAPON_MINIGUN" // Itemname "The Brass Beast" Itemname "The Huo Long Heatmaker" Itemname "TF_WEAPON_SHOTGUN_HWG" Itemname "The Killing Gloves of Boxing" //engi Itemname "TF_WEAPON_SHOTGUN_PRIMARY" Itemname "The Frontier Justice" Itemname "The Widowmaker" Itemname "The Rescue Ranger" Itemname "The Wrangler" Classname "TF_WEAPON_WRENCH" //Itemname "The Gunslinger" Itemname "TF_WEAPON_PDA_ENGINEER_DESTROY" Itemname "TF_WEAPON_PDA_ENGINEER_BUILD" Itemname "TF_WEAPON_BUILDER" //medic Itemname "The Quick-Fix" Classname "TF_WEAPON_SYRINGEGUN_MEDIC" Itemname "The Crusador's Crossbow" //classname "tf_weapon_medigun" //sniper Itemname "TF_WEAPON_SNIPERRIFLE" Classname "TF_WEAPON_CLUB" Classname "TF_WEAPON_COMPOUND_BOW" //spy Itemname "TF_WEAPON_PDA_SPY" Classname "TF_WEAPON_KNIFE" Itemname "TF_WEAPON_INVIS" Itemname "the cloak and dagger" Classname "tf_weapon_revolver" } PlayerAttributes //Player attributes appied for the whole mission { "mult_patient_overheal_penalty_active" 0 "patient overheal penalty" 0 "cancel falling damage" 1 Scout { "is miniboss" 1 "max health additive bonus" 1475 "damage force reduction" 0.7 "airblast vulnerability multiplier" 0.7 "override footstep sound set" 0 "health from packs decreased" 0.5 "cannot upgrade" 1 "voice pitch scale" 0.7 } Soldier //Attributes limited to soldier only { "is miniboss" 1 "max health additive bonus" 3800 "move speed penalty" 0.5 "damage force reduction" 0.3 "airblast vulnerability multiplier" 0.3 "override footstep sound set" 0 "health from packs decreased" 0.5 "boots falling stomp" 1 "voice pitch scale" 0.7 "no_duck" 1 "cannot upgrade" 1 //"no_jump" 1 } Pyro //Attributes limited to soldier only { "is miniboss" 1 "cannot upgrade" 1 "max health additive bonus" 3125 "move speed penalty" 0.5 "voice pitch scale" 0.7 "damage force reduction" 0.6 "airblast vulnerability multiplier" 0.6 "override footstep sound set" 0 "health from packs decreased" 0.5 "boots falling stomp" 1 "no_duck" 1 //"no_jump" 1 } Demoman //Attributes limited to soldier only { "is miniboss" 1 "max health additive bonus" 3150 "move speed penalty" 0.5 "damage force reduction" 0.4 "voice pitch scale" 0.7 "airblast vulnerability multiplier" 0.4 "override footstep sound set" 0 "boots falling stomp" 1 "no_duck" 1 "cannot upgrade" 1 //"no_jump" 1 "health from packs decreased" 0.5 "special item description" "If you cannot use any weapons, change your loadout to full Demoman" } Heavyweapons //Attributes limited to soldier only { "is miniboss" 1 "max health additive bonus" 4700 "move speed penalty" 0.5 "voice pitch scale" 0.7 "damage force reduction" 0.2 "airblast vulnerability multiplier" 0.2 "override footstep sound set" 0 "boots falling stomp" 1 "no_duck" 1 //"no_jump" 1 "cannot upgrade" 1 "health from packs decreased" 0.5 } Engineer { "max health additive bonus" 1075 "engineer sentry build rate multiplier" 2 } Medic { "dmg taken from crit reduced" 0.1 "max health additive bonus" 550 } Sniper { "dmg taken from crit reduced" 0.1 "max health additive bonus" 575 } Spy { "dmg taken from crit reduced" 0.1 "max health additive bonus" 575 } } //MULTICLASS ItemAttributes { Itemname "TF_WEAPON_SHOTGUN_HWG" "bullets per shot bonus" 10 "fire rate penalty" 2.5 "faster reload rate" 0.1 "damage penalty" 0.5 "move speed bonus" 1.2 "provide on active" 1 } //SCOUT ItemAttributes { Itemname "The Soda Popper" "damage bonus" 1.75 "effect cond override" 16 "special item description" "Gives Minicrit's instead of multi-jump." } ItemAttributes { Itemname "TF_WEAPON_SCATTERGUN" "damage bonus" 2 } ItemAttributes { Itemname "The Force-a-Nature" "scattergun has knockback" 0 "fire rate bonus" 1 "bullets per shot bonus" 2.5 "weapon spread bonus" 0.2 "projectile penetration" 1 } ItemAttributes { Classname "TF_WEAPON_PISTOL" "bullets per shot bonus" 3 "spread penalty" -1 "fire rate penalty" 1.2 "Reload time increased" 0.8 "projectile penetration" 1 } //SOLDIER ItemAttributes { Itemname "TF_WEAPON_ROCKETLAUNCHER" "faster reload rate" -0.8 "fire rate bonus" 0.5 //"increase buff duration" 0 "provide on active" 1 } ItemAttributes { Itemname "The Beggar's Bazooka" "faster reload rate" 0.6 "fire rate bonus" 0.1 "clip size upgrade atomic" 5.0 "Projectile speed decreased" 0.65 "auto fires full clip" 0 "can overload" 0 "reload full clip at once" 1 "Reload time increased" 6 //"increase buff duration" 0 "provide on active" 1 "reload time increased hidden" 1 "fire rate bonus HIDDEN" 1 } ItemAttributes { Itemname "The Original" //"increase buff duration" 0 "provide on active" 1 "critboost on kill" 10 "damage bonus" 2 //"fists have radial buff" 1 "add cond on kill" 7450 "add cond on kill duration" 5 "special item description" "On Kill: Grants Battalion + Conch effect for 5 seconds" } ItemAttributes { Itemname "The Black Box" // "increase buff duration" 0 "provide on active" 1 "fire rate bonus" 0.001 "reload time increased" 3.2 "reload full clip at once" 1 "blast radius increased" 1.25 //"Projectile speed increased" 0.4 "projectile spread angle penalty" 4 "health on radius damage" 435 "heal on kill" 1000 } ItemAttributes { ItemName "The Battalion's Backup" "max health additive bonus" 0 //"increase buff duration" 2 } ItemAttributes { ItemName "The Concheror" "health regen" 0 //"effect cond override" 32 //"special item description" "No longer grants heal on hit." //"increase buff duration" 2 } ItemAttributes { ItemName "The Buff Banner" //"increase buff duration" 2 } ItemAttributes { ItemName "Festive Buff Banner" //"increase buff duration" 2 } //Pyro ItemAttributes { Itemname "TF_WEAPON_FLAMETHROWER" "damage bonus" 2 "airblast dashes" 1 "lunchbox adds minicrits" 2 "heal on hit for rapidfire" 10 "mult airblast primary refire time" 0.2 "airblast pushback scale" 10 "special item description" "Airblasting will push the user in the direction they are walking instead of enemies." } ItemAttributes { Itemname "The Dragon's Fury" "crit vs burning players" 1 "heal on kill" 750 } ItemAttributes { Itemname "The Phlogistinator" // wm1 "damage bonus" 2 "heal on hit for rapidfire" 10 "move speed bonus" 1.15 } ItemAttributes { Itemname "The Gas Passer" "explode_on_ignite" 1 "item_meter_damage_for_full_charge" 15000 "max health additive penalty" -300 } //Demo ItemAttributes { Itemname "Ali Baba's wee booties" //"move speed bonus" 1.3 "max health additive bonus" 0 } ItemAttributes { Itemname "TF_WEAPON_GRENADELAUNCHER" "fire rate bonus" 0.15 "reload time increased" 5.8 "clip size bonus" 4.5 "max health additive penalty" -325 "maxammo primary increased" 1.2 //"charge time decreased" -3 "Projectile speed increased" 1.5 "reload full clip at once" 1 //"fire full clip at once" 1 "special item description" "No shields while equipped." } ItemAttributes { Itemname "The Loose Cannon" "grenade launcher mortar mode" 0 "reload time increased" 3.8 "reload full clip at once" 1 "fire rate penalty" 2 "clip size penalty" 0.5 "projectile spread angle penalty" 2 "damage bonus" 2 "fuse bonus" 0.1 "always crit" 1 //"charge time decreased" -3 "special item description" "No Shields while equipped." "blast radius increased" 1.5 //"use large smoke explosion" 1 } ItemAttributes { Itemname "The Chargin' Targe" "charge time Increased" 1.5 //"move speed penalty" 0.5 "special item description" "No Grenade launchers while equipped." } ItemAttributes { Itemname "The Splendid Screen" "charge time Increased" 1.5 //"move speed penalty" 0.5 "attack not cancel charge" 1 "special item description" "No Grenade launchers while equipped." } //Heavy ItemAttributes { Itemname "TF_WEAPON_MINIGUN" "damage bonus" 1.5 "mod minigun can holster while spinning" 1 //"attack projectiles" 2 } //ItemAttributes //{ // Itemname "The Brass Beast" // "explosive bullets" 67 // "damage bonus" 1.3 //} ItemAttributes { Itemname "The Huo Long Heatmaker" "damage bonus" 1.35 "damage bonus vs burning" 1.30 "mod minigun can holster while spinning" 1 } ItemAttributes { Itemname "The Killing Gloves of Boxing" "critboost on kill" 0 "fire rate penalty" 1 "minicritboost on kill" 5 "speed_boost_on_kill" 7 "damage bonus" 1.2 "fire rate bonus" 0.6 "heal on kill" 500 } //Engie ItemAttributes { Itemname "The Frontier Justice" "always crit" 1 "bullets per shot bonus" 2 "fire rate penalty" 1.5 } //ItemAttributes //{ // Itemname "TF_WEAPON_WRENCH" // "reveal disguised victim on hit" 1 //} ItemAttributes { Itemname "The Gunslinger" "max health additive bonus" 600 "engy building health bonus" 2 "move speed penalty" 0.8 "override footstep sound set" 0 //"no_duck" 1 "head scale" 0.7 //"building max level" 2 } //Medic ItemAttributes { Itemname "The Quick-fix" "heal rate bonus" 5 "ubercharge rate penalty" 0.001 "uber duration bonus" -8 //"medigun passive attributes owner" "mark for death|1|mod_maxhealth_drain_rate|20" } //Sniper ItemAttributes { Classname "TF_WEAPON_SNIPERRIFLE" //"explosive sniper shot" 3 "aiming no flinch" 1 } ItemAttributes { Itemname "The Huntsman" "max health additive bonus" 2875 "mult dmg vs giants" 2.5 "faster reload rate" 0.4 "head scale" 0.7 "is miniboss" 1 "damage force reduction" 0.8 "airblast vulnerability multiplier" 0.8 "move speed penalty" 0.7 } //Spy ItemAttributes { Classname "TF_WEAPON_KNIFE" "provide on active" 1 "cannot pick up intelligence" 1 } //MISC ItemAttributes { Itemname "Rocket Jumper" "reload full clip at once" 1 } //////////////////////////////////////////NEW WEAPONS /////////////////////////////////////////////////////////// CustomWeapon //Allows you to use an alias for items with custom attributes { //Scout "Super Scout" { OriginalItemName "The Holy Mackerel" "max health additive penalty" -400 "move speed bonus" 1.3 "no double jump" 1 "provide on active" 1 "override footstep sound set" 5 "no_duck" 1 } "Armor League Scout" { OriginalItemName "The Sandman" "max health additive bonus" 1400 "always crit" 1 "damage bonus" 2 "max health additive penalty" 0 "effect bar recharge rate increased" 0.05 } "Cleaver Scout" { OriginalItemName "The Flying Guillotine" "dmg penalty vs players" 8.844 "always crit" 1 "damage bonus" 8.844 "move speed penalty" 0.8 } "True Full Auto" { OriginalItemName "upgradeable TF_WEAPON_PISTOL" "custom item model" "models\weapons\c_models\c_smgpis\c_smgpis.mdl" "clip size bonus" 4.15 "burst fire count" -5 "burst fire rate mult" 3 "damage bonus" 2.5 "critboost on kill" 5 "maxammo secondary increased" 2 "reload time increased" 2 "projectile penetration" 1 } //Soldier "Supporter's Launcher" { OriginalItemName "Upgradeable TF_WEAPON_ROCKETLAUNCHER" "increase buff duration" 2 "move speed bonus" 1.3 "damage bonus" 1.5 "paintkit_proto_def_index" 210 "set_item_texture_wear" 0.2 } "Colonel Barrage" { OriginalItemName "Upgradeable TF_WEAPON_ROCKETLAUNCHER" "clip size upgrade atomic" 16.0 "reload time increased" 7 "health regen" 40 "reload full clip at once" 1 "max health additive penalty" -1000 "damage bonus" 1.5 "Projectile speed decreased" 0.4 "fire rate bonus" 0.2 "projectile spread angle penalty" 5 "paintkit_proto_def_index" 307 "set_item_texture_wear" 0.2 } "The Chernobyl Accident" { OriginalItemName "The Black Box" "set damagetype ignite" 1 "bleeding duration" 10 "use large smoke explosion" 1 "damage bonus" 1.5 "always crit" 1 "health on radius damage" 0 "blast radius increased" 1.8 //"increase buff duration" 0 "clip size penalty" 0.25 "reload time increased" 2.8 "paintkit_proto_def_index" 59 "set_item_texture_wear" 0.2 } "Gargantu-Jumper" // Players jump high, dodge projectiles and rain hell { OriginalItemName "The Air Strike" "blast radius increased" 1.2 "blast radius decreased" 1 "increased jump height" 3 "increased air control" 7 "clip size bonus" 2 "damage bonus" 1.5 "Faster reload rate" 0.2 //"rocket specialist" 3 "projectile spread angle penalty" 3 "special item description" " Deploy the B.A.S.E. Jumper to get a firing speed bonus!" } "The Robo-Runners Soldier" { OriginalItemName "The Teufort Tooth Kicker" "move speed bonus" 1.35 "max health additive penalty" -1000 } //Pyro "The Robo-Runners Pyro" { OriginalItemName "The Teufort Tooth Kicker" "move speed bonus" 1.35 "max health additive penalty" -500 } "Burst Flare Pyro" { OriginalItemName "The Flare gun" "paintkit_proto_def_index" 307 "set_item_texture_wear" 0.2 "mult projectile count" 6 "projectile speed decreased" 0.3 "projectile spread angle penalty" 2 "damage bonus" 2 } "Rapid Flare Pyro" { OriginalItemName "The Flare gun" "paintkit_proto_def_index" 165 "set_item_texture_wear" 0.2 "faster reload rate" 0.2 "fire rate bonus" 0.65 "damage bonus" 2 "switch from wep deploy time decreased" 0.5 } "The Tank Commander" { OriginalItemName "The Scorch Shot" "mod flaregun fires pellets with knockback" 0 "minicrit vs burning player" 0 "damage penalty" 1 "self dmg push force decreased" 1 "override projectile type" 2 "blast radius increased" 1.5 "damage bonus" 3 "faster reload rate" 0.7 "always crit" 1 } //Demo "Rapid Launcher" { OriginalItemName "Upgradeable TF_WEAPON_GRENADELAUNCHER" "faster reload rate" -0.8 "fire rate bonus" 0.55 //"mult projectile count" 3 "paintkit_proto_def_index" 217 "set_item_texture_wear" 0.2 //"fire rate bonus with reduced health" 0.5 } "Burst Launcher" { OriginalItemName "Upgradeable TF_WEAPON_GRENADELAUNCHER" "reload time increased" 3.65 "fire rate bonus" 0.1 "clip size upgrade atomic" 3.0 "projectile spread angle penalty" 5 "Projectile speed increased" 1.1 //"mult projectile count" 3 "paintkit_proto_def_index" 214 "reload full clip at once" 1 "move speed bonus" 1.12 "set_item_texture_wear" 0.2 } "Demoknight" { OriginalItemName "The Eyelander" "critboost on kill" 7.5 "damage bonus" 3 "move speed bonus" 1.3 "max health additive penalty" 0 "max health additive bonus" 675 "special item description" "Equip's Ali Baba's Wee Booties and the Chargin' Targe. Continue to charge even after swinging the weapon." "provide on active" 1 "disable weapon switch" 1 "attack not cancel charge" 1 } "HHH" { OriginalItemName "The Horseless Headless Horseman's Headtaker" "damage bonus" 2 } //heavy "The Deflector" { OriginalItemName "Deflector" "damage bonus" 1.35 //"heal on kill" 2000 "attack projectiles" 2 "attach particle effect" 702 } //Medic "Quick-Uber Medigun" { OriginalItemName "upgradeable tf_weapon_medigun" "ubercharge rate bonus" 6 "uber duration bonus" -3 "paintkit_proto_def_index" 214 //"reload full clip at once" 1 "max health additive penalty" -200 } "Ubercharger" { OriginalItemName "upgradeable tf_weapon_medigun" "ubercharge rate bonus" 2 "heal rate bonus" 2 "paintkit_proto_def_index" 218 "special item description" "Start with a full Ubercharge every time you respawn. If you dont have a full charge upon spawning, unequip then equip this weapon again." } //Sniper } ExtraLoadoutItems // Extra loadout items available after typing !missionitems in chat { Scout { Melee "Super Scout" Melee "Armor League Scout" Secondary "True Full Auto" Secondary "Cleaver Scout" } Soldier // Player Class { Primary "Supporter's Launcher" Primary "The Chernobyl Accident" Primary "Gargantu-Jumper" //Primary "Colonel Barrage" //Secondary "The B.A.S.E. Jumper" Misc "The Robo-Runners Soldier" } Pyro { Misc "The Robo-Runners Pyro" Secondary "Burst Flare Pyro" Secondary "Rapid Flare Pyro" Secondary "The Tank Commander" } Demoman { Primary "Rapid Launcher" Primary "Burst Launcher" Melee "Demoknight" //Melee "HHH" } Heavyweapons { Melee "Gloves of Running Urgently MvM" Primary "The Deflector" } //Medic //{ // Secondary "Quick-Uber Medigun" // Primary "Rocket Jumper" // Secondary "Ubercharger" //} } //////////////////////////////////////////BOT TEMPLATES ////////////////////////////////////////////////////////// Templates { //Scout T_TFBot_Giant_Scout_FAN_Reverse // high movement speed, melee only { Class Scout Name "Force-a-Nature Super Scout" ClassIcon scout_fan_giant Skill Expert Item "The Fed-Fightin' Fedora" Item "The Bolt Boy" Item "The Force-a-Nature" Health 800 Attributes MiniBoss Attributes HoldFireUntilFullReload Skill Expert MaxVisionRange 1200 ItemAttributes { ItemName "The Force-a-Nature" //"clip size bonus" 2 "bullets per shot bonus" 5 "fire rate bonus" 0.5 "faster reload rate" 1.7 "scattergun knockback mult" 6 "damage penalty" 0.1 "weapon spread bonus" 0.4 } CharacterAttributes { "move speed bonus" 1.1 "damage force reduction" 0.7 "airblast vulnerability multiplier" 0.7 "override footstep sound set" 5 } } T_TFBot_Scout_FAN_rev { Class Scout Skill Expert ClassIcon scout_fan Name "Force-A-Nature Scout" Item "The Fed-Fightin' Fedora" Item "The Bolt Boy" Item "The Force-a-Nature" MaxVisionRange 500 ItemAttributes { ItemName "The Force-a-Nature" "faster reload rate" 2.8 "scattergun knockback mult" 2.5 "bullets per shot bonus" 4 "damage penalty" 0.2 } } //Soldier T_TFBot_Soldier_TapBeggar { Name "Tap-Beggar Soldier" Class Soldier ClassIcon soldier_burstfire Skill Hard MaxVisionRange 800 Attributes SpawnWithFullCharge Attributes AlwaysFireWeapon Item "The Buff Banner" Item "The Beggar's Bazooka" ItemAttributes { ItemName "The Beggar's Bazooka" "damage bonus" 1.2 "fire rate bonus" 0.6 "faster reload rate" 0.4 "auto fires full clip" 0 "no self blast dmg" 1 "can overload" 0 "clip size penalty" 0.25 } } T_TFBot_Giant_Soldier_Blast_Reverse { Class Soldier Skill Expert WeaponRestrictions PrimaryOnly Item "The Liberty Launcher" ClassIcon soldier_libertylauncher_giant Attributes MiniBoss Attributes HoldFireUntilFullReload Name "Giant Blast Soldier" Health 4000 ItemAttributes { ItemName "The Liberty Launcher" "damage causes airblast" 1 "damage penalty" 0.40 "fire rate bonus" 0.00001 "clip size upgrade atomic" 14 "faster reload rate" 0.3 "Blast radius increased" 1.2 "projectile spread angle penalty" 2 "airblast pushback scale" 2 "airblast vertical pushback scale" 5 // "Projectile speed increased" 0.75 } CharacterAttributes { "move speed bonus" 0.5 "override footstep sound set" 3 "damage force reduction" 0.4 "airblast vulnerability multiplier" 0.4 "airblast vertical vulnerability multiplier" 0.1 } } //Pyro T_TFBot_Boss_Pyro_BlackHole { Class Pyro Health 30000 Name "TON 618 Black Hole Pyro" ClassIcon pyro_snare MaxVisionRange 500 Skill Expert Attributes MiniBoss Attributes UseBossHealthBar Attributes AlwaysFireWeapon WeaponRestrictions MeleeOnly Item "TF_WEAPON_FLAMETHROWER" Item "The MK 50" ItemAttributes { ItemName "TF_WEAPON_FLAMETHROWER" "is_passive_weapon" 1 "apply look velocity on damage" -100 "lunchbox adds minicrits" 2 "airblast disabled" 1 "flame size bonus" 1.3 "flame life bonus" 1.3 "flame_speed" 4000 "flame_drag" 2.1 "flame_reflect_on_collision" 1.5 "damage penalty" 0.01 "afterburn duration penalty" 0.01 "weapon burn dmg reduced" 0.001 } ItemAttributes { ItemName "tf_weapon_fireaxe" "fire rate bonus" 0.5 "crit vs burning players" 1 "damage bonus" 2 "dmg bonus vs buildings" 2 } ItemAttributes { ItemName "The MK 50" "set item tint RGB" 1315860 "attach particle effect" 32 } CharacterAttributes { "move speed bonus" 0.35 "damage force reduction" 0.2 "airblast vulnerability multiplier" 0.2 "override footstep sound set" 3 "rage giving scale" 0.1 "gesture speed increase" 100 } } T_TFBot_Giant_Pyro_Crit { Name "Giant Crit Pyro" Class Pyro ClassIcon pyro_scorch Scale 1.75 Health 3000 Attributes MiniBoss Attributes AlwaysCrit Skill Expert MaxVisionRange 2000 WeaponRestrictions SecondaryOnly Tag bot_giant Item "The Scorch Shot" Item "The Flamboyant Flamenco" ItemAttributes { ItemName "The Scorch Shot" "mod flaregun fires pellets with knockback" 0 "projectile speed decreased" 0.5 "damage bonus" 2 "fire rate penalty" 1.3 } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.6 "airblast vulnerability multiplier" 0.6 "override footstep sound set" 6 // 5=Scout,3=Soldier,6=Pyro,4=Demoman,2=Heavy,7=Buster } } //Demo T_TFBot_Chief_Demo_Atomic_Fixed { Class Demoman Name "Grand Nukesalot" ClassIcon demo_giant Health 70000 Scale 2.5 Skill Expert WeaponRestrictions PrimaryOnly Item "The Loose Cannon" Attributes MiniBoss Attributes UseBossHealthBar Attributes HoldFireUntilFullReload Attributes AlwaysCrit Item "The Bomber Knight" AimLeadProjectileSpeed 1 UseMeleeThreatPrioritization 1 ItemAttributes { ItemName "The Loose Cannon" "grenade launcher mortar mode" 0 "fire rate penalty" 2 "fuse bonus" 0.5 "projectile spread angle penalty" 2 "damage bonus" 7 "blast radius increased" 1.8 "use large smoke explosion" 1 } CharacterAttributes { "move speed bonus" 0.35 "damage force reduction" 0.4 "airblast vulnerability multiplier" 0.4 "override footstep sound set" 4 "rage giving scale" 0.1 } } T_TFBot_Demoknight_Caber_Hybrid { Name "Caber Hybrid" Class Demoman ClassIcon demo_caber Action Sniper Skill Expert MaxVisionRange 1200 Item "Blast Defense" Item "Blast Blocker" Item "The Ullapool Caber" Item "The Splendid Screen" Item "The Loch-n-Load" ItemAttributes { ItemName "The Ullapool Caber" "regenerate stickbomb" 1 "always crit" 1 "fire rate penalty" 1.5 "single wep deploy time increased" 1 } } T_TFBot_Demoman_Scottish { Name "Scottish Resistence Demo" Class Demoman ClassIcon demo_sticky_red_daan Skill Hard MaxVisionRange 1200 WeaponRestrictions SecondaryOnly Item "The Scottish Resistance" AimAt Head FireWeapon //Periodically fires weapon { Delay 10 Cooldown 10 Repeats 99999 IfSeeTarget 1 Duration 1 Type "Secondary" } ItemAttributes { ItemName "The Scottish Resistance" "stickybomb charge rate" 0.001 "projectile range increased" 0.6 "clip size bonus" 1.75 "damage bonus" 1.2 "sticky detonate mode" 0 "custom projectile model" "models/weapons/w_models/w_stickybomb_d.mdl" } } T_TFBot_Giant_Demoman_Hybrid { Name "Giant Hybrid Knight" Class Demoman ClassIcon demoknight_grenade Scale 1.7 Health 3300 Attributes MiniBoss Attributes HoldFireUntilFullReload Skill Expert MaxVisionRange 1200 Tag bot_giant Action Sniper Item "Prince Tavish's Crown" Item "Upgradeable TF_WEAPON_GRENADELAUNCHER" Item "The Chargin' Targe" Item "The Eyelander" ItemAttributes { Itemname "Upgradeable TF_WEAPON_GRENADELAUNCHER" "fire rate bonus" 0.5 } ItemAttributes { ItemName "The Eyelander" "critboost on kill" 5 "is_a_sword" 0 "melee range multiplier" 1.37 } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.4 "airblast vulnerability multiplier" 0.4 "override footstep sound set" 4 // 5=Scout,3=Soldier,6=Pyro,4=Demoman,2=Heavy,7=Buster } } //Heavy T_TFBot_Heavy_Brass_2cities { Name "Brass Heavy" Class Heavyweapons ClassIcon heavy_brass_nys Skill Easy MaxVisionRange 1200 WeaponRestrictions PrimaryOnly Item "The Brass Beast" ItemAttributes { Itemname "The brass beast" "fire rate bonus" 0.6 } } T_TFBot_Heavy_Buff { Name "Buff Heavy" Class Heavyweapons ClassIcon heavy_buff_litho Attributes SpawnWithFullCharge Skill Normal MaxVisionRange 1200 Item "The buff banner" ItemAttributes { ItemName "the buff banner" "increase buff duration" 10 } } T_TFBot_Chief_Heavyweapons_Fix { Class Heavyweapons Name "Rewired Mannhatten Heavy" ClassIcon heavy_deflector_healonkill Skill Expert Item "The Tungsten Toque" Item "Tomislav" Health 80000 Scale 3 MaxVisionRange 1600 Attributes UseBossHealthBar WeaponRestrictions PrimaryOnly Attributes MiniBoss AimAt Head ItemAttributes { ItemName "Tomislav" "damage bonus" 1.5 "can headshot" 1 "fire rate bonus" 0.6 "fire rate penalty" 1 "weapon spread bonus" 1.7 "explosive sniper shot" 1 "attack projectiles" 2 "is australium item" 1 "item style override" 1 "heal on kill" 4000 } CharacterAttributes { "move speed bonus" 0.4 "damage force reduction" 0.3 "airblast vulnerability multiplier" 0.4 "airblast vertical vulnerability multiplier" 0.1 "rage giving scale" 0.9 "dmg from melee increased" 6 "override footstep sound set" 2 } } //Engineer T_TFBot_Engineer_Wrangler { Class Engineer Health 600 ClassIcon engineer_wrangler_lite Name "Cybernetic Controller" Item "The Wrangler" Item "Dead'er Alive" Item "Iron Lung" Item "Head Mounted Double Observatory" Item "The Jag" StripItemSlot 0 Skill Expert Attributes DisableDodge Item "Battery Canteens" ItemAttributes { Itemname "Battery Canteens" "building instant upgrade" 1 "powerup charges" 1 } ItemAttributes { Itemname "The Wrangler" "disable weapon switch" 1 } CharacterAttributes { "engineer sentry build rate multiplier" 10 "force distribute currency on death" 1 "cannot pick up buildings" 1 "mvm sentry ammo" 20 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } T_TFBot_Engineer_FragCircuit { Name "Panic Circuit Engineer" Class Engineer ClassIcon engineer_shortcircuit_lite Scale 1 Health 500 Scale 1.3 Skill Hard MaxVisionRange 800 Item "The Gunslinger" Item "The Virtual Viewfinder" Item "Iron Lung" ItemAttributes { Itemname "The Virtual Viewfinder" "attach particle effect" 13 // burning } ChangeAttributes //Periodically changes bot attributes, defined in EventChangeAttributes { Delay 0.5 Cooldown 1.5 Repeats 9999 IfSeeTarget 0 Name "Attr1" } ChangeAttributes //Periodically changes bot attributes, defined in EventChangeAttributes { Delay 1.5 Cooldown 1.65 Repeats 9999 IfSeeTarget 0 Name "Attr2" } EventChangeAttributes { Attr1 { WeaponRestrictions PrimaryOnly Item "Panic Attack Shotgun" ItemAttributes { Itemname "Panic Attack Shotgun" "faster reload rate" -0.5 } } Attr2 { Item "The Short Circuit" ExtAttr AlwaysFireWeaponAlt ExtAttr TargetStickies WeaponRestrictions SecondaryOnly } } } //Medic T_TFBot_Giant_Medic_CrossBurst { Name "Giant Crossbow Medic" Class Medic ClassIcon medic_crossbow_burst Scale 1.75 Health 4500 Attributes MiniBoss Skill Expert MaxVisionRange 1500 WeaponRestrictions PrimaryOnly Tag bot_giant Item "Berliner's Bucket Helm" Item "Festive Crusader's Crossbow" ItemAttributes { ItemName "Festive Crusader's Crossbow" "mult projectile count" 6 "fire rate bonus" 0.001 //"reload time increased" 3 "projectile spread angle penalty" 2 } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.3 "airblast vulnerability multiplier" 0.3 } } T_TFBot_Giant_Medic_Vaccinator_Bullet_Reverse { Name "Giant Bullet Medic" Class Medic ClassIcon medic_bullet_giant Scale 1.75 Health 4500 Attributes MiniBoss Attributes SpawnWithFullCharge Attributes IgnoreEnemies Attributes VaccinatorBullets Skill Expert Item "The Vaccinator" WeaponRestrictions SecondaryOnly ItemAttributes { ItemName "The Vaccinator" "medigun charge is resists" 3 "medigun bullet resist passive" 0.75 "medigun bullet resist deployed" 0.75 "mod weapon blocks healing" 1 } CharacterAttributes { "move speed bonus" 0.5 "voice pitch scale" 0 "bot medic uber health threshold" 9999 "damage force reduction" 0.5 "airblast vulnerability multiplier" 0.5 } } T_TFBot_Giant_Medic_Vaccinator_Blast_Reverse { Name "Giant Blast Medic" Class Medic ClassIcon medic_blast_giant Scale 1.75 Health 4500 Attributes MiniBoss Attributes SpawnWithFullCharge Attributes IgnoreEnemies Attributes VaccinatorBlast Skill Expert Item "The Vaccinator" WeaponRestrictions SecondaryOnly ItemAttributes { ItemName "The Vaccinator" "medigun charge is resists" 4 "medigun bullet resist passive" 0.75 "medigun bullet resist deployed" 0.75 "mod weapon blocks healing" 1 } CharacterAttributes { "move speed bonus" 0.5 "voice pitch scale" 0 "bot medic uber health threshold" 9999 "damage force reduction" 0.5 "airblast vulnerability multiplier" 0.5 } } T_TFBot_Giant_Medic_Vaccinator_Fire_Reverse { Name "Giant Fire Medic" Class Medic ClassIcon medic_fire_giant Scale 1.75 Health 4500 Attributes MiniBoss Attributes SpawnWithFullCharge Attributes IgnoreEnemies Attributes VaccinatorFire Skill Expert Item "The Vaccinator" WeaponRestrictions SecondaryOnly ItemAttributes { ItemName "The Vaccinator" "medigun charge is resists" 5 "medigun bullet resist passive" 0.75 "medigun bullet resist deployed" 0.75 "mod weapon blocks healing" 1 } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.5 "voice pitch scale" 0 "bot medic uber health threshold" 9999 "airblast vulnerability multiplier" 0.5 } } //Sniper T_TFBot_Sniper_Hitmans { Name "Heatmaker Sniper" Class Sniper ClassIcon sniper Attributes SpawnWithFullCharge Skill Normal MaxVisionRange 2000 WeaponRestrictions PrimaryOnly Action Sniper Item "The Hitman's Heatmaker" Item "The Cozy Camper" FireWeapon //Periodically fires weapon { Repeats 0 IfSeeTarget 1 Duration 0.5 Type "Reload" } ItemAttributes { ItemName "The Hitman's Heatmaker" "faster reload rate" 0.6 "explosive sniper shot" 3 } } //Spy T_TFBot_Spy_Giantkiller { Name "Spy" Class Spy ClassIcon spy Skill Expert MaxVisionRange 2000 Item "Upgradeable TF_WEAPON_KNIFE" ItemAttributes { ItemName "Upgradeable TF_WEAPON_KNIFE" "armor piercing" 100 "fire rate bonus" 0.8 } } T_TFBot_Spy_Infinite { Name "Rapid Revolver Spy" Class Spy ClassIcon spy_revolver_infinite Scale 1.2 Health 200 Skill Normal MaxVisionRange 800 WeaponRestrictions PrimaryOnly AimTrackingInterval 0.1 Item "Upgradeable TF_WEAPON_REVOLVER" ItemAttributes { ItemName "Upgradeable TF_WEAPON_REVOLVER" "fire rate bonus" 0.6 "faster reload rate" -0.8 } } } //////////////////////////////////////////POINT TEMPLATES /////////////////////////////////////////////////////////// PointTemplates { UpgradeStation { NoFixup 1 //MAIN prop_dynamic { "angles" "0 270 0" "model" "models\props_mvm\mvm_upgrade_blu.mdl" "modelscale" "1.0" "rendercolor" "255 255 255" "solid" "2" "targetname" "upgradestation" "origin" "-960.001 6244 -192.003" } func_upgradestation { "mins" "-97 -155 -92" "maxs" "97 155 92" "origin" "-960.001 6244 -192.003" "parentname" "upgradestation" } //SECOND prop_dynamic { "angles" "0 0 0" "model" "models\props_mvm\mvm_upgrade_blu.mdl" "modelscale" "1.0" "rendercolor" "255 255 255" "solid" "2" "targetname" "upgradestation" "origin" "-2293 4937 -84.9647" } func_upgradestation { "mins" "-97 -155 -92" "maxs" "97 155 92" "origin" "-2293 4937 -84.9647" "parentname" "upgradestation" } } Blu_ForceField { NoFixup 1 func_forcefield { "disablereceiveshadows" "0" "origin" "-1021 5167.5 -128" "StartDisabled" "0" "targetname" "forcefield_upper" "TeamNum" "2" "mins" "-530 -19 -782" "maxs" "530 19 782" } func_forcefield { "origin" "-1799.5 4837.5 42.82" "renderamt" "255" "rendercolor" "255 255 255" "renderfx" "0" "rendermode" "0" "StartDisabled" "0" "targetname" "forcefield_lower" "TeamNum" "2" "mins" "-21 -295 -888" "maxs" "21 295 888" } logic_auto { "OnMapSpawn" "wave_start_relay,AddOutput,OnTrigger forcefield_lower:Disable:0:-1" "OnMapSpawn" "wave_finished_relay,AddOutput,OnTrigger forcefield_lower:Enable:0:-1" "targetname" "blu_logic" "OnMapSpawn" "wave_start_relay,AddOutput,OnTrigger forcefield_upper:Disable:0:-1" "OnMapSpawn" "wave_finished_relay,AddOutput,OnTrigger forcefield_upper:Enable:0:-1" } } Kill_Logic { NoFixup 1 logic_auto { "OnMapSpawn" "item_ammopack*,Kill,,0,-1" "OnMapSpawn" "func_tfbot_hint,Kill,,0,1" "OnMapSpawn" "sentry_nest*,Kill,,0,1" } } Fence_Tunnel { NoFixup 1 prop_dynamic { "angles" "0 90 0" "model" "models/props_2fort/sniper_fence02.mdl" "modelscale" "1.3" "skin" "0" "solid" "2" "spawnflags" "0" "targetname" "tunnel_block" "origin" "-1534.32 1943.71 -128" } func_forcefield { "origin" "-1532.5 1907.5 16" "renderamt" "255" "rendercolor" "255 255 255" "renderfx" "0" "rendermode" "0" "StartDisabled" "0" "targetname" "reverse_tunnel_block" "TeamNum" "2" "mins" "-120 -82 -98" "maxs" "120 82 98" } func_forcefield { "origin" "-1532.5 1907.5 16" "renderamt" "255" "rendercolor" "255 255 255" "renderfx" "0" "rendermode" "0" "StartDisabled" "0" "targetname" "reverse_tunnel_block" "TeamNum" "3" "mins" "-120 -82 -98" "maxs" "120 82 98" } func_forcefield { "origin" "-1329 924.5 5" "renderamt" "255" "rendercolor" "255 255 255" "renderfx" "0" "rendermode" "0" "StartDisabled" "0" "targetname" "reverse_tunnel_block" "TeamNum" "2" "mins" "-50 -135 -101" "maxs" "50 135 101" } func_forcefield { "origin" "-1329 924.5 5" "renderamt" "255" "rendercolor" "255 255 255" "renderfx" "0" "rendermode" "0" "StartDisabled" "0" "targetname" "reverse_tunnel_block" "TeamNum" "3" "mins" "-50 -135 -101" "maxs" "50 135 101" } prop_dynamic { "angles" "0 0 0" "model" "models/props_2fort/sniper_fence02.mdl" "modelscale" "1.3" "skin" "0" "solid" "2" "spawnflags" "0" "targetname" "tunnel_block" "origin" "-1315 923 -94.4826" } } ExtraAnnotations { training_annotation { "targetname" "tank_annotation" "display_text" "Tanks will appear throughout the wave! If a tank is destroyed, you get minus 3 mins off the timer!" "lifetime" "5" "origin" "-35.38 6389.53 -283" } } Hatch_Blocker { NoFixup 1 prop_dynamic { "angles" "0 90 0" "model" "models/props_island/parts/guard_tower01.mdl" "modelscale" "0.8" "skin" "0" "solid" "0" "spawnflags" "0" "targetname" "cover_hatch" "origin" "3 328 -149.276" } func_forcefield { "origin" "-1.5 333 34" "StartDisabled" "0" "targetname" "hatch_forcefiled" "TeamNum" "2" "mins" "-136 -145 -178" "maxs" "136 145 178" } prop_dynamic { "angles" "0 0 0" "model" "models/props_urban/urban_hand_sign_medium.mdl" "modelscale" "0.8" "skin" "0" "solid" "0" "spawnflags" "0" "targetname" "stop_sign" "origin" "2 505 -62" } training_annotation { "targetname" "bomb_annotation" "display_text" "Deploy the bomb!" "lifetime" "5" "origin" "3 328 -149.276" } logic_relay { "targetname" "hatch_reveal_relay" "spawnflags" "2" "OnTrigger" "stop_sign,Disable,,0.01,-1" "OnTrigger" "cover_hatch,Disable,,0.01,-1" "OnTrigger" "bomb_annotation,Show,,0.01,-1" "OnTrigger" "hatch_forcefiled,Disable,0.01,-1" } } tankred_win { NoFixup 1 logic_relay //trigger this to lose { "origin" "0 0 0" "targetname" "redwin_relay" "OnTrigger" "bots_win_red,RoundWin,,0,-1" } game_round_win //do not interact with this { "origin" "0 0 0" "TeamNum" "2" "targetname" "bots_win_red" "switch_teams" "0" "force_map_reset" "1" "classname" "game_round_win" } } Reverse_Hints_Sniper { NoFixup 1 func_tfbot_hint { "hint" "0" "origin" "-1123 3667 -275" "StartDisabled" "0" "targetname" "sniperspot_reverse_1" "team" "2" "mins" "-32 -32 -48" "maxs" "32 32 48" } func_tfbot_hint { "hint" "0" "origin" "-980 4812 -298" "StartDisabled" "0" "targetname" "sniperspot_reverse_2" "team" "2" "mins" "-32 -32 -48" "maxs" "32 32 48" } func_tfbot_hint { "hint" "0" "origin" "-875 3008 -284" "StartDisabled" "0" "mins" "-32 -32 -48" "maxs" "32 32 48" "targetname" "sniperspot_reverse_3" "team" "2" } func_tfbot_hint { "hint" "0" "origin" "-1617 4073 -209" "StartDisabled" "0" "targetname" "sniperspot_reverse_4" "team" "2" "mins" "-32 -32 -48" "maxs" "32 32 48" } func_tfbot_hint { "hint" "0" "origin" "-1458 3018 -143" "StartDisabled" "0" "mins" "-32 -32 -48" "maxs" "32 32 48" "targetname" "sniperspot_reverse_2" "team" "2" } func_tfbot_hint { "hint" "0" "origin" "510 2557 -186" "StartDisabled" "0" "mins" "-32 -32 -48" "maxs" "32 32 48" "targetname" "sniperspot_reverse_2" "team" "2" } func_tfbot_hint { "hint" "0" "origin" "-1537 4190 95" "StartDisabled" "0" "mins" "-32 -32 -48" "maxs" "32 32 48" "targetname" "sniperspot_reverse_2" "team" "2" } func_tfbot_hint { "hint" "0" "origin" "-1617 4073 -209" "StartDisabled" "0" "mins" "-32 -32 -48" "maxs" "32 32 48" "targetname" "sniperspot_reverse_2" "team" "2" } } Obj_Sentries { obj_sentrygun { "angles" "0 0 0" "defaultupgrade" "2" "spawnflags" "0" "targetname" "sentry_reverse_obj" "TeamNum" "2" "origin" "-442 4165 -223" } obj_sentrygun { "angles" "0 107 0" "defaultupgrade" "2" "spawnflags" "0" "targetname" "sentry_reverse_obj" "TeamNum" "2" "origin" "-1352.07 3828.56 -223.75" } obj_sentrygun { "angles" "0 252 0" "defaultupgrade" "2" "spawnflags" "0" "targetname" "sentry_reverse_obj" "TeamNum" "2" "origin" "-458.862 3528.13 -79.75" } obj_sentrygun { "angles" "0 141 0" "defaultupgrade" "2" "spawnflags" "0" "targetname" "sentry_reverse_obj" "TeamNum" "2" "origin" "-945.031 2219.11 -129.203" } obj_sentrygun { "angles" "0 180 0" "defaultupgrade" "2" "spawnflags" "0" "targetname" "sentry_reverse_obj" "TeamNum" "2" "origin" "624.428 2883.16 -214.756" } obj_sentrygun { "angles" "0 180 0" "spawnflags" "0" "defaultupgrade" "2" "targetname" "sentry_reverse_obj" "TeamNum" "2" "origin" "618 3080.75 -212.028" } obj_sentrygun { "angles" "0 63 0" "defaultupgrade" "2" "spawnflags" "0" "targetname" "sentry_reverse_obj" "TeamNum" "2" "origin" "-423.957 1477.92 -44" } obj_sentrygun { "angles" "0 50 0" "defaultupgrade" "2" "spawnflags" "0" "targetname" "sentry_reverse_obj" "TeamNum" "2" "origin" "-935.079 274.246 -152.947" } obj_sentrygun { "angles" "0 0 0" "defaultupgrade" "2" "spawnflags" "0" "targetname" "sentry_reverse_obj" "TeamNum" "2" "origin" "-703.028 1217.24 -223.75" } obj_sentrygun { "angles" "0 254 0" "defaultupgrade" "2" "spawnflags" "0" "targetname" "sentry_reverse_obj" "TeamNum" "2" "origin" "1226.56 906.335 -162.737" } obj_sentrygun { "angles" "0 0 0" "defaultupgrade" "2" "spawnflags" "0" "targetname" "sentry_reverse_obj" "TeamNum" "2" "origin" "160.852 1605.45 -47.75" } obj_sentrygun { "angles" "0 0 0" "defaultupgrade" "2" "spawnflags" "0" "targetname" "sentry_reverse_obj" "TeamNum" "2" "origin" "50.0832 1041.55 -223.406" } obj_sentrygun { "angles" "0 64 0" "defaultupgrade" "2" "spawnflags" "0" "targetname" "sentry_reverse_obj" "TeamNum" "2" "origin" "371.303 739.464 2.82324" } obj_sentrygun { "angles" "0 87 0" "defaultupgrade" "2" "spawnflags" "0" "targetname" "sentry_reverse_obj" "TeamNum" "2" "origin" "-5.44403 -384.356 -63.75" } } Engineer_Hints { NoFixup 1 //RIGHT FRONT bot_hint_sentrygun { "angles" "0 71 0" "sequence" "5" "spawnflags" "0" "StartDisabled" "0" "sticky" "0" "targetname" "sentry_reverse_1" "TeamNum" "2" "origin" "-1114.72 4150.28 -223.75" } bot_hint_engineer_nest { "angles" "0 243 0" "spawnflags" "0" "StartDisabled" "0" "targetname" "sentry_reverse_1" "TeamNum" "2" "origin" "-1039.24 4043.62 -219.993" } //LEFT FRONT bot_hint_sentrygun { "angles" "0 117 0" "sequence" "5" "spawnflags" "0" "StartDisabled" "0" "sticky" "0" "targetname" "sentry_reverse_2" "TeamNum" "2" "origin" "-674 4171 -223.75" } bot_hint_engineer_nest { "angles" "0 243 0" "spawnflags" "0" "StartDisabled" "0" "targetname" "sentry_reverse_2" "TeamNum" "2" "origin" "-644.066 4053.27 -219.993" } bot_hint_sentrygun { "angles" "0 146 0" "sequence" "5" "spawnflags" "0" "StartDisabled" "0" "sticky" "0" "targetname" "sentry_reverse_3" "TeamNum" "2" "origin" "-1351.81 3095.46 -159" } bot_hint_engineer_nest { "angles" "0 243 0" "spawnflags" "0" "StartDisabled" "0" "targetname" "sentry_reverse_3" "TeamNum" "2" "origin" "-1403.11 2981.45 -154.685" } bot_hint_sentrygun { "angles" "0 34 0" "sequence" "5" "spawnflags" "0" "StartDisabled" "0" "sticky" "0" "targetname" "sentry_reverse_4" "TeamNum" "2" "origin" "-600.703 2205.97 -47.75" } bot_hint_engineer_nest { "angles" "0 101 0" "spawnflags" "0" "StartDisabled" "0" "targetname" "sentry_reverse_4" "TeamNum" "2" "origin" "-614.655 2036.32 -43.9931" } bot_hint_sentrygun { "angles" "0 74 0" "sequence" "5" "spawnflags" "0" "StartDisabled" "0" "sticky" "0" "targetname" "sentry_reverse_5" "TeamNum" "2" "origin" "660.517 273.441 -153.656" } bot_hint_engineer_nest { "angles" "0 54 0" "spawnflags" "0" "StartDisabled" "0" "targetname" "sentry_reverse_5" "TeamNum" "2" "origin" "634.785 166.707 -150" } bot_hint_sentrygun { "angles" "0 267 0" "sequence" "5" "spawnflags" "0" "StartDisabled" "0" "sticky" "0" "targetname" "sentry_reverse_6" "TeamNum" "2" "origin" "-1000.19 1364.66 -41" } bot_hint_engineer_nest { "angles" "0 243 0" "spawnflags" "0" "StartDisabled" "0" "targetname" "sentry_reverse_6" "TeamNum" "2" "origin" "-897.746 1461.22 -33.8694" } bot_hint_sentrygun { "angles" "0 117 0" "sequence" "5" "spawnflags" "0" "StartDisabled" "0" "sticky" "0" "targetname" "sentry_reverse_7" "TeamNum" "2" "origin" "725.146 1884.62 -207" } bot_hint_engineer_nest { "angles" "0 243 0" "spawnflags" "0" "StartDisabled" "0" "targetname" "sentry_reverse_7" "TeamNum" "2" "origin" "793.284 1773.8 -204.05" } } engi_hints_frontonly { NoFixup 1 //RIGHT FRONT bot_hint_sentrygun { "angles" "0 71 0" "sequence" "5" "spawnflags" "0" "StartDisabled" "0" "sticky" "0" "targetname" "sentry_reverse_1" "TeamNum" "3" "origin" "-1114.72 4150.28 -223.75" } bot_hint_engineer_nest { "angles" "0 243 0" "spawnflags" "0" "StartDisabled" "0" "targetname" "sentry_reverse_1" "TeamNum" "3" "origin" "-1039.24 4043.62 -219.993" } //LEFT FRONT bot_hint_sentrygun { "angles" "0 117 0" "sequence" "5" "spawnflags" "0" "StartDisabled" "0" "sticky" "0" "targetname" "sentry_reverse_2" "TeamNum" "3" "origin" "-674 4171 -223.75" } bot_hint_engineer_nest { "angles" "0 243 0" "spawnflags" "0" "StartDisabled" "0" "targetname" "sentry_reverse_2" "TeamNum" "3" "origin" "-644.066 4053.27 -219.993" } bot_hint_sentrygun { "angles" "0 146 0" "sequence" "5" "spawnflags" "0" "StartDisabled" "0" "sticky" "0" "targetname" "sentry_reverse_3" "TeamNum" "3" "origin" "-1351.81 3095.46 -159" } bot_hint_engineer_nest { "angles" "0 243 0" "spawnflags" "0" "StartDisabled" "0" "targetname" "sentry_reverse_3" "TeamNum" "3" "origin" "-1403.11 2981.45 -154.685" } } equip_soldier_basejumper_airstriker { filter_tf_condition { "targetname" "yaki_filter_basejumper" "condition" "122" "Negated" "0" } filter_tf_condition { "targetname" "yaki_filter_basejumper_does_not_have_airstrike_condition" "condition" "81" "Negated" "1" } $filter_sendprop { "targetname" "yaki_filter_basejumper_player_is_jumping" "$name" "m_bJumping" "$value" "0" "$compare" "equal" "Negated" "1" } filter_multi { "targetname" "yaki_filter_basejumper_add_conditions" "filter01" "yaki_filter_basejumper" "filter02" "yaki_filter_basejumper_player_is_jumping" "filter03" "yaki_filter_basejumper_does_not_have_airstrike_condition" "OnPass" "!activator,$AddCond,81,0,-1" /// debug //"OnPass" "player,$DisplayTextChat,Added Airstrike Condition,0,-1" } trigger_multiple { "filtername" "yaki_filter_basejumper_add_conditions" "mins" "-5 -5 -5" "maxs" "5 5 5" "spawnflags" "1" "origin" "0 0 32" "wait" "0.1" "OnTrigger" "yaki_filter_basejumper_add_conditions,TestActivator,,0,-1" } $filter_sendprop { "targetname" "yaki_filter_basejumper_player_is_grounded" "$name" "m_bJumping" "$value" "0" "$compare" "equal" } filter_multi { "targetname" "yaki_filter_basejumper_remove_conditions" "filter01" "yaki_filter_basejumper" "filter02" "yaki_filter_basejumper_player_is_grounded" "OnPass" "!activator,$RemoveCond,122,0,-1" "OnPass" "!activator,$RemoveCond,81,0,-1" /// debug //"OnPass" "player,$DisplayTextChat,Removed Airstrike Condition,0,-1" } trigger_multiple { "filtername" "yaki_filter_basejumper_remove_conditions" "mins" "-5 -5 -5" "maxs" "5 5 5" "spawnflags" "1" "origin" "0 0 32" "wait" "0.1" "OnTrigger" "yaki_filter_basejumper_remove_conditions,TestActivator,,0,-1" } } equip_medigun { OnSpawnOutput { Target "@c@!activator" Action "AddOutput" Param "OnUser1 logic_find_medigun:InValue:$$=!activator.m_iItemDefinitionIndex:0:1" } OnSpawnOutput { Target "@c@!activator" Action "$FireUserAsActivator1" Delay 0.01 } } textualtimer { OnSpawnOutput { Param 14 // change the value for minutes, set to 20 cuz the point temp counts down by 2 for some reason Target minutehand Action SetValue } OnSpawnOutput { Param 60 // change the value for seconds Target secondhand Action SetValue } logic_relay { "targetname" "loserelay" "startdisabled" "1" "ontrigger" "bots_win_red,RoundWin,,2,-1" "ontrigger" "realtimer,cancelpending,,2,-1" "onspawn" "wave_start*,addoutput,ontrigger realtimer:trigger::0:-1,0,-1" "onspawn" "wave_finish*,addoutput,ontrigger realtimer:cancelpending::0:-1,0,-1" "onspawn" "wave_finish*,addoutput,ontrigger loserelay:cancelpending::0:-1,0,-1" } NoFixup 1 math_counter { "targetname" "minutehand" "max" "9999" "outvalue" "timerformat,$setkey$case01,,0,-1" "onhitmin" "loserelay,enable,,1,-1" } math_counter { "targetname" "secondhand" "max" "60" "outvalue" "timerformat,$setkey$case02,,0,-1" "outvalue" "zerocompare,setvaluecompare,,0,-1" "onhitmin" "loserelay,trigger,,0,-1" "onhitmin" "!self,setvalue,60,1,-1" "onhitmin" "minutehand,subtract,1,1,-1" } logic_compare { "targetname" "zerocompare" "comparevalue" "9" "onequalto" "timerformat,$setkey$case16,%:0%,0,-1" "ongreaterthan" "timerformat,$setkey$case16,%:%,0,-1" } logic_case { "targetname" "timerformat" "case16" "%:%" "ondefault" "timertext,$setkey$message,,0,-1" "ondefault" "timertext,display,0,0,-1" } game_text { "targetname" "timertext" "color" "65 155 255" "holdtime" "1" "spawnflags" "1" "x" "0.80" // left go down right go up "y" "-0.90" } logic_relay { "targetname" "realtimer" "spawnflags" "2" "ontrigger" "timerformat,$format,,0.01,-1" "ontrigger" "secondhand,subtract,1,0,-1" "ontrigger" "!self,trigger,,1,-1" } game_round_win { "teamnum" "2" "targetname" "bots_win_red" "force_map_reset" "1" } } PlayerResInput { NoFixup 1 OnSpawnOutput { Target "playerResInWave" Action Test } logic_branch { "startvalue" "0" // used to detect if wave is started or not "targetname" "playerResInWave" "onTrue" "player,$SetVar$inWave,1,0,-1" "onFalse" "player,$SetVar$inWave,0,0,-1" } math_counter { "startvalue" "0" // value to change "targetname" "playerResVal1" "onGetValue" "player,$SetVar$hasRes,,0,-1" } math_counter { "startvalue" "9" // value to change "targetname" "playerResVal2" "onGetValue" "player,$SetVar$hasRes,,0,-1" } math_counter { "startvalue" "4" // value to change "targetname" "playerResVal3" "onGetValue" "player,$SetVar$hasRes,,0,-1" } } PlayerRes { keepalive 1 OnParentKilledOutput { Target "playerResConfirm" Action InValue Param "$$=''..?(int(!activator.hasRes) > 0, ?(int(!activator.inWave) < 1,'99','1'),?(int(!activator.inWave) < 1,'99','0'))" Delay 0.00 } logic_case { "targetname" "playerResConfirm" "case01" "1" "case02" "0" "case03" "99" "OnCase01" "!activator,$ForceRespawnDead,,2,-1" "OnCase01" "!activator,$SetVar$hasRes,$$=''..(int(!activator.hasRes) - 1),2,-1" // formatting string for if you have lifes "OnCase01" "player,$DisplayTextChat,$$=''.. '{f5c542}' .. string(!activator.m_szNetname) .. string(' {ffffff} has been revived, they have {f5c542}') .. string(!activator.hasRes) .. string('{ffffff} more lives left.'),2,-1" "OnCase01" "revivefx,PlaySound,,2.05,-1" "OnCase01" "revivefx,PlaySound,,2.05,-1" "OnCase01" "revivefx,kill,,3,-1" "OnCase01" "!self,kill,,3,-1" // formatting string for if no lifes "OnCase02" "player,$DisplayTextChat,$$=''.. '{f5c542}' .. string(!activator.m_szNetname) .. string(' {ffffff} has {ff2b2b} no more lives {ffffff}, they will be able to respawn at wave end.'),0,-1" "OnCase02" "!self,kill,,3,-1" "OnCase02" "revivefx,kill,,3,-1" "OnCase03" "!activator,$ForceRespawnDead,,0,-1" "OnCase03" "!self,kill,,0,-1" "OnCase03" "revivefx,kill,,0,-1" } ambient_generic { "targetname" "revivefx" "origin" "0 0 0" "volstart" "10" "spawnflags" "17" "radius" "999999" "preset" "0" "pitchstart" "125" "pitch" "125" "message" "#mvm\mvm_revive.wav" //to change respawn sound (plays globally) "lfotype" "0" "lforate" "0" "lfomodvol" "0" "lfomodpitch" "0" "health" "7.5" "fadeoutsecs" "0" "fadeinsecs" "0" "cspinup" "0" } } tutorial // thanks hell-met { NoFixup 1 logic_relay { "spawnflags" "2" "targetname" "tutorial_relay" "OnTrigger" "signchat1,Show,,0,-1" "OnTrigger" "signchat2,Show,,4,-1" "OnTrigger" "signchat3,Show,,8,-1" "OnTrigger" "signchat4,Show,,12,-1" "OnTrigger" "tutorial_relay2,Trigger,,16,-1" } logic_relay { "spawnflags" "2" "targetname" "tutorial_relay2" "OnTrigger" "tutorial_relay,Trigger,,0,-1" } training_annotation { "targetname" "signchat1" "display_text" "You will be accommodated by ally Robots and Sentry Busters." "lifetime" "4" "origin" "-877.8 3982.4 -130.6" } training_annotation { "targetname" "signchat2" "display_text" "Players have 5 lives per wave, but they instantly respawn." "lifetime" "4" "origin" "-877.8 3982.4 -130.6" } training_annotation { "targetname" "signchat3" "display_text" "Special bot weapons can be equipped by typing !missionitems." "lifetime" "4" "origin" "-877.8 3982.4 -130.6" } training_annotation { "targetname" "signchat4" "display_text" "Do not excede 15 minutes." "lifetime" "4" "origin" "-877.8 3982.4 -130.6" } OnSpawnOutput { Target tutorial_relay Action Trigger } logic_auto { "OnMapSpawn" "wave_start_relay,AddOutput,OnTrigger tutorial_relay:Disable:0:-1" "OnMapSpawn" "wave_finished_relay,AddOutput,OnTrigger tutorial_relay:Enable:0:-1" } } bot_spawnpoints { prop_dynamic { "model" "models/props_mvm/robot_spawnpoint.mdl" "modelscale" "1.0" "skin" "0" "solid" "6" "spawnflags" "0" "targetname" "spawnpoint_front_right" "origin" "-1598 3974 -224" } prop_dynamic { "model" "models/props_mvm/robot_spawnpoint.mdl" "modelscale" "1.0" "skin" "0" "solid" "6" "spawnflags" "0" "targetname" "spawnpoint_front_left" "origin" "-73.3669 3999.76 -223.955" } prop_dynamic { "model" "models/props_mvm/robot_spawnpoint.mdl" "modelscale" "1.0" "skin" "0" "solid" "6" "spawnflags" "0" "targetname" "spawnpoint_front_sniperspot" "origin" "-161.386 3294 -80" } prop_dynamic { "model" "models/props_mvm/robot_spawnpoint.mdl" "modelscale" "1.0" "skin" "0" "solid" "6" "spawnflags" "0" "targetname" "spawnpoint_right_littlehosue" "origin" "-1148.72 2495.36 -138.171" } prop_dynamic { "model" "models/props_mvm/robot_spawnpoint.mdl" "modelscale" "1.0" "skin" "0" "solid" "6" "spawnflags" "0" "targetname" "spawnpoint_rock" "origin" "427 2993 -224.093" } prop_dynamic { "model" "models/props_mvm/robot_spawnpoint.mdl" "modelscale" "1.0" "skin" "0" "solid" "6" "spawnflags" "0" "targetname" "spawnpoint_tunnel" "origin" "-2025.39 980.592 -95.9553" } prop_dynamic { "model" "models/props_mvm/robot_spawnpoint.mdl" "modelscale" "1.0" "skin" "0" "solid" "6" "spawnflags" "0" "targetname" "spawnpoint_redspawn_mid" "origin" "-128.432 1624.05 -40.4267" } prop_dynamic { "model" "models/props_mvm/robot_spawnpoint.mdl" "modelscale" "1.0" "skin" "0" "solid" "6" "spawnflags" "0" "targetname" "spawnpoint_spawn_left" "origin" "906.254 1069 -96" } prop_dynamic { "model" "models/props_mvm/robot_spawnpoint.mdl" "modelscale" "1.0" "skin" "0" "solid" "6" "spawnflags" "0" "targetname" "spawnpoint_redspawn_1" "origin" "355.034 -311.06 -63.9553" } prop_dynamic { "model" "models/props_mvm/robot_spawnpoint.mdl" "modelscale" "1.0" "skin" "0" "solid" "6" "spawnflags" "0" "targetname" "spawnpoint_redspawn_2" "origin" "-364.478 -275.587 -63.9553" } prop_dynamic { "model" "models/props_mvm/robot_spawnpoint.mdl" "modelscale" "1.0" "skin" "0" "solid" "6" "spawnflags" "0" "targetname" "spawnpoint_hatch" "origin" "-295.821 712.894 -152.565" } prop_dynamic { "angles" "0 0 0" "model" "models/props_mvm/robot_spawnpoint.mdl" "modelscale" "1.0" "skin" "0" "solid" "6" "spawnflags" "0" "targetname" "spawnpoint_hatch_tunnel_below" "origin" "-745 966 -223" } } Owning_Banner_Players { logic_relay { "targetname" "get_owned_idiot" "spawnflags" "2" "OnTrigger" "!activator,$RemoveItem,The Buff Banner,,-1" "OnTrigger" "!activator,$RemoveItem,The Battalion's Backup,,-1" "OnTrigger" "!activator,$RemoveItem,The Concheror,,-1" } OnSpawnOutput { Target get_owned_idiot Action Trigger } } Owning_Flamethower_Players { logic_relay { "targetname" "get_owned_idiot" "spawnflags" "2" "OnTrigger" "!activator,$WeaponStripSlot,,0" } OnSpawnOutput { Target get_owned_idiot Action Trigger } } BaseJumper { logic_relay { "targetname" "get_owned_idiot" "spawnflags" "2" "OnTrigger" "!activator,$GiveItem,The B.A.S.E. Jumper,,-1" } OnSpawnOutput { Target get_owned_idiot Action Trigger } } Owning_HybridAndSticky_Players { logic_relay { "targetname" "get_owned_idiot" "spawnflags" "2" //"OnTrigger" "!activator,$RemoveItem,TF_WEAPON_PIPEBOMBLAUNCHER,,-1" //"OnTrigger" "!activator,$RemoveItem,The Scottish Resistance,,-1" "OnTrigger" "!activator,$RemoveItem,The Chargin' Targe,,-1" "OnTrigger" "!activator,$RemoveItem,The Splendid Screen,,-1" "OnTrigger" "!activator,$RemoveItem,The Eyelander,,-1" //The Splendid Screen "OnTrigger" "!activator,$GiveItem,TF_WEAPON_BOTTLE,,-1" } OnSpawnOutput { Target get_owned_idiot Action Trigger } } initialize_logic { NoFixup 1 //IMPORTANT!! /// This logic_case can be looked at like a spreadsheet of which ItemDefinitionIndex each Medigun uses. /// "ItemDefinitionIndex" is the ID for each weapon found in `items_game.txt`. It is unusually unique to each equip, hat, misc, etc. /// The only exception is if a wearable is added by a weapon (like the Buff Banner's backpack). logic_case { "targetname" "logic_find_medigun" "Case01" "35" //The Kritzkrieg //"Case02" "411" //The Quick-Fix "Case03" "998" //The Vaccinator "Case04" "29" //Stock TF_WEAPON_MEDIGUN "Case05" "211" //Upgradeable TF_WEAPON_MEDIGUN "Case06" "663" //Festive Medigun 2011 "Case07" "796" //Silver Botkiller Medi Gun Mk.I "Case08" "805" //Gold Botkiller Medi Gun Mk.I "Case09" "885" //Rust Botkiller Medi Gun Mk.I "Case10" "894" //Blood Botkiller Medi Gun Mk.I "Case11" "903" //Carbonado Botkiller Medi Gun Mk.Iv "Case12" "912" //Diamond Botkiller Medi Gun Mk.I "Case13" "961" //Silver Botkiller Medi Gun Mk.II "Case14" "970" //Gold Botkiller Medi Gun Mk.II "Case15" "15008" //concealedkiller_medigun_maskedmender "OnCase01" "!activator,$SetProp$m_flChargeLevel,1,0,-1" "OnCase02" "!activator,$SetProp$m_flChargeLevel,1,0,-1" "OnCase03" "!activator,$SetProp$m_flChargeLevel,1,0,-1" "OnCase04" "!activator,$SetProp$m_flChargeLevel,1,0,-1" "OnCase05" "!activator,$SetProp$m_flChargeLevel,1,0,-1" "OnCase06" "!activator,$SetProp$m_flChargeLevel,1,0,-1" "OnCase07" "!activator,$SetProp$m_flChargeLevel,1,0,-1" "OnCase08" "!activator,$SetProp$m_flChargeLevel,1,0,-1" "OnCase09" "!activator,$SetProp$m_flChargeLevel,1,0,-1" "OnCase10" "!activator,$SetProp$m_flChargeLevel,1,0,-1" "OnCase11" "!activator,$SetProp$m_flChargeLevel,1,0,-1" "OnCase12" "!activator,$SetProp$m_flChargeLevel,1,0,-1" "OnCase13" "!activator,$SetProp$m_flChargeLevel,1,0,-1" "OnCase14" "!activator,$SetProp$m_flChargeLevel,1,0,-1" "OnCase15" "!activator,$SetProp$m_flChargeLevel,1,0,-1" } logic_case { "targetname" "logic_find_medigun" "Case01" "15010" //concealedkiller_medigun_wrappedreviver "Case02" "15025" //craftsmann_medigun_reclaimedreanimator "Case03" "15039" //teufort_medigun_civilservant "Case04" "15050" //powerhouse_medigun_sparkoflife "Case05" "15078" //harvest_medigun_wildwood "Case06" "15097" //pyroland_medigun_flowerpower "Case07" "15120" //gentlemanne_medigun_coffinnail "Case08" "15121" //gentlemanne_medigun_dressedtokill "Case09" "15122" //gentlemanne_medigun_highrollers "Case10" "15145" //warbird_medigun_blitzkrieg "Case10" "15146" //warbird_medigun_corsair "OnCase01" "!activator,$SetProp$m_flChargeLevel,1,0,-1" "OnCase02" "!activator,$SetProp$m_flChargeLevel,1,0,-1" "OnCase03" "!activator,$SetProp$m_flChargeLevel,1,0,-1" "OnCase04" "!activator,$SetProp$m_flChargeLevel,1,0,-1" "OnCase05" "!activator,$SetProp$m_flChargeLevel,1,0,-1" "OnCase06" "!activator,$SetProp$m_flChargeLevel,1,0,-1" "OnCase07" "!activator,$SetProp$m_flChargeLevel,1,0,-1" "OnCase08" "!activator,$SetProp$m_flChargeLevel,1,0,-1" "OnCase09" "!activator,$SetProp$m_flChargeLevel,1,0,-1" "OnCase10" "!activator,$SetProp$m_flChargeLevel,1,0,-1" } } AddBooties { logic_relay { "targetname" "get_owned_idiot" "spawnflags" "2" //"OnTrigger" "!activator,$RemoveItem,TF_WEAPON_PIPEBOMBLAUNCHER,,-1" //"OnTrigger" "!activator,$RemoveItem,The Scottish Resistance,,-1" "OnTrigger" "!activator,$GiveItem,The Chargin' Targe,,-1" "OnTrigger" "!activator,$GiveItem,Ali baba's wee booties,,-1" //The Splendid Screen } OnSpawnOutput { Target get_owned_idiot Action Trigger } } Owning_Scattergun_Players { logic_relay { "targetname" "get_owned_idiot" "spawnflags" "2" "OnTrigger" "!activator,$RemoveItem,TF_WEAPON_SCATTERGUN,,-1" "OnTrigger" "!activator,$RemoveItem,The Force-a-Nature,,-1" "OnTrigger" "!activator,$RemoveItem,The Soda Popper,,-1" //The Splendid Screen "OnTrigger" "!activator,$GiveItem,Batter's Helmet,,-1" } OnSpawnOutput { Target get_owned_idiot Action Trigger } } } PlayerItemEquipSpawnTemplate //Shoot defined point template. Template is spawned at player position in looking direction, forward velocity being applied to spawned entities { Name Owning_Scattergun_Players Itemname "Armor League Scout" } PlayerItemEquipSpawnTemplate //Shoot defined point template. Template is spawned at player position in looking direction, forward velocity being applied to spawned entities { Name AddBooties Itemname "Demoknight" } PlayerItemEquipSpawnTemplate //Shoot defined point template. Template is spawned at player position in looking direction, forward velocity being applied to spawned entities { Name equip_medigun Classname "tf_weapon_medigun" } //PlayerItemEquipSpawnTemplate //Shoot defined point template. Template is spawned at player position in looking direction, forward velocity being applied to spawned entities //{ // Name Owning_Banner_Players // Itemname "TF_WEAPON_ROCKETLAUNCHER" //} //PlayerItemEquipSpawnTemplate //Shoot defined point template. Template is spawned at player position in looking direction, forward velocity being applied to spawned entities //{ // Name Owning_Banner_Players // Itemname "Colonel Barrage" //} //PlayerItemEquipSpawnTemplate //Shoot defined point template. Template is spawned at player position in looking direction, forward velocity being applied to spawned entities //{ // Name Owning_Banner_Players // Itemname "Upgradeable TF_WEAPON_ROCKETLAUNCHER" //} PlayerItemEquipSpawnTemplate { Name BaseJumper Itemname "Gargantu-Jumper" } PlayerItemEquipSpawnTemplate { Name equip_soldier_basejumper_airstriker Itemname "Gargantu-Jumper" } //PlayerItemEquipSpawnTemplate //Shoot defined point template. Template is spawned at player position in looking direction, forward velocity being applied to spawned entities //{ // Name Owning_Banner_Players // Itemname "The Beggar's Bazooka" //} //PlayerItemEquipSpawnTemplate //Shoot defined point template. Template is spawned at player position in looking direction, forward velocity being applied to spawned entities //{ // Name Owning_Banner_Players // Itemname "The Original" //} //PlayerItemEquipSpawnTemplate //Shoot defined point template. Template is spawned at player position in looking direction, forward velocity being applied to spawned entities //{ // Name Owning_Banner_Players // Itemname "The Black Box" //} //PlayerItemEquipSpawnTemplate //Shoot defined point template. Template is spawned at player position in looking direction, forward velocity being applied to spawned entities //{ // Name Owning_Banner_Players // Itemname "The Chernobyl Accident" //} PlayerItemEquipSpawnTemplate //Shoot defined point template. Template is spawned at player position in looking direction, forward velocity being applied to spawned entities { Name Owning_HybridAndSticky_Players Itemname "The Loose Cannon" } //PlayerItemEquipSpawnTemplate //{ // Name Owning_Flamethower_Players // Itemname "Chief Flare Pyro" //} PlayerItemEquipSpawnTemplate //Shoot defined point template. Template is spawned at player position in looking direction, forward velocity being applied to spawned entities { Name Owning_HybridAndSticky_Players Itemname "Rapid Launcher" } PlayerItemEquipSpawnTemplate //Shoot defined point template. Template is spawned at player position in looking direction, forward velocity being applied to spawned entities { Name Owning_HybridAndSticky_Players Itemname "Burst Launcher" } PlayerItemEquipSpawnTemplate //Shoot defined point template. Template is spawned at player position in looking direction, forward velocity being applied to spawned entities { Name Owning_HybridAndSticky_Players Itemname "TF_WEAPON_GRENADELAUNCHER" } SpawnTemplate UpgradeStation SpawnTemplate Blu_ForceField SpawnTemplate Hatch_Blocker SpawnTemplate tutorial SpawnTemplate PlayerResInput SpawnTemplate Kill_Logic SpawnTemplate bot_spawnpoints SpawnTemplate tankred_win SpawnTemplate textualtimer SpawnTemplate initialize_logic PlayerSpawnTemplate { Name "PlayerRes" Bone "bip_head" } //////////////////////////////////////////MISC ////////////////////////////////////////////// ClassLimit { Heavyweapons 1 Medic 0 Sniper 0 Spy 0 Soldier 2 Demoman 2 Scout 2 Pyro 2 Engineer 0 } ExtraTankPath { Name "tank_path_first" Node "445.3 2997.7 -82.6" Node "-964.6 3015.6 -183.8" Node "-942.2 5065.8 -178.0" } //spec_goto 495.2 1190.7 -109.0 2.3 88.1 ExtraTankPath { Name "tank_path_second" Node "495.2 1190.7 -109.0" Node "445.3 2997.7 -82.6" Node "-964.6 3015.6 -183.8" Node "-942.2 5065.8 -178.0" } ExtraSpawnPoint { Name "spawnbot_front_right" TeamNum 2 X "-1598" Y "3974" Z "-164" } ExtraSpawnPoint { Name "spawnbot_front_left" TeamNum 2 X "-73.3669" Y "3999.76" Z "-173.955" } ExtraSpawnPoint { Name "spawnbot_front_sniperspot" TeamNum 2 X "-161.386" Y "3294" Z "-60" } ExtraSpawnPoint { Name "spawnbot_littlehouse" TeamNum 2 X "-1148.72" Y "2495.36" Z "-108.171" } ExtraSpawnPoint { Name "spawnbot_rock" TeamNum 2 X "427" Y "2993" Z "-224.093" } ExtraSpawnPoint { Name "spawnbot_tunnel" TeamNum 2 X "-2025.39" Y "980.592" Z "-65.9553" } ExtraSpawnPoint { Name "spawnbot_hatch_below_tunnel" Teamnum 2 X "-745" Y "966" Z "-233" } ExtraSpawnPoint { Name "spawnbot_redspawn_mid" TeamNum 2 X "-128.432" Y "1624.05" Z "-20.4267" } ExtraSpawnPoint { Name "spawnbot_spawn_left" TeamNum 2 X "906.254" Y "1069" Z "-66" } ExtraSpawnPoint { Name "spawnbot_redspawn_1" TeamNum 2 X "-364.478" Y "-275.587" Z "-43.9553" } ExtraSpawnPoint { Name "spawnbot_redspawn_2" TeamNum 2 X "-1598" Y "3974" Z "-224" } ExtraSpawnPoint { Name "spawnbot_hatch" TeamNum 2 X "-295.821" Y "712.894" Z "-152.565" } Wave // Wave 1 { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } InitWaveOutput { Target holograms_3way_relay Action Trigger } SpawnTemplate Reverse_Hints_Sniper SpawnTemplate Engineer_Hints //SpawnTemplate Fence_Tunnel SpawnTemplate Obj_Sentries BlueTeamWipeCausesWaveLoss 1 WaveSpawn { TotalCount 1 SpawnCount 1 Support Limited FirstSpawnOutput { Target playerResVal3 //set res count to one of 3 set Action GetValue } } WaveSpawn { TotalCount 1 SpawnCount 1 Support Limited FirstSpawnOutput { Target playerResInWave //REQUIRED | Used to tell self res logic that wave is active/inactive, include one at the very start of the wave and one at the very end of the wave Action ToggleTest } } WaveSpawn { Name "Busters" Where spawnbot TotalCount 999 MaxActive 1 SpawnCount 1 WaitBeforeStarting 30 WaitBetweenSpawns 60 TotalCurrency 0 Support 1 TFBot { Template T_TFBot_SentryBuster_Fix Action SuicideBomber ClassIcon blu2_lite UseBusterModel 1 CharacterAttributes { "collect currency on kill" 1 } } } WaveSpawn { Name "BLU_Robots" Where spawnbot TotalCount 999 MaxActive 3 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 6.5 TotalCurrency 0 Support 1 RandomChoice { TFBot { Template T_TFBot_Pyro Skill Hard ClassIcon sentry_gun_lvl3_red_lite CharacterAttributes { "collect currency on kill" 1 } } TFBot { Class Scout Skill Expert CharacterAttributes { "collect currency on kill" 1 } ClassIcon blu2_lite } TFBot { Template T_TFBot_Soldier_SlowFire Skill Expert ClassIcon blu2_lite CharacterAttributes { "collect currency on kill" 1 } } TFBot { Class Demoman AimLeadProjectileSpeed 1 Skill Expert ClassIcon blu2_lite CharacterAttributes { "collect currency on kill" 1 } } } } WaveSpawn { Name "a1" Where spawnbot_front_right Where spawnbot_front_left TotalCount 8 MaxActive 2 SpawnCount 2 WaitBeforeStarting 0 WaitBetweenSpawns 18 TotalCurrency 100 TFBot { Template T_TFBot_Giant_Soldier_BurstFire_NoCrit Item "The Buff banner" Attributes SpawnWithFullCharge Classicon soldier_burstfire_buff //Attributes AlwaysCrit Action Mobber Skill Expert Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 "damage force reduction" 0 "voice pitch scale" 0 "increase buff duration" 8 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } } WaveSpawn { Name "a1.1" Where spawnbot_front_left Where spawnbot_front_right TotalCount 40 MaxActive 10 SpawnCount 5 WaitBeforeStarting 0 WaitBetweenSpawns 5 TotalCurrency 100 RandomChoice { TFBot { Template T_TFBot_Heavy_Tomislav Action Mobber Skill Easy Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 "damage force reduction" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } TFBot { Template T_TFBot_Heavy_Tomislav Action Mobber Skill Easy Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 "damage force reduction" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } TFBot { Template T_TFBot_Heavy_Tomislav Action Mobber Skill Easy Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 "damage force reduction" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } TFBot { Template T_TFBot_Heavy_Tomislav Action Mobber Skill Easy Attributes DisableDodge MaxVisionRange 500 CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 "damage force reduction" 0 "cannot pick up intelligence" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } } } WaveSpawn { Name "b1.1" WaitForAllDead "a1" Where spawnbot_rock TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 0 TotalCurrency 200 TFBot { Template T_TFBot_Giant_Medic_Shield Action Idle ExtAttr IgnoreBuildings ExtAttr IgnorePlayers ExtAttr IgnoreBots NoPushaway 1 Attributes IgnoreEnemies Attributes SpawnWithFullCharge //spec_goto -693.4 3010.1 -181.8 7.1 -179.5 FireWeapon //Periodically fires weapon { Delay 1 //Time before the first fire input starts (Default: 10) Cooldown 3 //Time between each fire input (Default: 10) Repeats 0 //How many times should bot use the fire input in total (Default: 0 - Infinite) Duration 0.6 //How long should the button be pressed (Default: 0.1) Type "Special" } InterruptAction // Stop current bot ai and force the bot to move to a location { Target "427 2993 -224.093" AimTarget "-693.4 3010.1 -181.8" Delay 0.2 Repeats 9999 // How many times should bot do the task in total (Default: 0 - Infinite) Cooldown 9999 //Time between each task (Default: 10) Duration 99999 // How long should the ai be interrupted WaitUntilDone 1 // If set, duration timer only starts when the bot moves to the target location or the aim target is killed (Default: 0) } Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 "damage force reduction" 0 "voice pitch scale" 0 "cannot pick up intelligence" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } } WaveSpawn { Name "b1" WaitForAllDead "a1" Where spawnbot_rock TotalCount 18 MaxActive 9 SpawnCount 3 WaitBeforeStarting 0 WaitBetweenSpawns 1.2 TotalCurrency 100 RandomChoice { TFBot { Template T_TFBot_Demoman_Stickybomb Skill Expert MaxVisionRange 900 Classicon demo_sticky_red_daan //NoPushaway 1 Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 "damage force reduction" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } TFBot { Template T_TFBot_Demoman_Stickybomb Skill Expert MaxVisionRange 900 Classicon demo_sticky_red_daan Action Idle Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 "damage force reduction" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } TFBot { Template T_TFBot_Demoman_Stickybomb Skill Expert MaxVisionRange 900 Classicon demo_sticky_red_daan Action Idle Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 "damage force reduction" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } TFBot { Template T_TFBot_Demoman_Stickybomb Skill Expert MaxVisionRange 900 Classicon demo_sticky_red_daan Action Idle Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 "damage force reduction" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } } } WaveSpawn { Name "b2" WaitForAllDead "b1.1" Where spawnbot_spawn_left TotalCount 15 MaxActive 10 SpawnCount 5 WaitBeforeStarting 0 WaitBetweenSpawns 7.5 TotalCurrency 100 Squad { TFBot { Template T_TFBot_Giant_Sniper_Jarate Skill Expert Action Mobber Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 "damage force reduction" 0 "voice pitch scale" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } TFBot { Template T_TFBot_Heavy_IronFist_Airblast Skill Hard Action Mobber Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 "damage force reduction" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } TFBot { Template T_TFBot_Heavy_IronFist_Airblast Skill Hard Action Mobber Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 "damage force reduction" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } TFBot { Template T_TFBot_Heavy_IronFist_Airblast Skill Hard Action Mobber Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 "damage force reduction" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } TFBot { Template T_TFBot_Heavy_IronFist_Airblast Skill Hard Action Mobber Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 "damage force reduction" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } } } WaveSpawn { Name "b2.1" WaitForAllSpawned "b1" Where spawnbot_redspawn_mid Where spawnbot_spawn_left TotalCount 40 MaxActive 20 SpawnCount 10 WaitBeforeStarting 0 WaitBetweenSpawns 10 TotalCurrency 100 Squad { TFBot { Template T_TFBot_Soldier_DirectHit Skill Hard Action Mobber CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 "damage force reduction" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } TFBot { Template T_TFBot_Soldier_DirectHit Skill Hard Tag bot_squad_member CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 "damage force reduction" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } } } WaveSpawn { Name "c1" WaitForAllSpawned "b2.1" Where spawnbot_hatch_below_tunnel Where spawnbot_hatch Where spawnbot_spawn_left TotalCount 8 MaxActive 4 SpawnCount 1 WaitBeforeStarting 8 WaitBetweenSpawns 8 TotalCurrency 100 TFBot { Template T_TFBot_Giant_Demo_AimLead MaxVisionRange 800 Skill Expert Action Mobber Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 "damage force reduction" 0 "voice pitch scale" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } } WaveSpawn { WaitForAllSpawned "c1.1" TotalCount 1 SpawnCount 1 Support Limited FirstSpawnOutput { Target playerResInWave //REQUIRED | Used to tell self res logic that wave is active/inactive, include one at the very start of the wave and one at the very end of the wave Action ToggleTest } } WaveSpawn { Name "c1.1" WaitForAllSpawned "b2.1" Where spawnbot_hatch TotalCount 24 MaxActive 8 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 1 TotalCurrency 100 TFBot { Template T_TFBot_Demoman_Samurai Skill Expert Action Mobber Attributes AlwaysCrit Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 "damage force reduction" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } } WaveSpawn { Name "last_defense" WaitForAllDead "c1" Where spawnbot_redspawn_1 Where spawnbot_redspawn_2 TotalCount 999 MaxActive 3 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 2 TotalCurrency 0 FirstSpawnOutput { Target hatch_reveal_relay Action Trigger } TFBot { Template T_TFBot_Heavyweapons_Stock_Fist Skill Hard ClassIcon heavy_fist_nys Action Mobber Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 "damage force reduction" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } } WaveSpawn { Name "last_defense" WaitForAllDead "c1" Where spawnbot_redspawn_1 Where spawnbot_redspawn_2 TotalCount 999 MaxActive 3 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 2 TotalCurrency 0 TFBot { Template T_TFBot_Scout_Fast Skill Hard ClassIcon scout_giant_fast Action Mobber Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 "damage force reduction" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } } WaveSpawn { Name "last_defense" WaitForAllDead "c1" Where spawnbot_redspawn_1 Where spawnbot_redspawn_2 TotalCount 999 MaxActive 4 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 2 TotalCurrency 0 TFBot { Template T_TFBot_Engineer_Shotgun Skill Hard ClassIcon shotgun_lite Action Mobber Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 "damage force reduction" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } } } Wave // Wave 2 { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } InitWaveOutput { Target holograms_3way_relay Action Trigger } BlueTeamWipeCausesWaveLoss 1 SpawnTemplate Reverse_Hints_Sniper SpawnTemplate Engineer_Hints // SpawnTemplate Fence_Tunnel SpawnTemplate Obj_Sentries WaveSpawn { TotalCount 1 SpawnCount 1 Support Limited FirstSpawnOutput { Target playerResVal3 //set res count to one of 3 set Action GetValue } } WaveSpawn { TotalCount 1 SpawnCount 1 Support Limited FirstSpawnOutput { Target playerResInWave //REQUIRED | Used to tell self res logic that wave is active/inactive, include one at the very start of the wave and one at the very end of the wave Action ToggleTest } } WaveSpawn { Name "Busters" Where spawnbot TotalCount 999 MaxActive 1 SpawnCount 1 WaitBeforeStarting 30 WaitBetweenSpawns 60 TotalCurrency 0 Support 1 TFBot { Template T_TFBot_SentryBuster_Fix Action SuicideBomber ClassIcon blu2_lite UseBusterModel 1 CharacterAttributes { "collect currency on kill" 1 } } } WaveSpawn { Name "BLU_Robots" Where spawnbot TotalCount 999 MaxActive 3 SpawnCount 1 WaitBeforeStarting 2 WaitBetweenSpawns 6.5 TotalCurrency 0 Support 1 RandomChoice { TFBot { Template T_TFBot_Medic_SyringeGun_Milk Skill Expert ClassIcon blu2_lite } TFBot { Class Heavyweapons Skill Expert ClassIcon sentry_gun_lvl3_red_lite CharacterAttributes { "collect currency on kill" 1 } } TFBot { Template T_TFBot_Soldier_Extended_Battalion Skill Expert ClassIcon blu2_lite CharacterAttributes { "collect currency on kill" 1 } } } } WaveSpawn // Tank FIRSTRED { Name "tankboss1_red" TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 0 TotalCurrency 100 Tank { Name "tankboss" StartingPathTrackNode "tank_path_first_1" Health 28000 Speed 60 ClassIcon tank_red Teamnum 2 Model //Set custom model on tank. Will spit harmless errors on client console if the model does not have enough sequences { Default "models/bots/boss_bot/boss_tankred.mdl" Damage1 "models/bots/boss_bot/boss_tankred_damage1.mdl" Damage2 "models/bots/boss_bot/boss_tankred_damage2.mdl" Damage3 "models/bots/boss_bot/boss_tankred_damage3.mdl" Destruction "models/bots/boss_bot/boss_tankred_part1_destruction.mdl" LeftTrack "models/bots/boss_bot/tankred_track_l.mdl" RightTrack "models/bots/boss_bot/tankred_track_r.mdl" Bomb "models/bots/boss_bot/bombblue_mechanism.mdl" } OnKilledOutput { Target boss_dead_relay Action Trigger } OnBombDroppedOutput { Target redwin_relay Action Trigger } } } WaveSpawn { Name "a1" Where spawnbot_front_right Where spawnbot_front_left TotalCount 60 MaxActive 20 SpawnCount 10 WaitBeforeStarting 5 WaitBetweenSpawns 8 TotalCurrency 100 Squad { TFBot { Template T_TFBot_Pyro_Backburner Classicon pyro_backburner_red_nys Action Mobber //Attributes AlwaysCrit //AimTrackingInterval 0.05 Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 "damage force reduction" 0 "airblast disabled" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } TFBot { Template T_TFBot_Medic_QuickUber Skill Expert Tag bot_squad_member Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 "damage force reduction" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } } } WaveSpawn { Name "a1.1" //WaitForAllDead "tankboss1_red" Where spawnbot_front_left Where spawnbot_front_right TotalCount 4 MaxActive 2 SpawnCount 2 WaitBeforeStarting 15 WaitBetweenSpawns 10 TotalCurrency 100 TFBot { Template T_TFBot_Giant_Heavyweapons_Heater_Fix Skill Expert Action Mobber Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 "damage force reduction" 0 "voice pitch scale" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } } WaveSpawn { Name "a2" WaitForAllSpawned "a1" Where spawnbot_rock Where spawnbot_redspawn_mid TotalCount 50 MaxActive 10 SpawnCount 1 WaitBeforeStarting 15 WaitBetweenSpawns 0.01 TotalCurrency 100 RandomChoice { TFBot { Class Scout Attributes AlwaysCrit Skill Normal Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 "damage force reduction" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } TFBot { Class Scout Attributes AlwaysCrit Skill Normal Action FetchFlag CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 "damage force reduction" 0 "cannot pick up intelligence" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } } } WaveSpawn { Name "a2.1" WaitForAllSpawned "a1" Where spawnbot_redspawn_mid TotalCount 15 MaxActive 5 SpawnCount 5 WaitBeforeStarting 0 WaitBetweenSpawns 0 TotalCurrency 200 TFBot { Template T_TFBot_Engineer_Sentry_Battle //Attributes TeleportToHint Skill Expert Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 "damage force reduction" 0 "engy building health bonus" 2 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } } WaveSpawn { Name "a3" WaitForAllSpawned "a2.1" Where spawnbot_spawn_left Where spawnbot_hatch TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 0 TotalCurrency 100 DoneOutput { Target hatch_reveal_relay Action Trigger } Squad { TFBot { Name "Giant ScoRes Demoman" Class Demoman ClassIcon demo_sticky_red_daan Scale 1.75 Health 15000 Attributes MiniBoss Attributes HoldFireUntilFullReload Attributes AutoJump Attributes UseBossHealthBar Attributes Parachute AutoJumpMax 25 AutoJumpMin 25 WeaponRestrictions SecondaryOnly UseMeleeThreatPrioritization 1 Skill Expert MaxVisionRange 1500 Action Mobber UseHumanAnimations 1 Tag bot_giant Item "The Scottish Resistance" Item "Battery Canteens" Item "The B.A.S.E. Jumper" ItemAttributes { ItemName "Battery Canteens" "critboost" 1 "powerup charges" 3 } FireWeapon //Periodically fires weapon { Delay 5 Cooldown 10 Repeats 0 Duration 1 IfSeeTarget 1 Type "Secondary" } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } ItemAttributes { ItemName "The Scottish Resistance" "fire rate bonus" 0.0001 "projectile spread angle penalty" 3 "damage bonus" 1.8 "clip size bonus" 1.75 "faster reload rate" 0.3 "stickybomb charge rate" 0.00001 "projectile range increased" 0.35 "stickybomb stick to enemies" 1 "sticky detonate mode" 0 "custom projectile model" "models/weapons/w_models/w_stickybomb_d.mdl" } CharacterAttributes { "move speed bonus" 0.5 "airblast vulnerability multiplier" 0.3 "crit mod disabled" 0 "force distribute currency on death" 1 "damage force reduction" 0 "voice pitch scale" 0 "cancel falling damage" 1 "override footstep sound set" 4 // 5=Scout,3=Soldier,6=Pyro,4=Demoman,2=Heavy,7=Buster } } } } WaveSpawn { TotalCount 1 WaitForAllDead "a3" SpawnCount 1 Support Limited FirstSpawnOutput { Target playerResInWave //REQUIRED | Used to tell self res logic that wave is active/inactive, include one at the very start of the wave and one at the very end of the wave Action ToggleTest } } WaveSpawn { Name "a3.1" WaitForAllDead "a2.1" Where spawnbot_redspawn_mid TotalCount 40 MaxActive 16 SpawnCount 4 WaitBeforeStarting 0 WaitBetweenSpawns 5 TotalCurrency 100 TFBot { Class Heavyweapons ItemAttributes { Itemname "TF_weapon_shotgun_hwg" "bullets per shot bonus" 3 "damage penalty" 0.5 "fire rate penalty" 2.5 "faster reload rate" 0.1 } UseBestWeapon 1 Skill Hard Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 "damage force reduction" 0 "airblast disabled" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } } WaveSpawn { Name "lastditch" WaitForAllDead "a3" Where spawnbot_redspawn_1 Where spawnbot_redspawn_2 TotalCount 999 MaxActive 5 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 2 TotalCurrency 0 TFBot { Template T_TFBot_Sniper_Huntsman Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 "damage force reduction" 0 "airblast disabled" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } } WaveSpawn // Dummy { WaitForAllDead "a3" TotalCount 1 SpawnCount 1 Name "allded" } WaveSpawn // Dummy { WaitForAllDead "a3.1" TotalCount 1 SpawnCount 1 Name "allded" } WaveSpawn // Dummy { WaitForAllSpawned "allded" TotalCount 1 SpawnCount 1 FirstSpawnOutput { Target hatch_reveal_relay Action Trigger } } WaveSpawn { Name "lastditch" WaitForAllDead "a3" Where spawnbot_redspawn_1 Where spawnbot_redspawn_2 TotalCount 999 MaxActive 5 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 2 TotalCurrency 0 TFBot { Template T_TFBot_Sniper_Huntsman Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 "damage force reduction" 0 //"airblast disabled" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } } WaveSpawn { Name "lastditch" WaitForAllDead "a3" Where spawnbot_redspawn_1 Where spawnbot_redspawn_2 TotalCount 999 MaxActive 5 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 2 TotalCurrency 0 TFBot { Template T_TFBot_Spy_Diamondback Classicon spy_diamond Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 "damage force reduction" 0 //"airblast disabled" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } } WaveSpawn { Name "lastditch" WaitForAllDead "a3" Where spawnbot_redspawn_1 Where spawnbot_redspawn_2 TotalCount 999 MaxActive 5 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 2 TotalCurrency 0 TFBot { Template T_TFBot_Medic_Crossbow Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 "damage force reduction" 0 //"airblast disabled" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } } } Wave // Wave 3 { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } InitWaveOutput { Target holograms_3way_relay Action Trigger } SpawnTemplate Reverse_Hints_Sniper SpawnTemplate Engineer_Hints //SpawnTemplate Fence_Tunnel SpawnTemplate Obj_Sentries WaveSpawn { TotalCount 1 SpawnCount 1 Support Limited FirstSpawnOutput { Target playerResVal3 //set res count to one of 3 set Action GetValue } } WaveSpawn { TotalCount 1 SpawnCount 1 Support Limited FirstSpawnOutput { Target playerResInWave //REQUIRED | Used to tell self res logic that wave is active/inactive, include one at the very start of the wave and one at the very end of the wave Action ToggleTest } } WaveSpawn { Name "Busters" Where spawnbot TotalCount 999 MaxActive 1 SpawnCount 1 WaitBeforeStarting 30 WaitBetweenSpawns 60 TotalCurrency 0 Support 1 TFBot { Template T_TFBot_SentryBuster_Fix Action SuicideBomber ClassIcon blu2_lite UseBusterModel 1 CharacterAttributes { "collect currency on kill" 1 } } } WaveSpawn { Name "BLU_Robots" Where spawnbot TotalCount 999 MaxActive 3 SpawnCount 1 WaitBeforeStarting 2 WaitBetweenSpawns 6.5 TotalCurrency 0 Support 1 RandomChoice { TFBot { Template T_TFBot_Soldier_Extended_Battalion Skill Expert ClassIcon sentry_gun_lvl3_red_lite } TFBot { Template T_TFBot_Soldier_Extended_Concheror Skill Expert ClassIcon blu2_lite CharacterAttributes { "collect currency on kill" 1 } } TFBot { Template T_TFBot_Soldier_Extended_Buff_Banner Skill Expert ClassIcon blu2_lite CharacterAttributes { "collect currency on kill" 1 } } } } WaveSpawn { Name "a1.1" Where spawnbot_front_right Where spawnbot_littlehouse Where spawnbot_front_sniperspot Where spawnbot_front_left TotalCount 45 MaxActive 15 SpawnCount 15 WaitBeforeStarting 0 WaitBetweenSpawns 0.001 TotalCurrency 100 TFBot { Template T_TFBot_Soldier_Crit Attributes DisableDodge //Attributes AlwaysCrit Action Mobber CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 "damage force reduction" 0 //"airblast disabled" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } } WaveSpawn { Name "a1.1" Where spawnbot_front_left TotalCount 2 MaxActive 2 SpawnCount 2 WaitBeforeStarting 0 WaitBetweenSpawns 0 TotalCurrency 100 Squad { TFBot { Template T_TFBot_Giant_Pyro_Dragon Attributes DisableDodge Item "the flare gun" UseBestWeapon 1 Action Mobber CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 "damage force reduction" 0 //"airblast disabled" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } TFBot { Template T_TFBot_Giant_Medic_Vaccinator_Fire_Reverse Attributes DisableDodge Tag bot_squad_member CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 "damage force reduction" 0 "uber duration bonus" -7.9 //"airblast disabled" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } } } WaveSpawn { Name "a1.2" Where spawnbot_front_right TotalCount 2 MaxActive 2 SpawnCount 2 WaitBeforeStarting 0 WaitBetweenSpawns 0 TotalCurrency 100 Squad { TFBot { Template T_TFBot_Giant_Pyro_Dragon Attributes DisableDodge Action Mobber Item "the flare gun" UseBestWeapon 1 CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 "damage force reduction" 0 //"airblast disabled" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } TFBot { Template T_TFBot_Giant_Medic_Vaccinator_Fire_Reverse Attributes DisableDodge Tag bot_squad_member CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 "damage force reduction" 0 "uber duration bonus" -7.9 //"airblast disabled" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } } } WaveSpawn { Name "a2" WaitForAllSpawned "a1.1" Where spawnbot_rock TotalCount 2 MaxActive 2 SpawnCount 2 WaitBeforeStarting 0 WaitBetweenSpawns 0 TotalCurrency 100 Squad { TFBot { Template T_TFBot_Giant_Heavyweapons_Deflector_Fix Attributes DisableDodge Action Mobber CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 "damage force reduction" 0 //"airblast disabled" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } TFBot { Template T_TFBot_Giant_Medic_Vaccinator_Blast_Reverse Attributes DisableDodge Tag bot_squad_member CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 "damage force reduction" 0 "uber duration bonus" -7.9 //"airblast disabled" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } } } WaveSpawn { Name "a2" WaitForAllSpawned "a1.1" Where spawnbot_redspawn_mid TotalCount 2 MaxActive 2 SpawnCount 2 WaitBeforeStarting 0 WaitBetweenSpawns 0 TotalCurrency 100 Squad { TFBot { Template T_TFBot_Giant_Heavyweapons_Deflector_Fix Attributes DisableDodge Action Mobber CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 "damage force reduction" 0 //"airblast disabled" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } TFBot { Template T_TFBot_Giant_Medic_Vaccinator_Blast_Reverse Attributes DisableDodge Tag bot_squad_member CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 "damage force reduction" 0 "uber duration bonus" -7.9 //"airblast disabled" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } } } WaveSpawn { Name "a2" WaitForAllSpawned "a1.1" Where spawnbot_hatch TotalCount 4 MaxActive 4 SpawnCount 4 WaitBeforeStarting 0 WaitBetweenSpawns 0 TotalCurrency 100 Squad { TFBot { Template T_TFBot_Giant_Heavyweapons_Deflector_Fix Attributes DisableDodge Action Mobber CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 "damage force reduction" 0 //"airblast disabled" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } TFBot { Template T_TFBot_Giant_Medic_Vaccinator_Blast_Reverse Attributes DisableDodge Tag bot_squad_member CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 "damage force reduction" 0 "uber duration bonus" -7.9 //"airblast disabled" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } } } WaveSpawn { Name "a2.1" WaitForAllSpawned "a1.1" Where spawnbot_redspawn_mid Where spawnbot_spawn_left Where spawnbot_rock TotalCount 32 MaxActive 8 SpawnCount 1 WaitBeforeStarting 10 WaitBetweenSpawns 1 TotalCurrency 100 TFBot { Template T_TFBot_Pyro_Homing_Flare ItemAttributes { Itemname "The flare gun" "damage bonus" 2 } Attributes DisableDodge //Attributes AlwaysCrit Action Mobber CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 "damage force reduction" 0 //"airblast disabled" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } } WaveSpawn { Name "a3" WaitForAllDead "a2" Where spawnbot_hatch_below_tunnel Where spawnbot_hatch Where spawnbot_spawn_left TotalCount 12 MaxActive 6 SpawnCount 2 WaitBeforeStarting 0 WaitBetweenSpawns 10 TotalCurrency 100 TFBot { Template T_TFBot_Giant_Demoman_Hybrid Attributes DisableDodge Attributes AlwaysCrit Action Sniper CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 "damage force reduction" 0 "voice pitch scale" 0 //"airblast disabled" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } } WaveSpawn { Name "a3" WaitForAllDead "a2" Where spawnbot_hatch_below_tunnel TotalCount 9 MaxActive 3 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 8 TotalCurrency 100 RandomChoice { TFBot { Template T_TFBot_Giant_Soldier_Extended_Battalion Attributes DisableDodge Attributes AlwaysCrit Action Mobber CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 "damage force reduction" 0 //"airblast disabled" 1 "voice pitch scale" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } TFBot { Template T_TFBot_Giant_Soldier_Extended_Battalion Attributes DisableDodge Attributes AlwaysCrit Action FetchFlag CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 "damage force reduction" 0 "cannot pick up intelligence" 1 //"airblast disabled" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } } } WaveSpawn { Name "a3.2" WaitForAllDead "a2.1" Where spawnbot_redspawn_mid Where spawnbot_spawn_left Where spawnbot_rock TotalCount 18 MaxActive 6 SpawnCount 6 WaitBeforeStarting 15 WaitBetweenSpawns 0 TotalCurrency 100 RandomChoice { TFBot { Template T_TFBot_Soldier_DirectHit Attributes DisableDodge Action Mobber CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 "damage force reduction" 0 //"airblast disabled" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } TFBot { Template T_TFBot_Soldier_DirectHit Attributes DisableDodge Action FetchFlag CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 "damage force reduction" 0 "cannot pick up intelligence" 1 //"airblast disabled" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } } } WaveSpawn { Name "a3.1" WaitForAllDead "a2.1" Where spawnbot_redspawn_mid Where spawnbot_spawn_left Where spawnbot_rock TotalCount 18 MaxActive 12 SpawnCount 1 WaitBeforeStarting 15 WaitBetweenSpawns 0.001 TotalCurrency 100 RandomChoice { TFBot { Class Heavyweapons Skill Hard Attributes DisableDodge //Attributes AlwaysCrit Action Mobber CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 "damage force reduction" 0 //"airblast disabled" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } TFBot { Class Heavyweapons Skill Hard Attributes DisableDodge //Attributes AlwaysCrit Action FetchFlag CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 "damage force reduction" 0 "cannot pick up intelligence" 1 //"airblast disabled" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } } } WaveSpawn // Dummy { WaitForAllDead "a3.1" TotalCount 1 SpawnCount 1 Name "ded" } WaveSpawn // Dummy { WaitForAllDead "a3" TotalCount 1 SpawnCount 1 Name "ded" } WaveSpawn // Dummy { WaitForAllSpawned "ded" TotalCount 1 SpawnCount 1 FirstSpawnOutput { Target hatch_reveal_relay Action Trigger } } WaveSpawn { Name "last_defense" WaitForAllSpawned "ded" Where spawnbot_redspawn_1 Where spawnbot_redspawn_2 TotalCount 999 MaxActive 3 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 2 TotalCurrency 0 TFBot { Template T_TFBot_Soldier_Backup Skill Hard Action Mobber Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 "damage force reduction" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } } WaveSpawn { Name "last_defense" WaitForAllSpawned "ded" Where spawnbot_redspawn_1 Where spawnbot_redspawn_2 TotalCount 999 MaxActive 3 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 2 TotalCurrency 0 TFBot { Template T_TFBot_Soldier_Conch Skill Hard Action Mobber Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 "damage force reduction" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } } WaveSpawn { Name "last_defense" WaitForAllSpawned "ded" Where spawnbot_redspawn_1 Where spawnbot_redspawn_2 TotalCount 999 MaxActive 3 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 2 TotalCurrency 0 TFBot { Template T_TFBot_Soldier_Buff_Banner Skill Hard Action Mobber Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 "damage force reduction" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } } WaveSpawn { TotalCount 1 WaitForAllSpawned "ded" SpawnCount 1 Support Limited FirstSpawnOutput { Target playerResInWave //REQUIRED | Used to tell self res logic that wave is active/inactive, include one at the very start of the wave and one at the very end of the wave Action ToggleTest } } } Wave // Wave 4 { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } InitWaveOutput { Target holograms_3way_relay Action Trigger } SpawnTemplate Reverse_Hints_Sniper SpawnTemplate Engineer_Hints //SpawnTemplate Fence_Tunnel SpawnTemplate Obj_Sentries Explanation { line "{green}Giants will accomodate you now!" line "{green}For the rest of the mission, Enemy Sentry Busters will come after you." } WaveSpawn { TotalCount 1 SpawnCount 1 Support Limited FirstSpawnOutput { Target playerResVal3 //set res count to one of 3 set Action GetValue } } WaveSpawn { TotalCount 1 SpawnCount 1 Support Limited FirstSpawnOutput { Target playerResInWave //REQUIRED | Used to tell self res logic that wave is active/inactive, include one at the very start of the wave and one at the very end of the wave Action ToggleTest } } WaveSpawn { Name "Busters" Where spawnbot TotalCount 999 MaxActive 1 SpawnCount 1 WaitBeforeStarting 30 WaitBetweenSpawns 60 TotalCurrency 0 Support 1 TFBot { Template T_TFBot_SentryBuster_Fix Action SuicideBomber ClassIcon blu2_lite UseBusterModel 1 CharacterAttributes { "collect currency on kill" 1 } } } WaveSpawn { Name "Busters_red" Where spawnbot_spawn_left Where spawnbot_hatch_below_tunnel TotalCount 999 MaxActive 1 SpawnCount 1 WaitBeforeStarting 70 WaitBetweenSpawns 45 TotalCurrency 0 Support 1 TFBot { Template T_TFBot_SentryBuster_Fix Action SuicideBomber NoPushaway 1 ClassIcon sentry_buster_red UseCustomModel "models\bots\demo\red_sentry_buster_v2.mdl" AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } //UseBusterModel 1 } } WaveSpawn { Name "BLU_Robots" Where spawnbot TotalCount 999 MaxActive 3 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 6.5 TotalCurrency 0 Support 1 RandomChoice { TFBot { Template T_TFBot_Heavy_IronFist_Airblast Skill Expert CharacterAttributes { "collect currency on kill" 1 } ClassIcon blu2_lite } TFBot { Class Heavyweapons Skill Expert CharacterAttributes { "collect currency on kill" 1 } ClassIcon sentry_gun_lvl3_red_lite } TFBot { Template T_TFBot_Scout_Milk_Only Skill Expert CharacterAttributes { "collect currency on kill" 1 } ClassIcon blu2_lite } TFBot { Template T_TFBot_Scout_Milk_Only Skill Expert CharacterAttributes { "collect currency on kill" 1 } ClassIcon blu2_lite } TFBot { Template T_TFBot_Demoman_Samurai Skill Expert ClassIcon blu2_lite CharacterAttributes { "collect currency on kill" 1 } } TFBot { Template T_TFBot_Giant_Sniper_Huntsman AimLeadProjectileSpeed 1 Skill Expert ClassIcon blu2_lite CharacterAttributes { "collect currency on kill" 1 } } } } WaveSpawn { Name "RED_Robots" Where spawnbot_redspawn_1 Where spawnbot_redspawn_2 TotalCount 999 MaxActive 3 SpawnCount 3 WaitBeforeStarting 0 WaitBetweenSpawns 45 TotalCurrency 0 Support 1 RandomChoice { TFBot { Template T_TFBot_Spy ItemAttributes { Itemname "tf_weapon_knife" "armor piercing" 100 "fire rate bonus" 0.8 } Skill Expert Classicon spy_sniper Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 "damage force reduction" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } TFBot { Template T_TFBot_Sniper_Sydney_Sleeper Skill Expert Classicon spy_sniper CharacterAttributes { "collect currency on kill" 1 } Action Sniper Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 "damage force reduction" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } } } WaveSpawn { Name "a1" Where spawnbot_front_left Where spawnbot_front_right Where spawnbot_front_sniperspot TotalCount 15 MaxActive 10 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 2 TotalCurrency 100 TFBot { Template T_TFBot_Giant_Soldier Skill Expert Action Mobber Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 "damage force reduction" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } } WaveSpawn { Name "a1.1" Where spawnbot_front_left Where spawnbot_front_right TotalCount 40 MaxActive 10 SpawnCount 5 WaitBeforeStarting 0 WaitBetweenSpawns 10 TotalCurrency 100 TFBot { Template T_TFBot_Sniper_Jarwacka Skill Expert Action Mobber Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 "damage force reduction" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } } WaveSpawn { Name "a2" WaitForAllSpawned "a1" Where spawnbot_rock TotalCount 2 MaxActive 2 SpawnCount 2 WaitBeforeStarting 25 // 25 WaitBetweenSpawns 0 TotalCurrency 100 Squad { ShouldPreserveSquad 1 TFBot { Template T_TFBot_Giant_Medic_CrossBurst Skill Expert Action Mobber Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 "damage force reduction" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } TFBot { Template T_TFBot_Giant_Medic_Kritz Skill Expert Tag bot_squad_member Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 "damage force reduction" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } } } WaveSpawn { Name "a2" WaitForAllSpawned "a1" Where spawnbot_rock TotalCount 2 MaxActive 2 SpawnCount 2 WaitBeforeStarting 25 // 25 WaitBetweenSpawns 0 TotalCurrency 100 Squad { ShouldPreserveSquad 1 TFBot { Template T_TFBot_Giant_Medic_CrossBurst Skill Expert Action Mobber Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 "damage force reduction" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } TFBot { Template T_TFBot_Giant_Medic_Kritz Skill Expert Tag bot_squad_member Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 "damage force reduction" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } } } WaveSpawn // Tank FIRSTRED { Name "tankboss1_red" WaitForAllDead "a2" TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 0 TotalCurrency 100 Tank { Name "tankboss" StartingPathTrackNode "tank_path_second_1" Health 50000 Speed 60 ClassIcon tank_red Teamnum 2 Model //Set custom model on tank. Will spit harmless errors on client console if the model does not have enough sequences { Default "models/bots/boss_bot/boss_tankred.mdl" Damage1 "models/bots/boss_bot/boss_tankred_damage1.mdl" Damage2 "models/bots/boss_bot/boss_tankred_damage2.mdl" Damage3 "models/bots/boss_bot/boss_tankred_damage3.mdl" Destruction "models/bots/boss_bot/boss_tankred_part1_destruction.mdl" LeftTrack "models/bots/boss_bot/tankred_track_l.mdl" RightTrack "models/bots/boss_bot/tankred_track_r.mdl" Bomb "models/bots/boss_bot/bombblue_mechanism.mdl" } OnKilledOutput { Target boss_dead_relay Action Trigger } OnBombDroppedOutput { Target redwin_relay Action Trigger } } } WaveSpawn { Name "a2.1" WaitForAllSpawned "a1" Where spawnbot_spawn_left Where spawnbot_redspawn_mid Where spawnbot_hatch_below_tunnel TotalCount 50 MaxActive 10 SpawnCount 10 WaitBeforeStarting 0 WaitBetweenSpawns 40 TotalCurrency 100 RandomChoice { TFBot { Class Heavyweapons Skill Normal Action Mobber Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 "damage force reduction" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } TFBot { Class Heavyweapons Skill Normal Action FetchFlag Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 "damage force reduction" 0 "cannot pick up intelligence" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } } } WaveSpawn { Name "a2.1" WaitForAllSpawned "a1" Where spawnbot_spawn_left Where spawnbot_redspawn_mid Where spawnbot_hatch_below_tunnel TotalCount 50 MaxActive 10 SpawnCount 10 WaitBeforeStarting 0 WaitBetweenSpawns 40 TotalCurrency 100 RandomChoice { TFBot { Class Soldier Skill Normal Action Mobber Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 "damage force reduction" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } TFBot { Class Soldier Skill Normal Action FetchFlag Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 "damage force reduction" 0 "cannot pick up intelligence" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } } } WaveSpawn { Name "a3" WaitForAllDead "tankboss1_red" Where spawnbot_hatch TotalCount 4 MaxActive 4 SpawnCount 4 WaitBeforeStarting 0 WaitBetweenSpawns 0 TotalCurrency 100 Squad { TFBot { Template T_TFBot_Giant_Pyro_Flare_Spammer_Fix Classicon pyro_flare_rain_red_nys Action Mobber Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 "damage force reduction" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } TFBot { Template T_TFBot_Giant_Medic_Uber Tag bot_squad_member Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 "damage force reduction" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } } } WaveSpawn { Name "a3" WaitForAllDead "tankboss1_red" Where spawnbot_spawn_left TotalCount 4 MaxActive 4 SpawnCount 4 WaitBeforeStarting 0 WaitBetweenSpawns 0 TotalCurrency 100 Squad { TFBot { Template T_TFBot_Giant_Pyro_Flare_Spammer_Fix Classicon pyro_flare_rain_red_nys Action Mobber Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 "damage force reduction" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } TFBot { Template T_TFBot_Giant_Medic_Uber Tag bot_squad_member Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 "damage force reduction" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } } } WaveSpawn { TotalCount 1 WaitForAllDead "a3" SpawnCount 1 Support Limited FirstSpawnOutput { Target playerResInWave //REQUIRED | Used to tell self res logic that wave is active/inactive, include one at the very start of the wave and one at the very end of the wave Action ToggleTest } } WaveSpawn { TotalCount 1 WaitForAllDead "a3" SpawnCount 1 Support Limited FirstSpawnOutput { Target hatch_reveal_relay Action Trigger } } WaveSpawn { Name "lastditch" WaitForAllDead "a3" Where spawnbot_redspawn_1 Where spawnbot_redspawn_2 TotalCount 999 MaxActive 5 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 2 TotalCurrency 0 TFBot { Template T_TFBot_Heavy_FistOfSteel Attributes DisableDodge Action Mobber CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 "damage force reduction" 0 "airblast disabled" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } } WaveSpawn { Name "lastditch" WaitForAllDead "a3" Where spawnbot_redspawn_1 Where spawnbot_redspawn_2 TotalCount 999 MaxActive 5 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 2 TotalCurrency 0 TFBot { Template T_TFBot_Heavy_Warrior Classicon heavy_warrior_tind_red Action Mobber Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 "damage force reduction" 0 "airblast disabled" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } } WaveSpawn { Name "lastditch" WaitForAllDead "a3" Where spawnbot_redspawn_1 Where spawnbot_redspawn_2 TotalCount 999 MaxActive 5 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 2 TotalCurrency 0 TFBot { Template T_TFBot_Heavyweapons_Heavyweight_Champ Attributes DisableDodge Classicon heavy_champ_red Action Mobber CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 "damage force reduction" 0 "airblast disabled" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } } } Wave // Wave 5 { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } InitWaveOutput { Target holograms_3way_relay Action Trigger } SpawnTemplate Reverse_Hints_Sniper SpawnTemplate Engineer_Hints //SpawnTemplate Fence_Tunnel SpawnTemplate Obj_Sentries WaveSpawn { TotalCount 1 SpawnCount 1 Support Limited FirstSpawnOutput { Target playerResVal3 //set res count to one of 3 set Action GetValue } } WaveSpawn { TotalCount 1 SpawnCount 1 Support Limited FirstSpawnOutput { Target playerResInWave //REQUIRED | Used to tell self res logic that wave is active/inactive, include one at the very start of the wave and one at the very end of the wave Action ToggleTest } } WaveSpawn { Name "Busters" Where spawnbot TotalCount 999 MaxActive 1 SpawnCount 1 WaitBeforeStarting 30 WaitBetweenSpawns 60 TotalCurrency 0 Support 1 TFBot { Template T_TFBot_SentryBuster_Fix Action SuicideBomber ClassIcon blu2_lite UseBusterModel 1 CharacterAttributes { "collect currency on kill" 1 } } } WaveSpawn { Name "Busters_red" Where spawnbot_spawn_left Where spawnbot_hatch_below_tunnel TotalCount 999 MaxActive 1 SpawnCount 1 WaitBeforeStarting 70 WaitBetweenSpawns 45 TotalCurrency 0 Support 1 TFBot { Template T_TFBot_SentryBuster_Fix Action SuicideBomber NoPushaway 1 ClassIcon sentry_buster_red UseCustomModel "models\bots\demo\red_sentry_buster_v2.mdl" AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } //UseBusterModel 1 } } WaveSpawn { Name "BLU_Robots" Where spawnbot TotalCount 999 MaxActive 3 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 6.5 TotalCurrency 0 Support 1 RandomChoice { TFBot { Template T_TFBot_Medic_BigHeal_Fix Skill Expert CharacterAttributes { "collect currency on kill" 1 } ClassIcon blu2_lite } TFBot { Template T_TFBot_Giant_Scout_Milk Skill Expert CharacterAttributes { "collect currency on kill" 1 } ClassIcon sentry_gun_lvl3_red_lite } TFBot { Template T_TFBot_Soldier_Conch Skill Expert CharacterAttributes { "collect currency on kill" 1 } ClassIcon blu2_lite } TFBot { Template T_TFBot_Medic_BigHeal_Fix Attributes SpawnWithFullCharge Attributes IgnoreFlag Skill Expert CharacterAttributes { "collect currency on kill" 1 } ClassIcon blu2_lite } TFBot { Template T_TFBot_Demoman_Samurai Skill Expert ClassIcon blu2_lite CharacterAttributes { "collect currency on kill" 1 } } TFBot { Template T_TFBot_Giant_Sniper_Huntsman AimLeadProjectileSpeed 1 Skill Expert ClassIcon blu2_lite CharacterAttributes { "collect currency on kill" 1 } } } } WaveSpawn { Name "a1.1" Where spawnbot_front_left Where spawnbot_front_right TotalCount 50 MaxActive 10 SpawnCount 2 WaitBeforeStarting 0 WaitBetweenSpawns 2 TotalCurrency 100 RandomChoice { TFBot { Template T_TFBot_Medic_SyringeGun_Milk Action Mobber Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 "damage force reduction" 0 "cannot pick up intelligence" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } TFBot { Template T_TFBot_Medic_SyringeGun_Milk Action FetchFlag Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 "damage force reduction" 0 "cannot pick up intelligence" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } } } WaveSpawn { Name "a1" Where spawnbot_front_left Where spawnbot_front_right TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 0 TotalCurrency 100 TFBot { Template T_TFBot_Boss_Pyro_BlackHole Action Mobber Health 40000 Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 "damage force reduction" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } } WaveSpawn { Name "a2" WaitForAllDead "a1" Where spawnbot_rock TotalCount 24 MaxActive 8 SpawnCount 8 WaitBeforeStarting 0 WaitBetweenSpawns 0 TotalCurrency 100 Squad { TFBot { Template T_TFBot_Giant_Soldier_SlowBarrage Attributes AlwaysCrit Action Mobber //Classicon heavy_shotgun_red Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 "damage force reduction" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } TFBot { Template T_TFBot_Medic_BigHeal_Fix Tag bot_squad_member Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 "damage force reduction" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } TFBot { Template T_TFBot_Medic_BigHeal_Fix Tag bot_squad_member Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 "damage force reduction" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } TFBot { Template T_TFBot_Medic_BigHeal_Fix Tag bot_squad_member Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 "damage force reduction" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } TFBot { Template T_TFBot_Medic_BigHeal_Fix Tag bot_squad_member Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 "damage force reduction" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } TFBot { Template T_TFBot_Medic_BigHeal_Fix Tag bot_squad_member Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 "damage force reduction" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } TFBot { Template T_TFBot_Medic_BigHeal_Fix Tag bot_squad_member Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 "damage force reduction" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } TFBot { Template T_TFBot_Medic_BigHeal_Fix Tag bot_squad_member Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 "damage force reduction" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } TFBot { Template T_TFBot_Medic_BigHeal_Fix Tag bot_squad_member Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 "damage force reduction" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } } } WaveSpawn { Name "a2.1" WaitForAllDead "a1" Where spawnbot_redspawn_mid TotalCount 40 MaxActive 18 SpawnCount 9 WaitBeforeStarting 0 WaitBetweenSpawns 12 TotalCurrency 100 RandomChoice { TFBot { Class Heavyweapons Attributes DisableDodge Action Mobber CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 "damage force reduction" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } TFBot { Class Heavyweapons Attributes DisableDodge Action FetchFlag CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 "damage force reduction" 0 "cannot pick up intelligence" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } } } WaveSpawn { Name "a3" WaitForAllSpawned "a2" Where spawnbot_redspawn_mid Where spawnbot_hatch Where spawnbot_hatch_below_tunnel TotalCount 75 MaxActive 15 SpawnCount 1 WaitBeforeStarting 30 WaitBetweenSpawns 0.001 TotalCurrency 100 RandomChoice { TFBot { Template T_TFBot_Heavy_Brass_2cities Skill Hard Attributes DisableDodge Action Mobber Classicon twocities_badge CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 "damage force reduction" 0 "cannot pick up intelligence" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } TFBot { Template T_TFBot_Soldier_TapBeggar Skill Hard Attributes DisableDodge Action Mobber Classicon twocities_badge CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 "damage force reduction" 0 "cannot pick up intelligence" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } TFBot { Template T_TFBot_Sniper_Hitmans Skill Hard Attributes DisableDodge Action Sniper Classicon twocities_badge CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 "damage force reduction" 0 "cannot pick up intelligence" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } TFBot { Template T_TFBot_Demoman_Scottish Skill Hard Attributes DisableDodge Action Mobber Classicon twocities_badge CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 "damage force reduction" 0 "cannot pick up intelligence" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } TFBot { Template T_TFBot_Pyro_Phlog Skill Hard Attributes DisableDodge Action Mobber Classicon twocities_badge CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 "damage force reduction" 0 "cannot pick up intelligence" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } TFBot { Template T_TFBot_Heavy_Brass_2cities Skill Hard Attributes DisableDodge Action Mobber Classicon twocities_badge CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 "damage force reduction" 0 "cannot pick up intelligence" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } TFBot { Template T_TFBot_Soldier_TapBeggar Skill Hard Attributes DisableDodge Action Mobber Classicon twocities_badge CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 "damage force reduction" 0 "cannot pick up intelligence" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } TFBot { Template T_TFBot_Sniper_Hitmans Skill Hard Attributes DisableDodge Action Mobber Classicon twocities_badge CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 "damage force reduction" 0 "cannot pick up intelligence" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } TFBot { Template T_TFBot_Demoman_Scottish Skill Hard Attributes DisableDodge Action Mobber Classicon twocities_badge CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 "damage force reduction" 0 "cannot pick up intelligence" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } TFBot { Template T_TFBot_Spy_Giantkiller Skill Hard Classicon twocities_badge Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 "damage force reduction" 0 "cannot pick up intelligence" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } TFBot { Template T_TFBot_Pyro_Phlog Skill Hard Attributes DisableDodge Action Mobber Classicon twocities_badge CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 "damage force reduction" 0 "cannot pick up intelligence" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } TFBot { Template T_TFBot_Heavy_Brass_2cities Skill Hard Attributes DisableDodge Action Mobber Classicon twocities_badge CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 "damage force reduction" 0 "cannot pick up intelligence" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } TFBot { Template T_TFBot_Soldier_TapBeggar Skill Hard Attributes DisableDodge Action Mobber Classicon twocities_badge CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 "damage force reduction" 0 "cannot pick up intelligence" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } TFBot { Template T_TFBot_Demoman_Scottish Skill Hard Attributes DisableDodge Action Mobber Classicon twocities_badge CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 "damage force reduction" 0 "cannot pick up intelligence" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } TFBot { Template T_TFBot_Pyro_Phlog Skill Hard Classicon twocities_badge Attributes DisableDodge Action Mobber CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 "damage force reduction" 0 "cannot pick up intelligence" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } TFBot { Template T_TFBot_Engineer_Wrangler Name "Wrangler Engineer" Classicon twocities_badge ExtAttr BuildDispenserAsTeleporter TeleportWhere spawnbot_redspawn_1 Skill Hard Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 "damage force reduction" 0 "cannot pick up intelligence" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } TFBot { Template T_TFBot_Medic_Kritz Skill Hard Classicon twocities_badge CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 "damage force reduction" 0 "cannot pick up intelligence" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } TFBot { Template T_TFBot_Medic_Shield Skill Hard Classicon twocities_badge CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 "damage force reduction" 0 "cannot pick up intelligence" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } } } WaveSpawn { Name "a3.1" WaitForAllSpawned "a2" Where spawnbot_spawn_left Where spawnbot_redspawn_mid Where spawnbot_rock Where spawnbot_hatch TotalCount 16 MaxActive 8 SpawnCount 2 WaitBeforeStarting 30 WaitBetweenSpawns 10 TotalCurrency 100 Squad { TFBot { Template T_TFBot_Giant_Demoman_Hybrid Skill Hard Action Mobber CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 "damage force reduction" 0 "cannot pick up intelligence" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } TFBot { Template T_TFBot_Giant_Medic Skill Hard Tag bot_squad_member CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 "damage force reduction" 0 "cannot pick up intelligence" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } } } WaveSpawn // Dummy { WaitForAllDead "a3" TotalCount 1 SpawnCount 1 Support Limited Name "ded" } WaveSpawn // Dummy { WaitForAllDead "a3.1" TotalCount 1 SpawnCount 1 Support Limited Name "ded" } WaveSpawn // Dummy { WaitForAllSpawned "ded" TotalCount 1 SpawnCount 1 Name "allded" Support Limited FirstSpawnOutput { Target hatch_reveal_relay Action Trigger } } WaveSpawn { TotalCount 1 SpawnCount 1 WaitForAllSpawned "allded" Support Limited FirstSpawnOutput { Target playerResInWave //REQUIRED | Used to tell self res logic that wave is active/inactive, include one at the very start of the wave and one at the very end of the wave Action ToggleTest } } WaveSpawn { Name "lastditch" WaitForAllSpawned "allded" Where spawnbot_redspawn_1 Where spawnbot_redspawn_2 TotalCount 999 MaxActive 5 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 2 TotalCurrency 0 TFBot { Template T_TFBot_Pyro_Phlog Attributes DisableDodge Action Mobber CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 "damage force reduction" 0 "airblast disabled" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } } WaveSpawn { Name "lastditch" WaitForAllSpawned "allded" Where spawnbot_redspawn_1 Where spawnbot_redspawn_2 TotalCount 999 MaxActive 5 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 2 TotalCurrency 0 TFBot { Template T_TFBot_Pyro_Dragon Attributes DisableDodge Action Mobber CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 "damage force reduction" 0 "airblast disabled" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } } WaveSpawn { Name "lastditch" WaitForAllSpawned "allded" Where spawnbot_hatch Where spawnbot_spawn_left TotalCount 999 MaxActive 5 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 2 TotalCurrency 0 TFBot { Template T_TFBot_Giant_Scout_Milk Attributes DisableDodge Action Mobber CharacterAttributes { "crit mod disabled" 0 "force distribute currency on death" 1 "damage force reduction" 0 "airblast disabled" 1 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } } } Wave // Wave 6 { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } InitWaveOutput { Target holograms_3way_relay Action Trigger } WaveSpawn { TotalCount 1 SpawnCount 1 Support Limited FirstSpawnOutput { Target playerResVal3 //set res count to one of 3 set Action GetValue } } WaveSpawn { TotalCount 1 SpawnCount 1 Support Limited FirstSpawnOutput { Target playerResInWave //REQUIRED | Used to tell self res logic that wave is active/inactive, include one at the very start of the wave and one at the very end of the wave Action ToggleTest } } WaveSpawn { Name "Busters" Where spawnbot TotalCount 999 MaxActive 1 SpawnCount 1 WaitBeforeStarting 30 WaitBetweenSpawns 60 TotalCurrency 0 Support 1 TFBot { Template T_TFBot_SentryBuster_Fix Action SuicideBomber ClassIcon blu2_lite UseBusterModel 1 CharacterAttributes { "collect currency on kill" 1 } } } WaveSpawn { Name "Busters_red" Where spawnbot_spawn_left Where spawnbot_hatch_below_tunnel TotalCount 999 MaxActive 1 SpawnCount 1 WaitBeforeStarting 70 WaitBetweenSpawns 45 TotalCurrency 0 Support 1 TFBot { Template T_TFBot_SentryBuster_Fix Action SuicideBomber NoPushaway 1 ClassIcon sentry_buster_red UseCustomModel "models\bots\demo\red_sentry_buster_v2.mdl" AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } //UseBusterModel 1 } } WaveSpawn { Name "BLU_Robots" Where spawnbot TotalCount 999 MaxActive 3 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 6.5 TotalCurrency 0 Support 1 RandomChoice { TFBot { Template T_TFBot_Heavy_IronFist_Airblast Skill Expert CharacterAttributes { "collect currency on kill" 1 } ClassIcon blu2_lite } TFBot { Template T_TFBot_Giant_Heavyweapons_Shotgun Skill Expert CharacterAttributes { "collect currency on kill" 1 } ClassIcon sentry_gun_lvl3_red_lite } TFBot { Template T_TFBot_Giant_Soldier Skill Expert CharacterAttributes { "collect currency on kill" 1 } ClassIcon blu2_lite } TFBot { Template T_TFBot_Giant_Demoman_Knight_Fix Skill Expert CharacterAttributes { "collect currency on kill" 1 } ClassIcon blu2_lite } TFBot { Template T_TFBot_Giant_Pyro Skill Expert ClassIcon blu2_lite CharacterAttributes { "collect currency on kill" 1 } } TFBot { Template T_TFBot_Giant_Sniper_Huntsman AimLeadProjectileSpeed 1 Skill Expert ClassIcon blu2_lite CharacterAttributes { "collect currency on kill" 1 } } } } WaveSpawn { Name "boss1" Where spawnbot_front_sniperspot TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 0 TotalCurrency 0 FirstSpawnWarningSound "vo\mvm\norm\heavy_mvm_domination12.mp3" TFBot { Template T_TFBot_Chief_Heavyweapons_Fix Action Mobber CharacterAttributes { "crit mod disabled" 0 "damage force reduction" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } //UseBusterModel 1 } } WaveSpawn { Name "a1" WaitForAllDead "boss1" Where spawnbot_rock TotalCount 40 MaxActive 10 SpawnCount 2 WaitBeforeStarting 20 WaitBetweenSpawns 2 TotalCurrency 100 Squad { TFBot { Template T_TFBot_Soldier_DirectHit Action Mobber Attributes DisableDodge CharacterAttributes { "crit mod disabled" 0 "damage force reduction" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } TFBot { Template T_TFBot_Medic_Kritz Tag bot_squad_member CharacterAttributes { "crit mod disabled" 0 "damage force reduction" 0 } AddCond { Name "TF_COND_REPROGRAMMED" } AddCond { Name "TF_COND_INVULNERABLE" Duration 1.5 } } } } WaveSpawn { Name "a2.1" WaitForAllSpawned "a1" Where spawnbot_rock TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 0 TotalCurrency 0 TFBot { Template T_TFBot_Giant_Heavyweapons_Deflector_Fix } } } }