#base robot_standard.pop #base robot_giant.pop #base robot_stardust_vscript.pop WaveSchedule { StartingCurrency 800 CanBotsAttackWhileInSpawnRoom no RespawnWaveTime 5 FixedRespawnWaveTime 1 // AddSentryBusterWhenDamageDealtExceeds 3000 // AddSentryBusterWhenKillCountExceeds 15 Advanced 1 // EventPopfile Halloween Templates { T_TFBot_Scout_FAN_NoKB { Class Scout Skill Expert ClassIcon scout_fan Name "Blunt-A-Nature Scout" Item "The Fed-Fightin' Fedora" Item "The Force-a-Nature" MaxVisionRange 800 ItemAttributes { ItemName "The Force-a-Nature" "scattergun has knockback" 0 "damage penalty" 1 } } T_TFBot_Demo_Cannon { Class Demoman Name "Cannon Demo" ClassIcon demo_giant Skill Expert WeaponRestrictions PrimaryOnly Item "The Loose Cannon" Attributes HoldFireUntilFullReload ItemAttributes { ItemName "The Loose Cannon" "grenade launcher mortar mode" 0 } } T_TFBot_Giant_Demoman_Clusterbomb { Name "Giant Clusterbomb Demo" Class Demoman ClassIcon demo_burst_red_hyper_lite Scale 1.75 Health 3500 Attributes MiniBoss Attributes HoldFireUntilFullReload Skill Expert MaxVisionRange 2000 WeaponRestrictions PrimaryOnly Tag bot_giant Item "Upgradeable TF_WEAPON_GRENADELAUNCHER" Item "The Pure Tin Capotain" ItemAttributes { ItemName "Upgradeable TF_WEAPON_GRENADELAUNCHER" "faster reload rate" 0.12 "clip size bonus" 1.5 "fire rate bonus" 0.25 "blast radius decreased" 0.8 "damage penalty" 0.8 "projectile spread angle penalty" 4 "maxammo primary increased" 54 "projectile speed decreased" 0.75 "projectile range increased" 1.5 } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.4 "airblast vulnerability multiplier" 0.4 "override footstep sound set" 4 } } T_TFBot_Giant_Heavyweapons_ScrapCannon { Name "Giant Scrapcannon Heavy" Class Heavyweapons ClassIcon heavy_shotgun_red_burst_giant Scale 1.75 Health 5000 Attributes MiniBoss Attributes HoldFireUntilFullReload Skill Expert MaxVisionRange 1200 WeaponRestrictions SecondaryOnly Tag bot_giant Item "Upgradeable TF_WEAPON_SHOTGUN_PRIMARY" Item "The Sinner's Shade" ItemAttributes { ItemName "Upgradeable TF_WEAPON_SHOTGUN_PRIMARY" "damage penalty" 0.75 "clip size penalty" 0.65 "reload time increased hidden" 2 "bullets per shot bonus" 4 "fire rate bonus" 0.75 "weapon spread bonus" 1.5 } CharacterAttributes { "move speed bonus" 0.7 "damage force reduction" 0.2 "airblast vulnerability multiplier" 0.2 "override footstep sound set" 2 } Tag "popext_reprogrammed" Tag "popext_mobber" CharacterAttributes { "ammo regen" 99 "voice pitch scale" 0 "cannot pick up intelligence" 1 "voice pitch scale" 0 } } T_TFBot_Spy_Revolver { Class Scout Skill Expert ClassIcon spy_revolver_lite Name "Revolver Spy" MaxVisionRange 800 WeaponRestrictions PrimaryOnly Tag "popext_usecustommodel|models/bots/spy/bot_spy.mdl" Tag "popext_giveweapon|tf_weapon_revolver|210" CharacterAttributes { "move speed penalty" 0.85 "voice pitch scale" 0 } } T_TFBot_Engineer_Pomson { Class Scout Skill Expert ClassIcon engineer_pomson Name "Pomson Engineer" MaxVisionRange 800 Tag "bot_engi_pomson" WeaponRestrictions PrimaryOnly Item "The Brainiac Hairpiece" Tag "popext_giveweapon|tf_weapon_drg_pomson|588" Tag "popext_usecustommodel|models/bots/engineer/bot_engineer.mdl" CharacterAttributes { "move speed penalty" 0.75 "voice pitch scale" 0 "damage penalty" 0.5 } } T_TFBot_Pyro_Scorch_NoPush { Class Pyro Name "Pyro Pusher" Skill Expert ClassIcon pyro_flare Item "The Scorch Shot" WeaponRestrictions SecondaryOnly Attributes AlwaysCrit ItemAttributes { ItemName "The Scorch Shot" "mod flaregun fires pellets with knockback" 0 } } T_TFBot_Heavy_Ironhands { Class Heavyweapons Skill Expert WeaponRestrictions MeleeOnly Name "Iron Hands" ClassIcon heavy_chief Health 1200 // increased health due to move speed penalty Scale 1.4 Item "War Head" Item "Fists of Steel" ItemAttributes { ItemName "Fists of Steel" "fire rate bonus" 0.6 "damage bonus" 5 } CharacterAttributes { "move speed bonus" 0.4 } } T_TFBot_Giant_Heavyweapons_Heater_FireOnly { Name "Giant Heater Heavy" Class Heavyweapons ClassIcon heavy_heater_giant Health 5000 Attributes MiniBoss Skill Expert MaxVisionRange 1200 WeaponRestrictions PrimaryOnly Tag bot_giant Item "The Huo Long Heatmaker" Item "The Bunsen Brave" ItemAttributes { ItemName "The Huo Long Heatmaker" "damage penalty" 1 "damage bonus vs burning" 1.5 "ring of fire while aiming" 20 } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.2 "airblast vulnerability multiplier" 0.2 "override footstep sound set" 2 } } T_TFBot_Giant_Scout_Pistol_Burst { Name "Giant Blunt Pistol Scout" Class Scout ClassIcon scout_pistol_hyper Scale 1.75 Health 2000 Attributes MiniBoss Attributes HoldFireUntilFullReload Skill Expert MaxVisionRange 1500 WeaponRestrictions SecondaryOnly Tag bot_giant Item "Upgradeable TF_WEAPON_PISTOL" Item "Death Racer's Helmet" ItemAttributes { ItemName "Upgradeable TF_WEAPON_PISTOL" "bullets per shot bonus" 6 "clip size penalty" 0.75 "reload time increased hidden" 4 "fire rate bonus" 0.8 "spread penalty" 1.25 "damage penalty" 0.7 } CharacterAttributes { "move speed bonus" 0.8 "damage force reduction" 0.7 "airblast vulnerability multiplier" 0.7 "override footstep sound set" 5 "ammo regen" 99 "voice pitch scale" 0 } } } Wave // Wave 1 // 6min 42 sec { InitWaveOutput { Target gamerules Action RunScriptCode Param " // Load popextensions script IncludeScript(`popextensions_main.nut`, getroottable()) IncludeScript(`tensai_point_templates.nut`) IncludeScript(`tensai_reverse.nut`) //IncludeScript(`mvm_tensai_rc3_rev_adv_trojan_programming_vscript_tags.nut`) // PopExt.AddRobotTag(`bot_bombholder`, { // OnSpawn = function(bot, tag) { // local wep = bot.GetActiveWeapon() // wep.DisableDraw() // } // }) SpawnTemplate(`SetUp_Logic`) SpawnTemplate(`RobotSpawns`) SpawnTemplate(`UpgradeBLUSTATION`) SpawnTemplate(`ControlPoint1`) SpawnTemplate(`ControlPoint4`) SpawnTemplate(`ControlPoint3`) SpawnTemplate(`ControlPoint2`) SpawnTemplate(`CoreControlPoints`) SpawnTemplate(`hatch_stuff`) SetIconsWave1() //load mission attributes MissionAttributes.SetConvar(`tf_bot_escort_range`, 99999) MissionAttributes.SetConvar(`tf_bot_flag_escort_range`, 99999) MissionAttributes.SetConvar(`tf_bot_flag_escort_max_count`, 0) MissionAttrs({ `ReverseMVM`: 1|8|16|32 `RedBotsNoRandomCrit`: 1 `NoReanimators`: 1 `SniperHideLasers`: 1 `BotHeadshots`: 1 `PlayersAreRobots`: 1|4 `PlayerAttributes`: { `ammo regen` : 1, [TF_CLASS_ENGINEER] = { `max health additive bonus` : 125, `metal regen` : 999, }, } `ItemAttributes`: { //soldier `The Beggar's Bazooka` : { `damage penalty` : 0.85 `clip size bonus` : 1.75 `reload time increased hidden` : 2 } //engie `The Rescue Ranger` : { `max health additive penalty` : -25 `projectile speed decreased` : 0.75 `reload time increased` : 1.25 } `The Widowmaker` : { `damage penalty` : 0.8 } `The Short Circuit` : { `max health additive penalty` : -50 `fire rate penalty` : 4 } `The Wrangler` : { `engy building health bonus` : 0.85 } } }) //Info(`Capture enemy control points!|PAUSE 2|The area must be mapped out to ensure proper planning!`, `FFFF66`, `Explanation: `, true) " } StartWaveOutput { Target wave_start_relay_classic Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } // WaveSpawn // { // Name "stoopid" // Where spawnbot_left // TotalCount 1 // MaxActive 1 // SpawnCount 1 // WaitBeforeStarting 0 // WaitBetweenSpawns 0 // TotalCurrency 0 // Support 1 // FirstSpawnOutput // { // Target Classic_Mode_Intel // Action SetModel // Param "models\empty.mdl" // Delay 0.1 // } // RandomChoice // { // RandomChoice // { // TFBot // { // Class Scout // ClassIcon agentbomb // Skill Easy // Tag "popext_reprogrammed" // Name "Capture Control Points!" // Tag "popext_usecustommodel|models/empty.mdl" // Item "the soda popper" // Tag "bot_bombholder" // Tag "popext_spawnhere|-1512.0 -24.0 -114.9|1.5" //bomb bot // CharacterAttributes // { // "no_jump" 1 // "no_attack" 1 // "voice pitch scale" 0 // "move speed bonus" 0.00001 // } // } // } // } // } WaveSpawn { Name "p1" Where red TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 1 WaitBetweenSpawns 0 TotalCurrency 100 Support Limited FirstSpawnOutput { Target wave1_objective action trigger } RandomChoice { RandomChoice { TFBot { Template T_TFBot_Giant_Soldier_Crit_Fix Tag "popext_reprogrammed" Tag "popext_mobber" Tag "bot_gcritsoldier" Tag "popext_spawnhere|387.5 2050.7 -191.3|1.5" CharacterAttributes { "move speed bonus" 0.0001 "no_jump" 1 "voice pitch scale" 0 "maxammo primary increased" 999 "ammo regen" 99 } } } } } WaveSpawn { Name "p2_r" WaitForAllSpawned "a1" Where spawnbot_invasion TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 0.2 WaitBetweenSpawns 0 TotalCurrency 100 Support Limited RandomChoice { RandomChoice { TFBot { Template T_TFBot_Giant_Soldier_Crit_Fix Tag "popext_reprogrammed" Tag "bot_gcritsoldier" Tag "popext_mobber" Tag "popext_spawnhere|-954.5 22.2 -122.1|1.5" CharacterAttributes { "move speed bonus" 0.0001 "no_jump" 1 "voice pitch scale" 0 "maxammo primary increased" 999 "ammo regen" 99 } } } } } WaveSpawn { Name "p2_l" WaitForAllSpawned "a1" Where spawnbot_invasion TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 0.2 WaitBetweenSpawns 0 TotalCurrency 100 Support Limited RandomChoice { RandomChoice { TFBot { Template T_TFBot_Giant_Soldier_Crit_Fix Tag "popext_reprogrammed" Tag "bot_gcritsoldier" Tag "popext_mobber" Tag "popext_spawnhere|1059.0 -307.5 0.5|1.5" CharacterAttributes { "move speed bonus" 0.0001 "no_jump" 1 "voice pitch scale" 0 "maxammo primary increased" 999 "ammo regen" 99 } } } } } WaveSpawn { Name "p3" WaitForAllSpawned "a2" Where spawnbot_lower TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 8 WaitBetweenSpawns 0 TotalCurrency 100 Support Limited RandomChoice { RandomChoice { TFBot { Template T_TFBot_Giant_Soldier_Crit_Fix Tag "popext_reprogrammed" Tag "popext_mobber" Tag "bot_gcritsoldier" Tag "popext_spawnhere|-513.6 -2254.2 -187.4|1.5" CharacterAttributes { "move speed bonus" 0.0001 "no_jump" 1 "voice pitch scale" 0 "maxammo primary increased" 999 "ammo regen" 99 } } } } } //////////////////WAVE 1 ////////////////////////////// WaveSpawn { Name "a1" Where red TotalCount 40 MaxActive 8 SpawnCount 2 WaitBeforeStarting 0.1 WaitBetweenSpawns 3 TotalCurrency 100 Support Limited FirstSpawnOutput { Target spawnbot_right Action Disable } RandomChoice { RandomChoice { TFBot { Class Scout WeaponRestrictions MeleeOnly Skill Hard Tag "popext_reprogrammed" Tag "popext_mobber" Tag "bot_scout" Tag "popext_spawnhere|431.052 2864.97 -170.812|1.5" CharacterAttributes { "maxammo primary increased" 999 "ammo regen" 99 "voice pitch scale" 0 } } TFBot { Class Scout WeaponRestrictions PrimaryOnly Skill Normal Tag "popext_reprogrammed" Tag "popext_mobber" Tag "bot_scout" Tag "popext_spawnhere|431.052 2864.97 -170.812|1.5" CharacterAttributes { "maxammo primary increased" 999 "ammo regen" 99 "voice pitch scale" 0 } } } } } WaveSpawn { Name "a1" Where red TotalCount 40 MaxActive 6 SpawnCount 3 WaitBeforeStarting 0.1 WaitBetweenSpawns 3 TotalCurrency 100 Support Limited RandomChoice { RandomChoice { TFBot { Template T_TFBot_Sniper_Huntsman Tag "popext_reprogrammed" Tag "popext_mobber" Skill Normal Tag "bot_sniper_bow" Tag "popext_spawnhere|431.052 2864.97 -170.812|1.5" CharacterAttributes { "maxammo primary increased" 999 "ammo regen" 99 "voice pitch scale" 0 "sniper no headshots" 1 } } } } } WaveSpawn { Name "a2" WaitForAllSpawned "a1" Where spawnbot_invasion TotalCount 25 MaxActive 4 SpawnCount 1 WaitBeforeStarting 15 WaitBetweenSpawns 2 TotalCurrency 100 Support Limited FirstSpawnOutput { Target spawnbot_lower Action Disable } RandomChoice { RandomChoice { TFBot { Template T_TFBot_Pyro_Flaregun ClassIcon pyro_flare_red CharacterAttributes { "maxammo primary increased" 999 "ammo regen" 99 "voice pitch scale" 0 "voice pitch scale" 0 // HEAVY IS DEAD spam } Tag "popext_reprogrammed" Tag "popext_mobber" Tag "bot_pyro_flare" Tag "popext_spawnhere|757.279 -533.434 -63.9553|1.5" // red car } TFBot { Template T_TFBot_Pyro_Flaregun ClassIcon pyro_flare_red CharacterAttributes { "maxammo primary increased" 999 "ammo regen" 99 "voice pitch scale" 0 // HEAVY IS DEAD spam } Tag "popext_reprogrammed" Tag "popext_mobber" Tag "bot_pyro_flare" Tag "popext_spawnhere|693.536 61.2251 -63.9553|1.5" // brown building } } } } WaveSpawn { Name "a2" WaitForAllSpawned "a1" Where spawnbot_invasion TotalCount 25 MaxActive 3 SpawnCount 3 WaitBeforeStarting 15 WaitBetweenSpawns 1 TotalCurrency 50 Support Limited FirstSpawnOutput { Target spawnbot_lower Action Disable } RandomChoice { RandomChoice { TFBot { Template T_TFBot_Demo_Burst_Fix Skill Expert ClassIcon demo_burst_red CharacterAttributes { "maxammo primary increased" 999 "ammo regen" 99 "voice pitch scale" 0 // HEAVY IS DEAD spam } Tag "popext_reprogrammed" Tag "popext_mobber" Tag "bot_demo_burst" Tag "popext_spawnhere|757.279 -533.434 -63.9553|1.5" // red car } TFBot { Template T_TFBot_Demo_Burst_Fix Skill Expert ClassIcon demo_burst_red CharacterAttributes { "maxammo primary increased" 999 "ammo regen" 99 "voice pitch scale" 0 // HEAVY IS DEAD spam } Tag "popext_reprogrammed" Tag "popext_mobber" Tag "bot_demo_burst" Tag "popext_spawnhere|757.279 -533.434 -63.9553|1.5" // brown building } } } } WaveSpawn { Name "a3" WaitForAllSpawned "a2" Where spawnbot_lower TotalCount 35 MaxActive 10 SpawnCount 5 WaitBeforeStarting 8 WaitBetweenSpawns 5 TotalCurrency 100 Support Limited RandomChoice { RandomChoice { TFBot { Template T_TFBot_Sniper_SMG Skill Normal CharacterAttributes { "maxammo primary increased" 999 "ammo regen" 99 "voice pitch scale" 0 } Tag "popext_reprogrammed" Tag "popext_mobber" Tag "bot_sniper_smg" Tag "popext_spawnhere|6.1997 -1155.38 -196.268|1.5" // building_left } TFBot { Template T_TFBot_Sniper_SMG Skill Normal CharacterAttributes { "maxammo primary increased" 999 "ammo regen" 99 "voice pitch scale" 0 } Tag "popext_reprogrammed" Tag "popext_mobber" Tag "bot_sniper_smg" Tag "popext_spawnhere|-303 -1144 -194|1.5" // spawnbot_building_right } } } } WaveSpawn { Name "a3" WaitForAllSpawned "a2" Where spawnbot_lower TotalCount 18 MaxActive 4 SpawnCount 4 WaitBeforeStarting 8 WaitBetweenSpawns 0 TotalCurrency 50 Support Limited RandomChoice { RandomChoice { TFBot { Class Soldier Skill Normal CharacterAttributes { "maxammo Primary increased" 999 "ammo regen" 99 "voice pitch scale" 0 } Tag "popext_reprogrammed" Tag "popext_mobber" Tag "bot_soldier" Tag "popext_spawnhere|-1441.4 -2033.9 -174.2|1.5" // spawnbot_hatch_left } TFBot { Class Soldier Skill Normal CharacterAttributes { "maxammo Primary increased" 999 "ammo regen" 99 "voice pitch scale" 0 } Tag "popext_reprogrammed" Tag "popext_mobber" Tag "bot_soldier" Tag "popext_spawnhere|665.2 -2265.4 -170.8|1.5" // spawnbot_hatch_right } } } } WaveSpawn { Name "a3" WaitForAllSpawned "a2" Where spawnbot_lower TotalCount 2 MaxActive 1 SpawnCount 1 WaitBeforeStarting 8 WaitBetweenSpawns 0 TotalCurrency 100 Support Limited RandomChoice { RandomChoice { TFBot { Template T_TFBot_Giant_Demoman_Stickybomb Skill Hard ClassIcon demo_sticky_red_daan CharacterAttributes { "maxammo primary increased" 999 "ammo regen" 99 "voice pitch scale" 0 "voice pitch scale" 0 } Tag "popext_reprogrammed" Tag "popext_mobber" Tag "bot_gstickydemo" Tag "popext_spawnhere|-434 -1952 -240.537|1.5" // spawnbot_hatch 2 } TFBot { Template T_TFBot_Giant_Demoman_Stickybomb Skill Hard ClassIcon demo_sticky_red_daan CharacterAttributes { "maxammo primary increased" 999 "ammo regen" 99 "voice pitch scale" 0 "voice pitch scale" 0 } Tag "popext_reprogrammed" Tag "popext_mobber" Tag "bot_gstickydemo" Tag "popext_spawnhere|49.2683 -1937.73 -239.173|1.5" // spawnbot_hatch 1 } } } } WaveSpawn { Name "infi" //WaitForAllDead "p3" Where spawnbot_right TotalCount 0 MaxActive 1 SpawnCount 1 WaitBeforeStarting 2 WaitBetweenSpawns 0 TotalCurrency 0 DoneOutput { Target kill_bots_wavewin Action Trigger } RandomChoice { TFBot { Template T_TFBot_Heavyweapons_Heavyweight_Champ Skill Hard Health 3 CharacterAttributes { "maxammo primary increased" 999 "ammo regen" 99 "health regen" -2 "voice pitch scale" 0 } Tag "popext_reprogrammed" Tag "popext_mobber" } } } } Wave // Wave 2 { StartWaveOutput { Target wave_start_relay_classic Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } InitWaveOutput { Target gamerules Action RunScriptCode Param " // Load popextensions script IncludeScript(`popextensions_main.nut`, getroottable()) IncludeScript(`tensai_point_templates.nut`) IncludeScript(`tensai_reverse.nut`) //IncludeScript(`mvm_tensai_rc3_rev_adv_trojan_programming_vscript_tags.nut`) // PopExt.AddRobotTag(`bot_bombholder`, { // OnSpawn = function(bot, tag) { // local wep = bot.GetActiveWeapon() // wep.DisableDraw() // } // }) PopExt.AddRobotTag(`bot_fullhead`, { OnSpawn = function(bot, tag) { SetPropInt(bot, `m_Shared.m_iDecapitations`, 5) } }) SetIconsWave2() MissionAttributes.SetConvar(`tf_bot_escort_range`, 99999) MissionAttributes.SetConvar(`tf_bot_flag_escort_range`, 99999) MissionAttributes.SetConvar(`tf_bot_flag_escort_max_count`, 0) SpawnTemplate(`SetUp_Logic`) SpawnTemplate(`RobotSpawns`) SpawnTemplate(`UpgradeBLUSTATION`) SpawnTemplate(`ObjectiveWave2`) SpawnTemplate(`hatch_stuff`) DoEntFire(`red`, `setteam`, `3`, -1, null, null) DoEntFire(`spawnbot_*`, `setteam`, `2`, -1, null, null) //load mission attributes MissionAttributes.SetConvar(`tf_mvm_bot_flag_carrier_movement_penalty`, 1) MissionAttrs({ `ReverseMVM`: 1|8|16|32 `RedBotsNoRandomCrit`: 1 `NoReanimators`: 1 `SniperHideLasers`: 1 `BotHeadshots`: 1 `PlayersAreRobots`: 1 `PlayerAttributes`: { `ammo regen` : 1, [TF_CLASS_ENGINEER] = { `max health additive bonus` : 125, `metal regen` : 999, }, } `ItemAttributes`: { //soldier `The Beggar's Bazooka` : { `damage penalty` : 0.85 `clip size bonus` : 1.75 `reload time increased hidden` : 2 } //engie `The Rescue Ranger` : { `max health additive penalty` : -25 `projectile speed decreased` : 0.75 `reload time increased` : 1.25 } `The Widowmaker` : { `damage penalty` : 0.8 } `The Short Circuit` : { `max health additive penalty` : -100 } `The Wrangler` : { `engy building health bonus` : 0.85 } } }) //Info(`Collect Robot parts by killing Giants!|PAUSE 2|We must use their parts to build a bomb!`, `FFFF66`, `Explanation: `, true) " } WaveSpawn { Name "objective_1" Where spawnbot_left TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 0 TotalCurrency 0 Support Limited DoneOutput { Target spawnbot_right Action Enable } RandomChoice { RandomChoice { TFBot { Class Scout Skill Easy Health 10 Scale 0.01 Name "Collect robot parts!" //Tag "popext_usecustommodel|models/empty.mdl" Item "the soda popper" //Tag "bot_bombholder" //Tag "popext_spawnhere|-1600 4032 -96|1.5" //objw2 Attributes UseBossHealthBar ClassIcon agentbomb Tag "popext_reprogrammed" // stops enemy bots from targeting this Attributes IgnoreFlag CharacterAttributes { "move speed penalty" 0.00001 "no_attack" 1 "no_jump" 1 "no_duck" 1 "cannot be backstabbed" 1 "dmg from ranged reduced" 0 "damage penalty" 0.01 "voice pitch scale" 0 "cancel falling damage" 1 } } } } } WaveSpawn // Dummy { TotalCount 1 SpawnCount 1 WaitBeforeStarting 0 Support limited FirstSpawnOutput { Target Classic_Mode_Intel Action disable } } WaveSpawn { Name "a1" Where spawnbot_invasion TotalCount 2 MaxActive 1 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 0 TotalCurrency 100 FirstSpawnOutput { Target spawnbot_right action disable } TFBot { Template T_TFBot_Giant_Soldier_Beggars Tag "popext_reprogrammed" Tag "popext_mobber" Tag "popext_spawnhere|-804.734 -530.879 -181.161|1.5" // spawnbot_arc Tag "bot_intelspawn" Tag "popext_spawntemplate|ObjectiveDummyIntel" CharacterAttributes { "ammo regen" 99 "voice pitch scale" 0 "cannot pick up intelligence" 1 } } } WaveSpawn { Name "a1.1" Where spawnbot_invasion TotalCount 36 MaxActive 16 SpawnCount 4 WaitBeforeStarting 0.2 WaitBetweenSpawns 2 TotalCurrency 100 RandomChoice { TFBot { Template T_TFBot_Spy_Revolver Skill Normal Tag "popext_reprogrammed" Tag "popext_mobber" Tag "popext_spawnhere|430.5 59.5 -80.0|1.5" // brownbuilding CharacterAttributes { "ammo regen" 99 "voice pitch scale" 0 "cannot pick up intelligence" 1 } } TFBot { Template T_TFBot_Spy_Revolver Skill Normal Tag "popext_reprogrammed" Tag "popext_mobber" Tag "popext_spawnhere|-804.734 -530.879 -181.161|1.5" // spawnbot_arc CharacterAttributes { "ammo regen" 99 "voice pitch scale" 0 "cannot pick up intelligence" 1 } } } } WaveSpawn { Name "a2" WaitForAllSpawned "a1" Where spawnbot_invasion TotalCount 8 MaxActive 4 SpawnCount 2 WaitBeforeStarting 25 WaitBetweenSpawns 8 TotalCurrency 200 Squad { TFBot { Template T_TFBot_Giant_Pyro_Flare_Spammer_Fix ClassIcon pyro_flare_rain_red_nys Tag "popext_reprogrammed" Tag "popext_mobber" Tag "popext_spawnhere|689.803 901.428 -54.7496|1.5" // spawnbot_entrance Tag "bot_intelspawn" Tag "popext_spawntemplate|ObjectiveDummyIntel" CharacterAttributes { "ammo regen" 99 "voice pitch scale" 0 "cannot pick up intelligence" 1 } } TFBot { Template T_TFBot_Medic_Shield ClassIcon medic_shield_red Tag "popext_reprogrammed" //Tag "popext_mobber" Tag "popext_spawnhere|689.803 901.428 -54.7496|1.5" // spawnbot_entrance //Tag "bot_intelspawn" //Tag "popext_spawntemplate|ObjectiveDummyIntel" CharacterAttributes { "ammo regen" 99 "voice pitch scale" 0 "cannot pick up intelligence" 1 } } } } WaveSpawn { Name "a2.1" WaitForAllSpawned "a1" Where spawnbot_invasion TotalCount 44 MaxActive 9 SpawnCount 4 WaitBeforeStarting 25.2 WaitBetweenSpawns 2 TotalCurrency 100 RandomChoice { TFBot { Template T_TFBot_Heavyweapons_Shotgun Skill Expert ClassIcon heavy_shotgun_red Tag "popext_reprogrammed" Tag "popext_mobber" Tag "popext_spawnhere|689.803 901.428 -54.7496|1.5" // spawnbot_entrance CharacterAttributes { "ammo regen" 99 "voice pitch scale" 0 "cannot pick up intelligence" 1 } } TFBot { Template T_TFBot_Heavyweapons_Shotgun Skill Expert ClassIcon heavy_shotgun_red Tag "popext_reprogrammed" Tag "popext_mobber" Tag "popext_spawnhere|-691.323 852.548 -147.419|1.5" // spawnbot_mediumhealth CharacterAttributes { "ammo regen" 99 "voice pitch scale" 0 "cannot pick up intelligence" 1 } } } } WaveSpawn { Name "a3" WaitForAllSpawned "a2" Where spawnbot_invasion TotalCount 3 MaxActive 1 SpawnCount 1 WaitBeforeStarting 25 WaitBetweenSpawns 15 TotalCurrency 200 Squad { TFBot { Template T_TFBot_Giant_Soldier_Extended_Battalion Tag "popext_reprogrammed" Tag "popext_mobber" Tag "popext_spawnhere|431.052 2864.97 -170.812|1.5" // front upgrades Tag "bot_intelspawn" Tag "popext_spawntemplate|ObjectiveDummyIntel" CharacterAttributes { "ammo regen" 99 "voice pitch scale" 0 "cannot pick up intelligence" 1 } } } } WaveSpawn { Name "a3.1" WaitForAllSpawned "a2" Where spawnbot_invasion TotalCount 37 MaxActive 9 SpawnCount 3 WaitBeforeStarting 25.2 WaitBetweenSpawns 3 TotalCurrency 100 RandomChoice { TFBot { Class Soldier Skill Normal Tag "popext_reprogrammed" Tag "popext_mobber" Tag "popext_spawnhere|-426 2901 -426|1.5" // front_low_left CharacterAttributes { "ammo regen" 99 "voice pitch scale" 0 "cannot pick up intelligence" 1 } } TFBot { Class Soldier Skill Normal Tag "popext_reprogrammed" Tag "popext_mobber" Tag "popext_spawnhere|-995.953 2939 -400|1.5" // front_low_right CharacterAttributes { "ammo regen" 99 "voice pitch scale" 0 "cannot pick up intelligence" 1 } } } } WaveSpawn { Name "b1" WaitForAllDead "a3" Where spawnbot_invasion TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 25 WaitBetweenSpawns 18 TotalCurrency 100 Squad { TFBot { Template T_TFBot_Giant_Heavyweapons Attributes AlwaysCrit Attributes UseBossHealthBar Tag "popext_reprogrammed" Tag "popext_mobber" Tag "popext_spawnhere|-696.8 3787.1 -309.3|1.5" // tank gate Tag "bot_intelspawn" Tag "popext_spawntemplate|ObjectiveDummyIntel" CharacterAttributes { "ammo regen" 99 "voice pitch scale" 0 "cannot pick up intelligence" 1 } } } } WaveSpawn { Name "b1.1" WaitForAllDead "a3" Where spawnbot_invasion TotalCount 59 MaxActive 8 SpawnCount 1 WaitBeforeStarting 25.2 WaitBetweenSpawns 3 TotalCurrency 100 RandomChoice { TFBot { Template T_TFBot_Soldier_Bison Skill Hard Tag "popext_reprogrammed" Tag "popext_mobber" Tag "popext_spawnhere|-995.953 2939 -400|1.5" // front_low_right CharacterAttributes { "ammo regen" 99 "voice pitch scale" 0 "cannot pick up intelligence" 1 } } TFBot { Template T_TFBot_Soldier_Bison Skill Hard Tag "popext_reprogrammed" Tag "popext_mobber" Tag "popext_spawnhere|-426 2901 -426|1.5" // front_low_left CharacterAttributes { "ammo regen" 99 "voice pitch scale" 0 "cannot pick up intelligence" 1 } } } } WaveSpawn { Name "infi" //WaitForAllDead "b1" Where spawnbot_right TotalCount 0 MaxActive 1 SpawnCount 1 WaitBeforeStarting 2 WaitBetweenSpawns 0 TotalCurrency 0 DoneOutput { Target kill_bots_wavewin Action Trigger } Squad { Squad { TFBot { Template T_TFBot_Heavyweapons_Heavyweight_Champ Skill Hard Health 3 CharacterAttributes { "maxammo primary increased" 999 "ammo regen" 99 "health regen" -2 "voice pitch scale" 0 } Tag "popext_reprogrammed" Tag "popext_mobber" } } } } } Wave // Wave 3 { StartWaveOutput { Target wave_start_relay_classic Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } InitWaveOutput { Target gamerules Action RunScriptCode Param " // Load popextensions script IncludeScript(`popextensions_main.nut`, getroottable()) IncludeScript(`tensai_point_templates.nut`) IncludeScript(`tensai_reverse.nut`) PopExt.AddRobotTag(`bot_fullhead`, { OnSpawn = function(bot, tag) { SetPropInt(bot, `m_Shared.m_iDecapitations`, 5) } }) //SetIconsWave3() DoEntFire(`red`, `setteam`, `2`, -1, null, null) DoEntFire(`spawnbot_*`, `setteam`, `3`, -1, null, null) PopExt.AddRobotTag(`bot_fullhead`, { OnSpawn = function(bot, tag) { SetPropInt(bot, `m_Shared.m_iDecapitations`, 5) } }) SpawnTemplate(`SetUp_Logic`) SpawnTemplate(`RobotSpawns`) SpawnTemplate(`UpgradeBLUSTATION`) SpawnTemplate(`hatch_stuff`) SpawnTemplate(`TankWave3`) MissionAttributes.SetConvar(`tf_bot_escort_range`, 99999) MissionAttributes.SetConvar(`tf_bot_flag_escort_range`, 99999) MissionAttributes.SetConvar(`tf_bot_flag_escort_max_count`, 0) MissionAttrs({ `ExtraTankPath`: [ [`-1661.7 2961.36 -251.19`, `-1353.3 3184.7 -251.19`], [`-327.014 352.753 -171.612`, `-394.865 263.927 -171.612`], [`279.904 -1355.25 -199.831`, `105 -1355.25 -199.831`] ] `ReverseMVM`: 1|8|16|32 `RedBotsNoRandomCrit`: 1 `NoReanimators`: 1 `SniperHideLasers`: 1 `BotHeadshots`: 1 `PlayersAreRobots`: 1 `PlayerAttributes`: { `ammo regen` : 1, [TF_CLASS_ENGINEER] = { `max health additive bonus` : 125, `metal regen` : 999, }, } `ItemAttributes`: { //soldier `The Beggar's Bazooka` : { `damage penalty` : 0.85 `clip size bonus` : 1.75 `reload time increased hidden` : 2 } //engie `The Rescue Ranger` : { `max health additive penalty` : -25 `projectile speed decreased` : 0.75 `Reload time increased` : 1.25 } `The Widowmaker` : { `damage penalty` : 0.8 } `The Short Circuit` : { `max health additive penalty` : -100 } `The Wrangler` : { `engy building health bonus` : 0.85 } } }) //Info(`Activate deployed generators!|PAUSE 2|Generators allow Robots to contiune functioning!|PAUSE 3|TIME IS SHORT. CRIT MODULE: ACTIVE. ADDTIONAL WEAPON CHANGES: TRUE.`, `FFFF66`, `Explanation: `, true) " } WaveSpawn // Dummy { TotalCount 1 SpawnCount 1 WaitBeforeStarting 0 Support Limited FirstSpawnOutput { Target notice_wave3 Action trigger } DoneOutput { Target Classic_Mode_Intel Action disable } } WaveSpawn // Tank 20k HP { Name "tank_1" TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 0 Support Limited TotalCurrency 0 FirstSpawnOutput { Target gamerules Action callscriptfunction Param "TankMsgFirst" } DoneOutput { Target bot_win_tank1 Action Trigger } Tank { Name "tankboss" StartingPathTrackNode "extratankpath1_1" Health 40000 Speed 0 Skin 0 OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn // Tank 20k HP { Name "tank_2" WaitForAllDead "tank_1" TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 0 Support Limited TotalCurrency 0 FirstSpawnOutput { Target gamerules Action callscriptfunction Param "TankMsgSecond" } DoneOutput { Target bot_win_tank1 Action Trigger } Tank { Name "tankboss" StartingPathTrackNode "extratankpath2_1" Health 40000 Speed 0 Skin 0 OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn // Tank 20k HP { Name "tank_3" WaitForAllDead "tank_2" TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 0 Support Limited TotalCurrency 0 FirstSpawnOutput { Target gamerules Action callscriptfunction Param "TankMsgThird" } DoneOutput { Target bot_win_tank1 Action Trigger } Tank { Name "tankboss" StartingPathTrackNode "extratankpath3_1" Health 40000 Speed 0 Skin 0 OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn { Name "a1" Where spawnbot_invasion TotalCount 10 MaxActive 3 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 10 TotalCurrency 100 FirstSpawnOutput { Target spawnbot_left Action Disable } TFBot { Template T_TFBot_Giant_Scout_Cola scale 1.65 Attributes HoldFireUntilFullReload Tag "popext_reprogrammed" Tag "popext_mobber" Tag "popext_spawnhere|431.052 2864.97 -170.812|1.5" // front upgrades CharacterAttributes { "ammo regen" 99 "voice pitch scale" 0 "cannot pick up intelligence" 1 "deploy time decreased" 0.5 "no_jump" 1 } } } WaveSpawn { Name "a1" Where spawnbot_invasion TotalCount 18 MaxActive 6 SpawnCount 2 WaitBeforeStarting 0 WaitBetweenSpawns 5 TotalCurrency 100 TFBot { Template T_TFBot_Heavy_IronFist_Airblast ClassIcon heavy_steelfist_pusher Tag "popext_reprogrammed" Tag "popext_mobber" Tag "popext_spawnhere|431.052 2864.97 -170.812|1.5" // front upgrades CharacterAttributes { "ammo regen" 99 "voice pitch scale" 0 "cannot pick up intelligence" 1 "deploy time decreased" 0.5 "no_jump" 1 } } } WaveSpawn { Name "a1" Where spawnbot_invasion TotalCount 42 MaxActive 7 SpawnCount 5 WaitBeforeStarting 0 WaitBetweenSpawns 8 TotalCurrency 100 RandomChoice { TFBot { Template T_TFBot_Pyro_Fix Skill Hard Tag "popext_reprogrammed" Tag "popext_mobber" Tag "popext_spawnhere|431.052 2864.97 -170.812|1.5" // front upgrades CharacterAttributes { "airblast disabled" 1 "ammo regen" 99 "voice pitch scale" 0 "cannot pick up intelligence" 1 } } // TFBot // { // Template T_TFBot_Pyro_Fix // Skill Hard // Tag "popext_reprogrammed" // Tag "popext_mobber" // Tag "popext_spawnhere|431.052 2864.97 -170.812|1.5" // front upgrades // CharacterAttributes // { // "airblast disabled" 1 // "ammo regen" 99 // "voice pitch scale" 0 // "voice pitch scale" 0 //"cannot pick up intelligence" 1 // } // } // TFBot // { // Template T_TFBot_Pyro_Fix // Skill Hard // Tag "popext_reprogrammed" // Tag "popext_mobber" // Tag "popext_spawnhere|431.052 2864.97 -170.812|1.5" // front upgrades // CharacterAttributes // { // "airblast disabled" 1 // "ammo regen" 99 // "voice pitch scale" 0 // "voice pitch scale" 0 //"cannot pick up intelligence" 1 // } // } // TFBot // { // Template T_TFBot_Pyro_Fix // Skill Hard // Tag "popext_reprogrammed" // Tag "popext_mobber" // Tag "popext_spawnhere|431.052 2864.97 -170.812|1.5" // front upgrades // Tag "popext_spawnhere|-995.953 2939 -400|1.5" // front_low_right // CharacterAttributes // { // "airblast disabled" 1 // "ammo regen" 99 // "voice pitch scale" 0 // "voice pitch scale" 0 //"cannot pick up intelligence" 1 // } // } // TFBot // { // Template T_TFBot_Pyro_Fix // Skill Hard // Tag "popext_reprogrammed" // Tag "popext_mobber" // Tag "popext_spawnhere|-450.5 2865.9 -359.6|1.5" // front_low_left // CharacterAttributes // { // "airblast disabled" 1 // "ammo regen" 99 // "voice pitch scale" 0 // "voice pitch scale" 0 //"cannot pick up intelligence" 1 // } // } } } WaveSpawn // Dummy { WaitForAllDead "a1" TotalCount 1 SpawnCount 1 WaitBeforeStarting 0 Support Limited FirstSpawnOutput { Target tank_disabler Action Trigger } } WaveSpawn { Name "a2" WaitForAllDead "a1" Where spawnbot_invasion TotalCount 4 MaxActive 1 SpawnCount 1 WaitBeforeStarting 15 WaitBetweenSpawns 18 TotalCurrency 100 RandomChoice { TFBot { Template T_TFBot_Giant_Heavyweapons Tag "popext_reprogrammed" Tag "popext_mobber" Tag "popext_spawnhere|689.803 901.428 -54.7496|1.5" // spawnbot_entrance CharacterAttributes { "ammo regen" 99 "voice pitch scale" 0 "cannot pick up intelligence" 1 "deploy time decreased" 0.5 "no_jump" 1 } } TFBot { Template T_TFBot_Giant_Heavyweapons Tag "popext_reprogrammed" Tag "popext_mobber" Tag "popext_spawnhere|693.536 61.2251 -63.9553|1.5" // spawnbot_brownbuilding CharacterAttributes { "ammo regen" 99 "voice pitch scale" 0 "cannot pick up intelligence" 1 "deploy time decreased" 0.5 "no_jump" 1 } } } } WaveSpawn { Name "a1.1" WaitForAllDead "a1" Where spawnbot_invasion TotalCount 24 MaxActive 12 SpawnCount 6 WaitBeforeStarting 15 WaitBetweenSpawns 8 TotalCurrency 100 TFBot { Template T_TFBot_Demoman Tag "popext_reprogrammed" Tag "popext_mobber" Tag "popext_spawnhere|689.803 901.428 -54.7496|1.5" // spawnbot_entrance CharacterAttributes { "ammo regen" 99 "voice pitch scale" 0 "cannot pick up intelligence" 1 "deploy time decreased" 0.5 } } } WaveSpawn { Name "a2" WaitForAllDead "a1.1" Where spawnbot_invasion TotalCount 33 MaxActive 11 SpawnCount 3 WaitBeforeStarting 15 WaitBetweenSpawns 3 TotalCurrency 100 TFBot { Template T_TFBot_Demoman_Knight Item "Prince Tavish's Crown" Name "Fullhead Demoknight" Tag "bot_fullhead" Tag "popext_reprogrammed" Tag "popext_mobber" Tag "popext_spawnhere|-399.923 -566.822 -142|1.5" // spawnbot_road CharacterAttributes { "ammo regen" 99 "voice pitch scale" 0 "cannot pick up intelligence" 1 "deploy time decreased" 0.5 } } } WaveSpawn // Dummy { WaitForAllDead "a2" TotalCount 1 SpawnCount 1 WaitBeforeStarting 0 Support Limited FirstSpawnOutput { Target tank_disabler Action Trigger } } WaveSpawn { Name "a3" WaitForAllDead "a2" Where spawnbot_invasion TotalCount 6 MaxActive 2 SpawnCount 2 WaitBeforeStarting 15 WaitBetweenSpawns 1 TotalCurrency 100 Squad { TFBot { Template T_TFBot_Giant_Soldier_SlowBarrage Tag "popext_reprogrammed" Tag "popext_mobber" Tag "popext_spawnhere|-691.323 852.548 -147.419|1.5" // spawnbot_mediumhealth CharacterAttributes { "ammo regen" 99 "voice pitch scale" 0 "cannot pick up intelligence" 1 "deploy time decreased" 0.5 "no_jump" 1 } } TFBot { Template T_TFBot_Giant_Medic_Regen Attributes IgnoreEnemies Tag "popext_reprogrammed" Tag "popext_spawnhere|-691.323 852.548 -147.419|1.5" // spawnbot_mediumhealth CharacterAttributes { "ammo regen" 99 "voice pitch scale" 0 "cannot pick up intelligence" 1 "deploy time decreased" 0.5 "no_jump" 1 } } } } WaveSpawn { Name "a2.1" WaitForAllDead "a2" Where spawnbot_invasion TotalCount 31 MaxActive 6 SpawnCount 3 WaitBeforeStarting 15 WaitBetweenSpawns 5 TotalCurrency 100 TFBot { Class Scout Skill Hard Tag "popext_reprogrammed" Tag "popext_mobber" Tag "popext_spawnhere|-399.923 -566.822 -142|1.5" // spawnbot_road CharacterAttributes { "ammo regen" 99 "voice pitch scale" 0 "cannot pick up intelligence" 1 "deploy time decreased" 0.5 } } } WaveSpawn { Name "a3" WaitForAllSpawned "a2.1" Where spawnbot_invasion TotalCount 46 MaxActive 7 SpawnCount 4 WaitBeforeStarting 0 WaitBetweenSpawns 3 TotalCurrency 100 RandomChoice { TFBot { Template T_TFBot_Demoman_Stickybomb Attributes HoldFireUntilFullReload ClassIcon demo_sticky_red_daan Tag "popext_reprogrammed" Tag "popext_mobber" Tag "popext_spawnhere|-804.734 -530.879 -181.161|1.5" // spawnbot_arc CharacterAttributes { "ammo regen" 99 "voice pitch scale" 0 "cannot pick up intelligence" 1 "deploy time decreased" 0.5 } } TFBot { Template T_TFBot_Demoman_Stickybomb Attributes HoldFireUntilFullReload ClassIcon demo_sticky_red_daan Tag "popext_reprogrammed" Tag "popext_mobber" Tag "popext_spawnhere|693.536 61.2251 -63.9553|1.5" // spawnbot_brownbuilding CharacterAttributes { "ammo regen" 99 "voice pitch scale" 0 "cannot pick up intelligence" 1 "deploy time decreased" 0.5 } } } } WaveSpawn // Dummy { WaitForAllDead "a3" TotalCount 1 SpawnCount 1 WaitBeforeStarting 0 Support Limited FirstSpawnOutput { Target tank_disabler Action Trigger } } WaveSpawn // Tank 20k HP { Name "tank_final" WaitForAllDead "a3" TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 2 WaitBetweenSpawns 0 TotalCurrency 0 FirstSpawnOutput { Target gamerules Action callscriptfunction Param "TankMsgFinal" } DoneOutput { Target bot_win_tank1 Action Trigger } Tank { Name "tankboss" StartingPathTrackNode "tank_path_1" Health 40000 Speed 75 Skin 0 OnBombDroppedOutput { Target tank_wave_shielddestroy Action Trigger } } } WaveSpawn { Name "vic_lap" WaitForAllSpawned "tank_final" Where spawnbot_invasion TotalCount 100 MaxActive 15 SpawnCount 5 WaitBeforeStarting 4 WaitBetweenSpawns 7.5 TotalCurrency 100 Support 1 RandomChoice { RandomChoice { TFBot { Class Soldier Skill Normal CharacterAttributes { "maxammo Primary increased" 999 "ammo regen" 99 "voice pitch scale" 0 } Tag "popext_reprogrammed" Tag "popext_mobber" Tag "bot_soldier" Tag "popext_spawnhere|-1441.4 -2033.9 -174.2|1.5" // spawnbot_hatch_left } TFBot { Class Soldier Skill Normal CharacterAttributes { "maxammo Primary increased" 999 "ammo regen" 99 "voice pitch scale" 0 } Tag "popext_reprogrammed" Tag "popext_mobber" Tag "bot_soldier" Tag "popext_spawnhere|665.2 -2265.4 -170.8|1.5" // spawnbot_hatch_right } TFBot { Class Demoman Skill Normal CharacterAttributes { "maxammo Primary increased" 999 "ammo regen" 99 "voice pitch scale" 0 } Tag "popext_reprogrammed" Tag "popext_mobber" Tag "bot_soldier" Tag "popext_spawnhere|-1441.4 -2033.9 -174.2|1.5" // spawnbot_hatch_left } TFBot { Class Demoman Skill Normal CharacterAttributes { "maxammo Primary increased" 999 "ammo regen" 99 "voice pitch scale" 0 } Tag "popext_reprogrammed" Tag "popext_mobber" Tag "bot_soldier" Tag "popext_spawnhere|665.2 -2265.4 -170.8|1.5" // spawnbot_hatch_right } TFBot { Class Heavyweapons Skill Normal CharacterAttributes { "maxammo Primary increased" 999 "ammo regen" 99 "voice pitch scale" 0 } Tag "popext_reprogrammed" Tag "popext_mobber" Tag "bot_soldier" Tag "popext_spawnhere|-1441.4 -2033.9 -174.2|1.5" // spawnbot_hatch_left } TFBot { Class Heavyweapons Skill Normal CharacterAttributes { "maxammo Primary increased" 999 "ammo regen" 99 "voice pitch scale" 0 } Tag "popext_reprogrammed" Tag "popext_mobber" Tag "bot_soldier" Tag "popext_spawnhere|665.2 -2265.4 -170.8|1.5" // spawnbot_hatch_right } TFBot { Class Scout Skill Normal CharacterAttributes { "maxammo Primary increased" 999 "ammo regen" 99 "voice pitch scale" 0 } Tag "popext_reprogrammed" Tag "popext_mobber" Tag "bot_soldier" Tag "popext_spawnhere|-1441.4 -2033.9 -174.2|1.5" // spawnbot_hatch_left } TFBot { Class Scout Skill Normal CharacterAttributes { "maxammo Primary increased" 999 "ammo regen" 99 "voice pitch scale" 0 } Tag "popext_reprogrammed" Tag "popext_mobber" Tag "bot_soldier" Tag "popext_spawnhere|665.2 -2265.4 -170.8|1.5" // spawnbot_hatch_right } TFBot { Template T_TFBot_Pyro_Fix Skill Normal CharacterAttributes { "maxammo Primary increased" 999 "ammo regen" 99 "airblast disabled" 1 "voice pitch scale" 0 } Tag "popext_reprogrammed" Tag "popext_mobber" Tag "bot_soldier" Tag "popext_spawnhere|-1441.4 -2033.9 -174.2|1.5" // spawnbot_hatch_left } TFBot { Template T_TFBot_Pyro_Fix Skill Normal CharacterAttributes { "maxammo Primary increased" 999 "ammo regen" 99 "airblast disabled" 1 "voice pitch scale" 0 } Tag "popext_reprogrammed" Tag "popext_mobber" Tag "bot_soldier" Tag "popext_spawnhere|665.2 -2265.4 -170.8|1.5" // spawnbot_hatch_right } } } } WaveSpawn { Name "infi" WaitForAllDead "b1" Where spawnbot_left TotalCount 0 MaxActive 1 SpawnCount 1 WaitBeforeStarting 5 WaitBetweenSpawns 0 TotalCurrency 0 DoneOutput { Target kill_bots_wavewin Action Trigger } RandomChoice { RandomChoice { TFBot { Template T_TFBot_Heavyweapons_Heavyweight_Champ ClassIcon heavy_champ_red Skill Hard Health 3 CharacterAttributes { "maxammo primary increased" 999 "ammo regen" 99 "health regen" -2 "voice pitch scale" 0 } Tag "popext_reprogrammed" Tag "popext_mobber" } } } } // WaveSpawn // { // Name "support" // Where spawnbot_invasion // TotalCount 55 // MaxActive 3 // SpawnCount 1 // WaitBeforeStarting 0 // WaitBetweenSpawns 1 // TotalCurrency 0 // Support 1 // TFBot // { // Template T_TFBot_Scout_Bonk // WeaponRestrictions PrimaryOnly // Attributes IgnoreFlag // Skill Normal // Classicon blu2_lite // Tag "bot_blu" // Tag "popext_mobber" // CharacterAttributes // { // "deploy time decreased" 0.5 // } // } // } } Wave // Wave 4 { StartWaveOutput { Target wave_start_relay_classic Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } InitWaveOutput { Target gamerules Action RunScriptCode Param " // Load popextensions script IncludeScript(`popextensions_main.nut`, getroottable()) IncludeScript(`tensai_point_templates.nut`) IncludeScript(`tensai_reverse.nut`) PopExt.AddRobotTag(`bot_fullhead`, { OnSpawn = function(bot, tag) { SetPropInt(bot, `m_Shared.m_iDecapitations`, 5) } }) //SetIconsWave3() DoEntFire(`red`, `setteam`, `2`, -1, null, null) DoEntFire(`spawnbot_*`, `setteam`, `3`, -1, null, null) PopExt.AddRobotTag(`bot_fullhead`, { OnSpawn = function(bot, tag) { SetPropInt(bot, `m_Shared.m_iDecapitations`, 5) } }) SpawnTemplate(`SetUp_Logic`) SpawnTemplate(`RobotSpawns`) SpawnTemplate(`UpgradeBLUSTATION`) MissionAttributes.SetConvar(`tf_bot_escort_range`, 99999) MissionAttributes.SetConvar(`tf_bot_flag_escort_range`, 99999) MissionAttributes.SetConvar(`tf_bot_flag_escort_max_count`, 0) MissionAttrs({ `ExtraTankPath`: [ [`-1661.7 2961.36 -251.19`, `-1353.3 3184.7 -251.19`], [`-327.014 352.753 -171.612`, `-394.865 263.927 -171.612`], [`279.904 -1355.25 -199.831`, `105 -1355.25 -199.831`] ] `ReverseMVM`: 1|8|16|32 `RedBotsNoRandomCrit`: 1 `NoReanimators`: 1 `SniperHideLasers`: 1 `BotHeadshots`: 1 `PlayersAreRobots`: 1 `PlayerAttributes`: { `ammo regen` : 1, [TF_CLASS_ENGINEER] = { `max health additive bonus` : 125, `metal regen` : 999, }, } `ItemAttributes`: { //soldier `The Beggar's Bazooka` : { `damage penalty` : 0.85 `clip size bonus` : 1.75 `reload time increased hidden` : 2 } //engie `The Rescue Ranger` : { `max health additive penalty` : -25 `projectile speed decreased` : 0.75 `Reload time increased` : 1.25 } `The Widowmaker` : { `damage penalty` : 0.8 } `The Short Circuit` : { `max health additive penalty` : -100 } `The Wrangler` : { `engy building health bonus` : 0.85 } } }) " } WaveSpawn // Dummy { TotalCount 1 SpawnCount 1 WaitBeforeStarting 0 Support Limited FirstSpawnOutput { Target gamerules Action callscriptfunction param "SetHatchWave4" } } WaveSpawn { Name "blu_bots1" Where spawnbot_invasion TotalCount 18 MaxActive 4 SpawnCount 4 WaitBeforeStarting 0 WaitBetweenSpawns 5 TotalCurrency 0 //Support Limited FirstSpawnOutput { Target wave4_objective Action Trigger } TFBot { Template T_TFBot_Demoman_Knight ClassIcon blu2_lite } } WaveSpawn { Name "blu_bots1" Where spawnbot_invasion TotalCount 28 MaxActive 4 SpawnCount 4 WaitBeforeStarting 0 WaitBetweenSpawns 5 TotalCurrency 0 //Support Limited FirstSpawnOutput { Target spawnbot_left Action Disable } TFBot { Template T_TFBot_Scout_Cola ClassIcon blu2_lite } } WaveSpawn { Name "blu_bots2" WaitForAllDead "blu_bots1" Where spawnbot_invasion TotalCount 30 MaxActive 10 SpawnCount 5 WaitBeforeStarting 0 WaitBetweenSpawns 5 TotalCurrency 0 //Support Limited TFBot { Class Soldier Skill Normal ClassIcon blu2_lite } } WaveSpawn { Name "blu_bots3" WaitForAllDead "blu_bots2" Where spawnbot_invasion TotalCount 28 MaxActive 12 SpawnCount 4 WaitBeforeStarting 0 WaitBetweenSpawns 3 TotalCurrency 0 //Support Limited Squad { TFBot { Class Heavyweapons Skill Normal ClassIcon blu2_lite } TFBot { Template T_TFBot_Medic_QuickUber Skill Hard ClassIcon blu2_lite } } } WaveSpawn { Name "blu_bots4" WaitForAllDead "blu_bots3" Where spawnbot_invasion TotalCount 4 MaxActive 1 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 3 TotalCurrency 0 //Support Limited FirstSpawnOutput { Target wave4_warning Action Trigger } TFBot { Template T_TFBot_Giant_Soldier ClassIcon blu2_lite } } WaveSpawn { Name "blu_bots4" WaitForAllDead "blu_bots3" Where spawnbot_invasion TotalCount 41 MaxActive 12 SpawnCount 6 WaitBeforeStarting 0 WaitBetweenSpawns 4 TotalCurrency 0 //Support Limited TFBot { Template T_TFBot_Heavyweapons_Shotgun Skill Expert ClassIcon blu2_lite } } WaveSpawn { Name "blu_bots5" WaitForAllDead "blu_bots4" Where spawnbot_invasion TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 3 TotalCurrency 0 //Support Limited FirstSpawnOutput { Target wave4_warning action trigger } TFBot { Template T_TFBot_Giant_Heavyweapons ClassIcon blu2_lite } } WaveSpawn { Name "a1" Where spawnbot_invasion TotalCount 37 MaxActive 8 SpawnCount 5 WaitBeforeStarting 0.1 WaitBetweenSpawns 3 TotalCurrency 100 FirstSpawnOutput { Target spawnbot_right Action Disable } TFBot { Template T_TFBot_Demoknight_Persian Tag "popext_reprogrammed" Tag "popext_mobber" Tag "popext_spawnhere|431.052 2864.97 -170.812|1.5" CharacterAttributes { "maxammo primary increased" 999 "ammo regen" 99 "voice pitch scale" 0 } } } WaveSpawn { Name "a1" Where spawnbot_invasion TotalCount 21 MaxActive 7 SpawnCount 7 WaitBeforeStarting 0.1 WaitBetweenSpawns 3 TotalCurrency 100 FirstSpawnOutput { Target spawnbot_right Action Disable } Squad { TFBot { Template T_TFBot_Giant_Soldier_Spammer Tag "popext_reprogrammed" Tag "popext_mobber" Tag "popext_spawnhere|431.052 2864.97 -170.812|1.5" CharacterAttributes { "maxammo primary increased" 999 "ammo regen" 99 "voice pitch scale" 0 } } TFBot { Template T_TFBot_Medic Tag "popext_reprogrammed" Tag "popext_spawnhere|431.052 2864.97 -170.812|1.5" CharacterAttributes { "maxammo primary increased" 999 "ammo regen" 99 "voice pitch scale" 0 } } TFBot { Template T_TFBot_Medic Tag "popext_reprogrammed" Tag "popext_spawnhere|431.052 2864.97 -170.812|1.5" CharacterAttributes { "maxammo primary increased" 999 "ammo regen" 99 "voice pitch scale" 0 } } TFBot { Template T_TFBot_Medic Tag "popext_reprogrammed" Tag "popext_spawnhere|431.052 2864.97 -170.812|1.5" CharacterAttributes { "maxammo primary increased" 999 "ammo regen" 99 "voice pitch scale" 0 } } TFBot { Template T_TFBot_Medic Tag "popext_reprogrammed" Tag "popext_spawnhere|431.052 2864.97 -170.812|1.5" CharacterAttributes { "maxammo primary increased" 999 "ammo regen" 99 "voice pitch scale" 0 } } TFBot { Template T_TFBot_Medic Tag "popext_reprogrammed" Tag "popext_spawnhere|431.052 2864.97 -170.812|1.5" CharacterAttributes { "maxammo primary increased" 999 "ammo regen" 99 "voice pitch scale" 0 } } TFBot { Template T_TFBot_Medic Tag "popext_reprogrammed" Tag "popext_spawnhere|431.052 2864.97 -170.812|1.5" CharacterAttributes { "maxammo primary increased" 999 "ammo regen" 99 "voice pitch scale" 0 } } } } WaveSpawn { Name "a2" WaitForAllDead "a1" Where spawnbot_invasion TotalCount 2 MaxActive 1 SpawnCount 1 WaitBeforeStarting 0.1 WaitBetweenSpawns 3 TotalCurrency 100 DoneOutput { Target bots_win_red Action roundwin } TFBot { Template T_TFBot_Giant_Heavyweapons Tag "popext_reprogrammed" Tag "popext_mobber" Tag "popext_spawnhere|431.052 2864.97 -170.812|1.5" CharacterAttributes { "maxammo primary increased" 999 "ammo regen" 99 "voice pitch scale" 0 } } } WaveSpawn { Name "a2" WaitForAllDead "a1" Where spawnbot_invasion TotalCount 42 MaxActive 6 SpawnCount 1 WaitBeforeStarting 0.1 WaitBetweenSpawns 3 TotalCurrency 100 RandomChoice { TFBot { Template T_TFBot_Heavyweapons_Heavyweight_Champ_Fast Tag "popext_reprogrammed" Tag "popext_mobber" Tag "popext_spawnhere|693.536 61.2251 -63.9553|1.5" // spawnbot_brownbuilding ClassIcon heavy_gru_red CharacterAttributes { "maxammo primary increased" 999 "ammo regen" 99 "voice pitch scale" 0 } } TFBot { Template T_TFBot_Heavyweapons_Heavyweight_Champ_Fast Tag "popext_reprogrammed" Tag "popext_mobber" Tag "popext_spawnhere|-804.734 -530.879 -181.161|1.5" // spawnbot_arc ClassIcon heavy_gru_red CharacterAttributes { "maxammo primary increased" 999 "ammo regen" 99 "voice pitch scale" 0 } } } } WaveSpawn { Name "a2" WaitForAllDead "a1" Where spawnbot_invasion TotalCount 36 MaxActive 8 SpawnCount 8 WaitBeforeStarting 0.1 WaitBetweenSpawns 3 TotalCurrency 100 FirstSpawnOutput { Target spawnbot_right Action Disable } RandomChoice { TFBot { Template T_TFBot_Pyro_Dragon Tag "popext_reprogrammed" Tag "popext_mobber" Tag "popext_spawnhere|693.536 61.2251 -63.9553|1.5" // spawnbot_brownbuilding CharacterAttributes { "maxammo primary increased" 999 "ammo regen" 99 "voice pitch scale" 0 } } TFBot { Template T_TFBot_Pyro_Dragon Tag "popext_reprogrammed" Tag "popext_mobber" Tag "popext_spawnhere|-804.734 -530.879 -181.161|1.5" // spawnbot_arc CharacterAttributes { "maxammo primary increased" 999 "ammo regen" 99 "voice pitch scale" 0 } } } } WaveSpawn { Name "a3" WaitForAllDead "a2" Where spawnbot_invasion TotalCount 4 MaxActive 2 SpawnCount 2 WaitBeforeStarting 0.1 WaitBetweenSpawns 3 TotalCurrency 100 Squad { TFBot { Template T_TFBot_Giant_Pyro Tag "popext_reprogrammed" Tag "popext_mobber" Tag "popext_spawnhere|6.1997 -1155.38 -196.268|1.5" // spawnbot_building_left CharacterAttributes { "maxammo primary increased" 999 "ammo regen" 99 "voice pitch scale" 0 } } TFBot { Template T_TFBot_Giant_Medic_Regen Tag "popext_reprogrammed" Tag "popext_mobber" Tag "popext_spawnhere|6.1997 -1155.38 -196.268|1.5" // spawnbot_building_left CharacterAttributes { "maxammo primary increased" 999 "ammo regen" 99 "voice pitch scale" 0 } } } } WaveSpawn { Name "a3" WaitForAllDead "a2" Where spawnbot_invasion TotalCount 40 MaxActive 8 SpawnCount 8 WaitBeforeStarting 0.1 WaitBetweenSpawns 6 TotalCurrency 100 RandomChoice { TFBot { Class Heavyweapons Skill Normal Tag "popext_reprogrammed" Tag "popext_mobber" Tag "popext_spawnhere|6.1997 -1155.38 -196.268|1.5" // spawnbot_building_left CharacterAttributes { "maxammo primary increased" 999 "ammo regen" 99 "voice pitch scale" 0 } } TFBot { Class Heavyweapons Skill Normal Tag "popext_reprogrammed" Tag "popext_mobber" Tag "popext_spawnhere|-303 -1144 -194|1.5" // spawnbot_building_right CharacterAttributes { "maxammo primary increased" 999 "ammo regen" 99 "voice pitch scale" 0 } } } } WaveSpawn { Name "boss" Where spawnbot_invasion TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 0 TotalCurrency 0 TFBot { Template T_TFBot_Giant_Metalbeard MaxVisionRange 2000 CharacterAttributes { "move speed penalty" 0.01 "no_jump" 1 "voice pitch scale" 0 } Tag "popext_reprogrammed" Tag "popext_mobber" Tag "popext_spawnhere|-129.4 -2249.7 -178.2|1.5" // hatch, for wave 4 boss } } WaveSpawn { Name "infi" Where spawnbot_left TotalCount 0 MaxActive 1 SpawnCount 1 WaitBeforeStarting 4 WaitBetweenSpawns 0 TotalCurrency 0 DoneOutput { Target kill_bots_wavewin Action Trigger } RandomChoice { RandomChoice { TFBot { Template T_TFBot_Heavyweapons_Heavyweight_Champ ClassIcon heavy_champ_red Skill Hard Health 3 CharacterAttributes { "maxammo primary increased" 999 "ammo regen" 99 "health regen" -2 "voice pitch scale" 0 } Tag "popext_reprogrammed" Tag "popext_mobber" } } } } } Wave // Wave 5 { StartWaveOutput { Target wave_start_relay_classic Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } InitWaveOutput { Target gamerules Action RunScriptCode Param " // Load popextensions script IncludeScript(`popextensions_main.nut`, getroottable()) IncludeScript(`tensai_point_templates.nut`) IncludeScript(`tensai_reverse.nut`) IncludeScript(`pyro_boss_tensai.nut`) PopExt.AddRobotTag(`bot_fullhead`, { OnSpawn = function(bot, tag) { SetPropInt(bot, `m_Shared.m_iDecapitations`, 5) } }) //SetIconsWave3() DoEntFire(`red`, `setteam`, `2`, -1, null, null) DoEntFire(`spawnbot_*`, `setteam`, `3`, -1, null, null) PopExt.AddRobotTag(`bot_fullhead`, { OnSpawn = function(bot, tag) { SetPropInt(bot, `m_Shared.m_iDecapitations`, 5) } }) SpawnTemplate(`SetUp_Logic`) SpawnTemplate(`RobotSpawns`) SpawnTemplate(`UpgradeBLUSTATION`) MissionAttributes.SetConvar(`tf_bot_escort_range`, 99999) MissionAttributes.SetConvar(`tf_bot_flag_escort_range`, 99999) MissionAttributes.SetConvar(`tf_bot_flag_escort_max_count`, 0) SetSkyboxTexture(`sky_nightfall_01`) MissionAttrs({ `ReverseMVM`: 1|8|16|32 `RedBotsNoRandomCrit`: 1 `NoReanimators`: 1 `SniperHideLasers`: 1 `BotHeadshots`: 1 `PlayersAreRobots`: 1 `PlayerAttributes`: { `ammo regen` : 1, [TF_CLASS_ENGINEER] = { `max health additive bonus` : 125, `metal regen` : 999, }, } `ItemAttributes`: { //soldier `The Beggar's Bazooka` : { `damage penalty` : 0.85 `clip size bonus` : 1.75 `reload time increased hidden` : 2 } //engie `The Rescue Ranger` : { `max health additive penalty` : -25 `projectile speed decreased` : 0.75 `Reload time increased` : 1.25 } `The Widowmaker` : { `damage penalty` : 0.8 } `The Short Circuit` : { `max health additive penalty` : -100 } `The Wrangler` : { `engy building health bonus` : 0.85 } } }) " } WaveSpawn { Name "final_boss" Where spawnbot_invasion TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 0 TotalCurrency 0 TFBot { Name "Trick Room" Class Pyro ClassIcon pyro_giant Scale 1.7 Health 80000 Attributes MiniBoss Attributes UseBossHealthBar // Attributes AutoJump // Attributes AlwaysFireWeapon // AutoJumpMax 1 // AutoJumpMin 1 WeaponRestrictions SecondaryOnly Skill Expert MaxVisionRange 4000 Tag bot_giant Tag "bot_pyroboss" //Tag "popext_usehumananims" Item "the flare gun" ItemAttributes { Itemname "the flare gun" "projectile speed decreased" 0.5 } ItemAttributes { Itemname "tf_weapon_flamethrower" "flame_drag" 2 "lunchbox adds minicrits" 2 "airblast disabled" 1 "provide on active" 1 } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.4 "airblast vulnerability multiplier" 0.4 "override footstep sound set" 2 "cancel falling damage" 1 "boots falling stomp" 1 "deploy time decreased" 0 "no_jump" 1 } Tag "popext_reprogrammed" Tag "popext_mobber" Tag "popext_spawnhere|-129.4 -2249.7 -178.2|1.5" // hatch, for wave 4 boss } } } }