// mission by randomguy #base robot_standard.pop #base robot_giant.pop #base robot_randomguy_new.pop WaveSchedule { CanBotsAttackWhileInSpawnRoom no RespawnWaveTime 2 StartingCurrency 800 // 400 Advanced 1 FixedRespawnWaveTime Yes AddSentryBusterWhenDamageDealtExceeds 3000 AddSentryBusterWhenKillCountExceeds 15 // EventPopFile Halloween Templates { T_TFBot_TheTitanToEndAllTitansNowFightable! { Template T_TFBot_Giant_Demoman Name "i smell oil (change later)" // ok im not changing this cause im not gonna use him anymore. Health 30000 ClassIcon demo_head_nys Scale 15 Tag spawnbot_titan Attributes UseBossHealthBar Attributes AutoJump AutoJumpMax 4 AutoJumpMin 4 Attributes AlwaysFireWeapon Item "The Rusty Reaper" Item "The Patriot Peak" Item "The Sightliner" Item "Stunt Suit" CharacterAttributes { "increased jump height" 10 "move speed penalty" 0.001 "rocket jump damage reduction" 0 "cancel falling damage" 1 } } T_TFBot_Giant_Soldier_RocketRain { Class Soldier ClassIcon soldier_rocketrain Name "Rocket RAINNNNNNNN" Health 4000 Skill Expert Attributes HoldFireUntilFullReload Attributes MiniBoss Item "Upgradeable TF_WEAPON_ROCKETLAUNCHER" Item "Exquisite Rack" Item "Tyrantium Helmet" ItemAttributes { ItemName "Upgradeable TF_WEAPON_ROCKETLAUNCHER" "fire rate bonus" 0.08 "faster reload rate" 0.11 "clip size upgrade atomic" 36.0 "Projectile speed decreased" 0.7 "projectile spread angle penalty" 4 } ItemAttributes { ItemName "Tyrantium Helmet" "set item tint RGB" 1315860 } CharacterAttributes { "health regen" 50 "move speed bonus" 0.5 "airblast vulnerability multiplier" 0.0 "damage force reduction" 0.4 "override footstep sound set" 3 "rocket jump damage reduction" 0 "cancel falling damage" 1 } } } Mission { Objective Spy InitialCooldown 15 Where spawnbot_mission_sniper BeginAtWave 5 RunForThisManyWaves 1 CooldownTime 40 DesiredCount 2 TFBot { Template T_TFBot_Spy Tag bot_agility } } Mission { Objective Sniper Where spawnbot_mission_sniper BeginAtWave 6 RunForThisManyWaves 1 InitialCooldown 25 CooldownTime 40 DesiredCount 2 TFBot { Template T_TFBot_Sniper Tag bot_agility } } Mission { Objective Engineer Where spawnbot BeginAtWave 6 RunForThisManyWaves 1 InitialCooldown 60 CooldownTime 60 DesiredCount 1 TFBot { Template T_TFBot_Engineer_Sentry_Battle_TeleIn Tag bot_haste } } Mission { Objective DestroySentries Where spawnbot InitialCooldown 30 CooldownTime 30 BeginAtWave 1 RunForThisManyWaves 10 TFBot { Template T_TFBot_SentryBuster Scale 1.5 // iirc you need this Tag spawnbot_mid Tag bot_agility // Only works on mannpower waves } } // WAVE 1 //////////CURRENCY 1200/////////////////////////////////// Wave { InitWaveOutPut { Target wave_start_relay Action RunScriptCode Param " IncludeScript(`mvm_oilrig_rc5_int_expedited_refinement_vscripts`) ::ExtraSpawnPointsOhINeedToNameItDifferently <- //squads won't spawn if the botslots leave, which happens if the server is empty for too long w/o changing maps. { Cleanup = function() { delete ::ExtraSpawnPointsOhINeedToNameItDifferently } OnGameEvent_recalculate_holidays = function(_) { if (GetRoundState() == 3) Cleanup() } OnGameEvent_mvm_wave_complete = function(_) { Cleanup() } //^cleanup stuff idk ask ficool2 function tagCheck() { if(activator.HasBotTag(`spawnbot_ihatethebug`)){ activator.Teleport(true,Vector(0,-2100,-230),false,QAngle(),false,Vector()) //the coords (on bigrock) teleport it into the pit's trigger_hurt behind the wall. } } function OnGameEvent_player_spawn(args) { local player = GetPlayerFromUserID(args.userid) if(NetProps.GetPropBool(player,`m_bIsABot`)) { EntFireByHandle(player, `runscriptcode`, `ExtraSpawnPointsOhINeedToNameItDifferently.tagCheck()`, 0.1, player, null) } } OnGameEvent_player_death = function(params) { local player = GetPlayerFromUserID(params.userid) if (!player) return AddThinkToEnt(player, null) } } __CollectGameEventCallbacks(ExtraSpawnPointsOhINeedToNameItDifferently) " } StartWaveOutput { Target wave_start_relay Action RunScriptCode Param " IncludeScript(`seel_ins`) //S.I.N.S by Seelpit. Manipulate the icons. EntFire(`wave_start_relay`,`Trigger`) SINS.ChangeIconFlags(`scout_bat_nys`,0) //Should make it go poof on wave start " } DoneOutput { Target wave_finished_relay Action trigger } WaveSpawn // If slots don't leave this should never spawn and won't stall the wave. If they do, this prevents it from softlocking entirely at the cost of making the wave start a few seconds late. { Where "" // info_player_teamspawn TotalCount 22 SpawnCount 22 Support Limited WaitBeforeStarting 1 TFBot { Template T_TFBot_Scout_Melee Tag spawnbot_ihatethebug ClassIcon scout_bat_nys Name Slot Attributes IgnoreFlag } } WaveSpawn { Name stage1 Where spawnbot // doesn't matter on tag spawnbot_mid TotalCount 4 SpawnCount 4 TotalCurrency 440 // 288 Squad { TFBot { // Template T_TFBot_Giant_Soldier_SlowBarrage Class Soldier Name "Giant Barrage Soldier" ClassIcon soldier_barrage Health 3800 Tag bot_giant Skill Expert WeaponRestrictions PrimaryOnly Attributes MiniBoss Tag bot_giant Attributes HoldFireUntilFullReload ItemAttributes { ItemName TF_WEAPON_ROCKETLAUNCHER "clip size upgrade atomic" 26.0 "faster reload rate" 0.2 "fire rate bonus" 0.2 "projectile spread angle penalty" 5 "Projectile speed increased" 0.4 } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.4 "airblast vulnerability multiplier" 0.4 "override footstep sound set" 3 "rocket jump damage reduction" 0 "cancel falling damage" 1 } Tag spawnbot_mid CharacterAttributes { "rocket jump damage reduction" 0 "cancel falling damage" 1 } } TFBot { Template T_TFBot_Soldier_TriRocket Tag spawnbot_mid } TFBot { Template T_TFBot_Soldier_TriRocket Tag spawnbot_mid } TFBot { Template T_TFBot_Soldier_TriRocket Tag spawnbot_mid } } } WaveSpawn { Where spawnbot TotalCount 40 // 192 MaxActive 7 // 9 // 16 SpawnCount 4 // 5 // 8 WaitBeforeStarting 10 WaitBetweenSpawns 7 TotalCurrency 40 // 192 RandomSpawn 1 Support 1 // Limited // RandomChoice // { // TFBot // { // Class Scout // } TFBot { Template T_TFBot_Scout_Melee ClassIcon scout_bat_nys Skill Easy } // } FirstSpawnOutPut { Target wave_start_relay Action RunScriptCode Param " SINS.ChangeIconFlags(`scout_bat_nys`,4) //Should make it appear. " } } WaveSpawn { Name stage2 WaitForAllDead stage1 Where spawnbot_right TotalCount 10 MaxActive 4 SpawnCount 2 WaitBeforeStarting 10 WaitBetweenSpawns 5 TotalCurrency 40 Squad { TFBot { Class Pyro } TFBot { // Template T_TFBot_Medic_BigHeal // make prepop normal qf Template T_TFBot_Medic_QuickFix Attributes SpawnWithFullCharge CharacterAttributes { "bot medic uber health threshold" 1987 "ubercharge rate bonus" 0.01 } ClassIcon medic_pop Name "Emotional Support Medic" } } } WaveSpawn { Name stage2 WaitForAllDead stage1 Where spawnbot_left TotalCount 10 MaxActive 4 SpawnCount 2 WaitBeforeStarting 10 WaitBetweenSpawns 5 TotalCurrency 40 Squad { TFBot { Template T_TFBot_Pyro_Flaregun } TFBot { // Template T_TFBot_Medic_BigHeal // make prepop normal qf Template T_TFBot_Medic_QuickFix Attributes SpawnWithFullCharge CharacterAttributes { "bot medic uber health threshold" 1987 "ubercharge rate bonus" 0.01 } ClassIcon medic_pop Name "Emotional Support Medic" } } } WaveSpawn { Name stage3 WaitForAllDead stage2 Where spawnbot_left // doesn't matter on tag spawnbot_mid TotalCount 8 MaxActive 5 // 8 SpawnCount 4 WaitBeforeStarting 0 WaitBetweenSpawns 10 // 15 TotalCurrency 640 Squad { TFBot { // Template T_TFBot_Giant_Soldier_SlowBarrage Class Soldier Name "Giant Barrage Soldier" ClassIcon soldier_barrage Health 3800 Tag bot_giant Skill Expert WeaponRestrictions PrimaryOnly Attributes MiniBoss Tag bot_giant Attributes HoldFireUntilFullReload ItemAttributes { ItemName TF_WEAPON_ROCKETLAUNCHER "clip size upgrade atomic" 26.0 "faster reload rate" 0.2 "fire rate bonus" 0.2 "projectile spread angle penalty" 5 "Projectile speed increased" 0.4 } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.0 "airblast vulnerability multiplier" 0.0 "override footstep sound set" 3 "airblast vertical vulnerability multiplier" 0.0 } Tag spawnbot_mid CharacterAttributes { "rocket jump damage reduction" 0 "cancel falling damage" 1 } } TFBot { Template T_TFBot_Soldier_TriRocket Tag spawnbot_mid } TFBot { Template T_TFBot_Soldier_TriRocket Tag spawnbot_mid } TFBot { Template T_TFBot_Soldier_TriRocket Tag spawnbot_mid } } FirstSpawnOutPut // Disable supports. { Target wave_start_relay Action RunScriptCode Param " SINS.ChangeIconFlags(`scout_bat_nys`,0) //Should make it go poof EntFire(`spawnbot`,`Disable`) " } DoneOutput // Disable supports. { Target wave_start_relay Action RunScriptCode Param " EntFire(`spawnbot`,`Enable`) " } } } // WAVE 2 //////////CURRENCY 1400/////////////////////////////////// Wave { InitWaveOutPut { Target wave_start_relay Action RunScriptCode Param " IncludeScript(`mvm_oilrig_rc5_int_expedited_refinement_vscripts`) " } StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action trigger } WaveSpawn { Where spawnbot // doesn't matter on tag spawnbot_mid TotalCount 3 // 4 MaxActive 2 SpawnCount 1 WaitBetweenSpawns 25 // 20 TotalCurrency 480 // 240 Squad { TFBot { // Health 2000 // Name "Giant Rapid Fire Scout" // Class Scout // ClassIcon scout_spammer // Skill Expert // Attributes MiniBoss // Item "The Fast Learner" // Item warbird_scattergun_corsair // ItemAttributes // { // ItemName warbird_scattergun_corsair // "fire rate bonus" 0.5 // "faster reload rate" -0.6 // } // CharacterAttributes // { // "damage force reduction" 0.7 // "airblast vulnerability multiplier" 0.7 // "move speed bonus" 0.75 // "override footstep sound set" 5 // } // Template T_TFBot_Giant_Scout Class Soldier Name "Giant Rapid Bison Soldier" Item "The Righteous Bison" Item "Defiant Spartan" Skill Expert Health 3800 ClassIcon soldier_bison_spammer Attributes MiniBoss WeaponRestrictions SecondaryOnly CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.4 "airblast vulnerability multiplier" 0.4 "override footstep sound set" 3 "cancel falling damage" 1 } ItemAttributes { ItemName "The Righteous Bison" "faster reload rate" -0.8 "fire rate bonus" 0.3 } Tag spawnbot_mid } } } WaveSpawn { Name stage1 Where spawnbot TotalCount 20 // 16 // 20 // 24 MaxActive 9 // 7 // 9 // 12 SpawnCount 6 // 4 // 5 // 6 WaitBeforeStarting 2 WaitBetweenSpawns 8 TotalCurrency 48 // 24 RandomSpawn 0 // 1 TFBot { // Class Soldier // Skill Normal Class Soldier Name "Uncharged Soldier" ClassIcon soldier_crit Skill Normal Item "The Original" ItemAttributes { ItemName "The Original" "faster reload rate" 0.2 "fire rate bonus" 2 "Projectile speed increased" 0.5 } CharacterAttributes { "rocket jump damage reduction" 0 } } } WaveSpawn { Name stage2 Where spawnbot TotalCount 36 // 30 MaxActive 8 // 7 // 8 SpawnCount 4 WaitBeforeStarting 10 WaitBetweenSpawns 9 // 8 TotalCurrency 60 // 30 RandomSpawn 1 TFBot { Class Pyro } } WaveSpawn { Name stage2 WaitForAllDead stage1 // Spawned stage1 Where spawnbot TotalCount 20 // 24 MaxActive 9 // 12 SpawnCount 5 // 6 WaitBeforeStarting 0 // 15 // 10 WaitBetweenSpawns 9 // 8 TotalCurrency 48 // 24 RandomSpawn 0 // 1 TFBot { Template T_TFBot_Sniper_Huntsman Class Sniper Name Jumbowman ClassIcon sniper_bow_armored Health 500 Scale 1.5 Item "Rifleman's Regalia" } } WaveSpawn { Name stage3 WaitForAllSpawned stage2 Where spawnbot_left TotalCount 2 MaxActive 2 SpawnCount 2 TotalCurrency 382 // 191 Squad { TFBot { Template T_TFBot_Giant_Soldier_Spammer_Reload CharacterAttributes { "rocket jump damage reduction" 0 "cancel falling damage" 1 } } TFBot { Template T_TFBot_Medic_QuickUber } } } WaveSpawn { Name stage3 WaitForAllSpawned stage2 Where spawnbot_right TotalCount 2 MaxActive 2 SpawnCount 2 TotalCurrency 382 // 191 Squad { TFBot { Template T_TFBot_Giant_Soldier_Spammer_Reload CharacterAttributes { "rocket jump damage reduction" 0 "cancel falling damage" 1 } } TFBot { Template T_TFBot_Medic_QuickUber } } } } // multiplier = daddy, multiplied = child // WAVE 3 //////////CURRENCY 1600/////////////////////////////////// Wave { InitWaveOutPut { Target wave_start_relay Action RunScriptCode Param " IncludeScript(`mvm_oilrig_rc5_int_expedited_refinement_vscripts`) " } StartWaveOutput { Target wave_start_relay Action RunScriptCode Param " IncludeScript(`seel_ins`) //S.I.N.S by Seelpit. Manipulate the icons. EntFire(`wave_start_relay`,`Trigger`) SINS.ChangeIconFlags(`demo`,0) //Should make it go poof on wave start " } DoneOutput { Target wave_finished_relay Action trigger } WaveSpawn { Name stage1 Where spawnbot TotalCount 1 SpawnCount 1 TotalCurrency 10 // 5 TFBot { Template T_TFBot_Heavyweapons_Heavyweight_Champ_Fast Tag spawnbot_mid Tag bot_multiplier1 Item "Pugilist's Protector" ItemAttributes { ItemName "Pugilist's Protector" "set item tint rgb" 13595446 // mann co orange } Health 1500 Scale 1.5 Attributes UseBossHealthBar Name "Suspiciously Bulky Champ" CharacterAttributes { "move speed bonus" 0.7 } } } WaveSpawn { Name stage1_babbies WaitForAllDead stage1 Where spawnbot TotalCount 19 MaxActive 19 SpawnCount 19 TotalCurrency 190 // 95 WaitBeforeStarting 0 Support Limited RandomChoice { Squad { TFBot { Template T_TFBot_Heavyweapons_Heavyweight_Champ_Fast Tag bot_multiplied1 Item "Pugilist's Protector" ItemAttributes { ItemName "Pugilist's Protector" "set item tint rgb" 13595446 // mann co orange } Health 60 Scale 0.65 Name "Lil Punchie Of Doom" CharacterAttributes { "move speed bonus" 1.5 } } } } } // the cacophony. WaveSpawn { Name dummysound WaitForAllDead stage1 Support Limited FirstSpawnWarningSound vo/mvm/norm/heavy_mvm_go01.mp3 } WaveSpawn { Name dummysound WaitForAllDead stage1 Support Limited FirstSpawnWarningSound vo/mvm/norm/heavy_mvm_go01.mp3 } WaveSpawn { Name dummysound WaitForAllDead stage1 WaitBeforeStarting 0.5 Support Limited FirstSpawnWarningSound vo/mvm/norm/heavy_mvm_cheers02.mp3 } WaveSpawn { Name dummysound WaitForAllDead stage1 WaitBeforeStarting 0.5 Support Limited FirstSpawnWarningSound vo/mvm/norm/heavy_mvm_cheers02.mp3 } WaveSpawn { Name dummysound WaitForAllDead stage1 WaitBeforeStarting 1 Support Limited FirstSpawnWarningSound vo/mvm/norm/heavy_mvm_cheers04.mp3 } WaveSpawn { Name dummysound WaitForAllDead stage1 WaitBeforeStarting 1 Support Limited FirstSpawnWarningSound vo/mvm/norm/heavy_mvm_cheers04.mp3 } WaveSpawn { TotalCount 1 WaitForAllSpawned stage1_babbies WaitBeforeStarting 5 TotalCurrency 300 FirstSpawnWarningSound #mvm/mvm_tank_start.wav // # marks as music. Tank { Name tankboss Health 20000 Speed 75 StartingPathTrackNode tank_path_b_1 // for some reason custom missions forget this path exists Skin 0 OnKilledOutput { Target boss_dead_relay Action Trigger } OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } FirstSpawnOutPut { Target wave_start_relay Action RunScriptCode Param " ClientPrint(null,3,`\x0799CCFFTank deployed with 20k (20000) HP!`) " } } WaveSpawn { Name stage2a1_daddies WaitForAllDead stage1_babbies Where spawnbot_right TotalCount 1 SpawnCount 1 TotalCurrency 50 TFBot { Template T_TFBot_Giant_Soldier Tag bot_multiplier1 CharacterAttributes { "rocket jump damage reduction" 0 "cancel falling damage" 1 } } } WaveSpawn { Name stage2a_babbies WaitForAllDead stage2a1_daddies Where spawnbot TotalCount 5 SpawnCount 5 TotalCurrency 50 Support Limited RandomChoice { Squad { TFBot { Template T_TFBot_Soldier_Trirocket Tag bot_multiplied1 } } } } WaveSpawn { Name stage2a2_daddies WaitForAllDead stage1_babbies Where spawnbot_left TotalCount 1 SpawnCount 1 TotalCurrency 50 TFBot { Template T_TFBot_Giant_Soldier Tag bot_multiplier2 CharacterAttributes { "rocket jump damage reduction" 0 "cancel falling damage" 1 } } } WaveSpawn { Name stage2a_babbies WaitForAllDead stage2a2_daddies Where spawnbot TotalCount 5 SpawnCount 5 TotalCurrency 50 Support Limited RandomChoice { Squad { TFBot { Template T_TFBot_Soldier_Trirocket Tag bot_multiplied2 } } } } WaveSpawn { Name stage2b1_daddies WaitForAllDead stage2a_babbies Where spawnbot_left TotalCount 1 SpawnCount 1 TotalCurrency 100 TFBot { Template T_TFBot_Giant_Heavyweapons Tag bot_multiplier1 Tag spawnbot_mid CharacterAttributes { "cancel falling damage" 1 } } } WaveSpawn { Name stage2b_babbies WaitForAllDead stage2b1_daddies Where spawnbot TotalCount 6 SpawnCount 6 TotalCurrency 100 Support Limited RandomChoice { Squad { TFBot { Template T_TFBot_Sniper_Huntsman_Spammer_Improved Tag bot_multiplied1 } TFBot { Class Pyro Skill Easy Attributes AlwaysFireWeapon Tag bot_multiplied1 } TFBot { Class Pyro Skill Easy Attributes AlwaysFireWeapon Tag bot_multiplied1 } TFBot { Class Pyro Skill Easy Attributes AlwaysFireWeapon Tag bot_multiplied1 } TFBot { Class Heavy ClassIcon heavy_heater Name "Heater Heavy" Skill Easy Item "Brigade Helm" Item "The Huo Long Heatmaker" Tag bot_multiplied1 } TFBot { Class Heavy ClassIcon heavy_heater Name "Heater Heavy" Skill Easy Item "Brigade Helm" Item "The Huo Long Heatmaker" Tag bot_multiplied1 } } } } WaveSpawn { Name stage2b2_daddies WaitForAllDead stage2a_babbies Where spawnbot_left TotalCount 1 SpawnCount 1 WaitBeforeStarting 15 TotalCurrency 100 TFBot { Template T_TFBot_Giant_Heavyweapons Tag bot_multiplier2 Tag spawnbot_mid CharacterAttributes { "cancel falling damage" 1 } } } WaveSpawn { Name stage2b_babbies WaitForAllDead stage2b2_daddies Where spawnbot TotalCount 6 SpawnCount 6 TotalCurrency 100 Support Limited RandomChoice { Squad { TFBot { Template T_TFBot_Sniper_Huntsman_Spammer_Improved Tag bot_multiplied2 } TFBot { Class Pyro Skill Easy Attributes AlwaysFireWeapon Tag bot_multiplied2 } TFBot { Class Pyro Skill Easy Attributes AlwaysFireWeapon Tag bot_multiplied2 } TFBot { Class Pyro Skill Easy Attributes AlwaysFireWeapon Tag bot_multiplied2 } TFBot { Class Heavy ClassIcon heavy_heater Name "Heater Heavy" Skill Easy Item "Brigade Helm" Item "The Huo Long Heatmaker" Tag bot_multiplied2 } TFBot { Class Heavy ClassIcon heavy_heater Name "Heater Heavy" Skill Easy Item "Brigade Helm" Item "The Huo Long Heatmaker" Tag bot_multiplied2 } } } } WaveSpawn { Name stage3 WaitForAllDead stage2b_babbies Where spawnbot TotalCount 12 // 18 MaxActive 6 SpawnCount 2 WaitBeforeStarting 0 // 15 // 10 WaitBetweenSpawns 8 // 6 TotalCurrency 300 // 600 // 300 RandomSpawn 1 TFBot { Template T_TFBot_Heavyweapons_Fist } } WaveSpawn { Name stage3 WaitForAllDead stage2b_babbies Where spawnbot_left TotalCount 200 // 100 // 50 MaxActive 8 // 9 SpawnCount 3 WaitBeforeStarting 5 // 20 // 15 WaitBetweenSpawns 6 // 5 TotalCurrency 200 // 100 // 50 Support 1 TFBot { Class Demoman Skill Normal CharacterAttributes { "rocket jump damage reduction" 0 } } FirstSpawnOutPut { Target wave_start_relay Action RunScriptCode Param " SINS.ChangeIconFlags(`demo`,4) //Should make it appear. " } } // WaveSpawn // { // Name stage3 // WaitForAllSpawned stage2 // Where spawnbot_right // TotalCount 50 // MaxActive 9 // SpawnCount 3 // WaitBeforeStarting 17.5 // WaitBetweenSpawns 5 // TotalCurrency 50 // Support 1 // TFBot // { // Class Heavyweapons // Skill Easy // } // } } // WAVE 4 //////////CURRENCY 1800/////////////////////////////////// Wave // replace all gsollies with noncrit gcs { InitWaveOutPut { Target wave_start_relay Action RunScriptCode Param " IncludeScript(`mvm_oilrig_rc5_int_expedited_refinement_vscripts`) " } StartWaveOutput { Target wave_start_relay Action RunScriptCode Param " IncludeScript(`seel_ins`) //S.I.N.S by Seelpit. Manipulate the icons. EntFire(`wave_start_relay`,`Trigger`) SINS.ChangeIconFlags(`demo`,0) //Should make it go poof on wave start " } DoneOutput { Target wave_finished_relay Action trigger } WaveSpawn { Name stage1 Where spawnbot // doesn't matter on tag spawnbot_mid TotalCount 2 // 3 MaxActive 2 // 3 SpawnCount 1 WaitBetweenSpawns 13 TotalCurrency 400 // 200 TFBot { Template T_TFBot_Giant_Soldier // _Crit Tag spawnbot_mid CharacterAttributes { "rocket jump damage reduction" 0 "cancel falling damage" 1 } } } WaveSpawn { Name stage1 Where spawnbot_left TotalCount 2 // 3 MaxActive 2 // 3 SpawnCount 1 WaitBetweenSpawns 13 WaitBeforeStarting 0.2 TotalCurrency 400 // 200 TFBot { Template T_TFBot_Giant_Soldier // _Crit CharacterAttributes { "rocket jump damage reduction" 0 "cancel falling damage" 1 } } } WaveSpawn { Name stage1 Where spawnbot_right TotalCount 2 // 3 MaxActive 2 // 3 SpawnCount 1 WaitBetweenSpawns 13 WaitBeforeStarting 0.2 TotalCurrency 400 // 200 TFBot { Template T_TFBot_Giant_Soldier // _Crit CharacterAttributes { "rocket jump damage reduction" 0 "cancel falling damage" 1 } } } WaveSpawn { WaitForAllSpawned stage1 Where spawnbot_mission_sniper // doesn't matter on tag spawnbot_mid TotalCount 186 // 93 MaxActive 6 SpawnCount 3 WaitBeforeStarting 10 WaitBetweenSpawns 5 TotalCurrency 186 // 93 Support 1 RandomChoice { TFBot { Class Demoman Skill Normal CharacterAttributes { "rocket jump damage reduction" 0 } } TFBot { Template T_TFBot_Demoman_Stickybomb ClassIcon demo } } FirstSpawnOutPut { Target wave_start_relay Action RunScriptCode Param " SINS.ChangeIconFlags(`demo`,4) //Should make it appear. " } } WaveSpawn { Name stage2 WaitForAllDead stage1 Where spawnbot TotalCount 32 MaxActive 12 SpawnCount 4 WaitBetweenSpawns 5 TotalCurrency 64 // 32 RandomSpawn 1 Squad { TFBot { Template T_TFBot_Scout_BigGun } TFBot { Template T_TFBot_Medic_Bigheal_Improved } TFBot { Class Scout ClassIcon scout_pistol_nys // custom icon Skill Easy WeaponRestrictions SecondaryOnly } TFBot { Class Scout ClassIcon scout_pistol_nys // custom icon Skill Easy WeaponRestrictions SecondaryOnly } } } WaveSpawn { Name stage2 WaitForAllDead stage1 Where spawnbot_mission_sniper // doesn't matter on tag spawnbot_mid TotalCount 2 MaxActive 2 SpawnCount 1 WaitBeforeStarting 10 WaitBetweenSpawns 15 TotalCurrency 200 // 100 TFBot { Template T_TFBot_Giant_Soldier // _Crit Tag spawnbot_mid CharacterAttributes { "rocket jump damage reduction" 0 "cancel falling damage" 1 } } } WaveSpawn { Name stage3 WaitForAllSpawned stage2 Where spawnbot_mission_sniper // doesn't matter on tag spawnbot_mid TotalCount 4 MaxActive 4 SpawnCount 2 WaitBeforeStarting 10 WaitBetweenSpawns 5 TotalCurrency 150 // 75 TFBot { Template T_TFBot_Giant_Pyro Attributes AlwaysCrit Attributes AlwaysFireWeapon Tag spawnbot_mid Name "god help us all" CharacterAttributes { "cancel falling damage" 1 } } } } // WAVE 5 //////////CURRENCY 2000/////////////////////////////////// Wave { InitWaveOutPut { Target wave_start_relay Action RunScriptCode Param " IncludeScript(`mvm_oilrig_rc5_int_expedited_refinement_vscripts`) MannPowersInit.Run(true) //Init Mannpowers, with tutorial. EntFire(`icon_swapping_relay_w5A`,`Trigger`) " } StartWaveOutput { Target wave_start_relay Action RunScriptCode Param " EntFire(`wave_start_relay`,`Trigger`) EntFire(`icon_swapping_relay_w5A`,`CancelPending`) EntFire(`icon_swapping_relay_w5B`,`CancelPending`) MannpowerIconsToggleShowTypew5() " } DoneOutput { Target wave_finished_relay Action trigger } // PRECACHE POWER ICONS WaveSpawn { Where spawnbot TotalCount 1 MaxActive 0 SpawnCount 0 WaitBeforeStarting 99999 Support 1 RandomChoice { Squad { TFBot { Class Scout ClassIcon powerup_precision_lite Name "Icon for DL" } } } } WaveSpawn { Where spawnbot TotalCount 1 MaxActive 0 SpawnCount 0 WaitBeforeStarting 99999 Support 1 RandomChoice { Squad { TFBot { Class Scout ClassIcon powerup_agility_lite Name "Icon for DL" } } } } WaveSpawn { Where spawnbot TotalCount 1 MaxActive 0 SpawnCount 0 WaitBeforeStarting 99999 Support 1 RandomChoice { Squad { TFBot { Class Scout ClassIcon powerup_haste_lite Name "Icon for DL" } } } } WaveSpawn { Where spawnbot TotalCount 1 MaxActive 0 SpawnCount 0 WaitBeforeStarting 99999 Support 1 RandomChoice { Squad { TFBot { Class Scout ClassIcon powerup_strength_lite Name "Icon for DL" } } } } WaveSpawn { Where spawnbot TotalCount 1 MaxActive 0 SpawnCount 0 WaitBeforeStarting 99999 Support 1 RandomChoice { Squad { TFBot { Class Scout ClassIcon powerup_knockout_lite Name "Icon for DL" } } } } // THE ACTUAL WAVE WaveSpawn { Name stage1 Where spawnbot // doesn't matter on tag spawnbot_mid TotalCount 2 MaxActive 2 SpawnCount 2 WaitBetweenSpawns 10 TotalCurrency 668 // 450 // 200 Squad { TFBot { Template T_TFBot_Giant_Soldier Tag spawnbot_mid // Tag bot_precision Tag bot_strength // Name "projectile jumpscare" Name "Dodge Or Die." Item "The Direct Hit" ClassIcon soldier_directhit_buff_lite Attributes SpawnWithFullCharge Item "The Buff Banner" CharacterAttributes { "rocket jump damage reduction" 0 "cancel falling damage" 1 "increase buff duration" 9.0 "deploy time increased" .5 } } TFBot // make gregen with buffbanner { Template T_TFBot_Giant_Medic_Regen // Kritz Tag spawnbot_mid Tag bot_agility // Tag giant_medic //remant from some wavebar crap. Look in the nutfile for more details. OBSOLETE. // ClassIcon medic_buff_lite //remnant from wanting this to be a giant banner. Unfortunately that also forces a shield. // Could have done some popext spawntemplate stuff so that there's a trigger addcond giving the buff addcond. // But that's, as we say, too much effort when I can just put the banner on the solly like a normie. // Item "The Buff Banner" // Name "Giant Buff Regen Medic" // Attributes SpawnWithFullCharge CharacterAttributes { "cancel falling damage" 1 // "increase buff duration" 1001 // "deploy time increased" .5 // "ubercharge rate penalty" -10 // "generate rage on heal" 1 // Attempt to make it not a level 2 shield. don't think it worked. 0 didn't stop the shield either. // Thinking about it, absolutely could use vscript to delete the shield somehow, not sure how though. Nor do I really care when I can just put the banner on the gsolly. } } } } WaveSpawn { Name stage2 WaitForAllDead stage1 Where spawnbot TotalCount 48 // 32 MaxActive 16 SpawnCount 8 WaitBetweenSpawns 5 WaitBeforeStarting 0 TotalCurrency 64 // 32 RandomSpawn 1 TFBot { Template T_TFBot_Scout_Melee Attributes AlwaysCrit Name nyOOOOOOOOOM! Tag bot_agility ClassIcon scout_bat_nys } } WaveSpawn { Name stage2 WaitForAllDead stage1 Where spawnbot TotalCount 3 // 2 MaxActive 3 // 2 SpawnCount 1 WaitBetweenSpawns 10 WaitBeforeStarting 5 TotalCurrency 500 // 234 TFBot { Template T_TFBot_Giant_Heavyweapons_Shotgun Name "glorified sniper" Tag bot_precision Tag spawnbot_mid CharacterAttributes { "cancel falling damage" 1 } } } WaveSpawn { Name stage3 WaitForAllSpawned stage2 Where spawnbot TotalCount 2 MaxActive 2 SpawnCount 1 WaitBetweenSpawns 10 WaitBeforeStarting 15 TotalCurrency 568 // 284 TFBot { Template T_TFBot_Giant_Soldier_SlowBarrage Name "Oh my goodness gracious" Tag bot_haste Tag spawnbot_mid CharacterAttributes { "rocket jump damage reduction" 0 "cancel falling damage" 1 } } } WaveSpawn { WaitForAllSpawned stage2 Where spawnbot TotalCount 8 MaxActive 4 SpawnCount 2 WaitBetweenSpawns 10 WaitBeforeStarting 20 TotalCurrency 200 // figure it out later TFBot { Template T_TFBot_Demoman_Samurai Tag bot_knockout Tag spawnbot_mid } } // WaveSpawn // { // Name stage4 // WaitForAllSpawned stage3 // Where spawnbot_left // TotalCount 4 // MaxActive 2 // SpawnCount 1 // WaitBetweenSpawns 10 // WaitBeforeStarting 20 // TotalCurrency //120 // TFBot // { // Template T_TFBot_Giant_Scout_Baseball // Tag bot_agility // } // } // WaveSpawn // { // Name stage4 // WaitForAllSpawned stage3 // Where spawnbot // _left // TotalCount 218 // 100 // MaxActive 9 // SpawnCount 3 // WaitBetweenSpawns 5 // WaitBeforeStarting 10 // TotalCurrency 218 // 100 // Support 1 // TFBot // { // Class Soldier // Skill Normal // Tag bot_strength // } // } } // WAVE 6 //////////CURRENCY 2200/////////////////////////////////// Wave { InitWaveOutPut { Target wave_start_relay Action RunScriptCode Param " IncludeScript(`mvm_oilrig_rc5_int_expedited_refinement_vscripts`) MannPowersInit.Run(false) //Init Mannpowers, without tutorial. EntFire(`icon_swapping_relay_w6A`,`Trigger`,`0.15`) " } StartWaveOutput { Target wave_start_relay Action RunScriptCode Param " EntFire(`wave_start_relay`,`Trigger`) EntFire(`icon_swapping_relay_w6A`,`CancelPending`) EntFire(`icon_swapping_relay_w6B`,`CancelPending`) MannpowerIconsToggleShowTypew6() " } DoneOutput { Target wave_finished_relay Action trigger } // PRECACHE POWER ICONS WaveSpawn { Where spawnbot TotalCount 1 MaxActive 0 SpawnCount 0 WaitBeforeStarting 99999 Support 1 RandomChoice { Squad { TFBot { Class Scout ClassIcon powerup_precision_lite Name "Icon for DL" } } } } WaveSpawn { Where spawnbot TotalCount 1 MaxActive 0 SpawnCount 0 WaitBeforeStarting 99999 Support 1 RandomChoice { Squad { TFBot { Class Scout ClassIcon powerup_agility_lite Name "Icon for DL" } } } } WaveSpawn { Where spawnbot TotalCount 1 MaxActive 0 SpawnCount 0 WaitBeforeStarting 99999 Support 1 RandomChoice { Squad { TFBot { Class Scout ClassIcon powerup_haste_lite Name "Icon for DL" } } } } WaveSpawn { Where spawnbot TotalCount 1 MaxActive 0 SpawnCount 0 WaitBeforeStarting 99999 Support 1 RandomChoice { Squad { TFBot { Class Scout ClassIcon powerup_strength_lite Name "Icon for DL" } } } } WaveSpawn { Where spawnbot TotalCount 1 MaxActive 0 SpawnCount 0 WaitBeforeStarting 99999 Support 1 RandomChoice { Squad { TFBot { Class Scout ClassIcon powerup_knockout_lite Name "Icon for DL" } } } } // THE ACTUAL WAVE WaveSpawn { Name stage1 Where spawnbot_left TotalCount 1 SpawnCount 1 TotalCurrency 100 TFBot { Template T_TFBot_Giant_Soldier_RocketRain Tag bot_haste } } WaveSpawn { Name stage1 Where spawnbot_right TotalCount 1 SpawnCount 1 WaitBetweenSpawns 30 TotalCurrency 100 TFBot { Template T_TFBot_Giant_Demo_Burstier Name "Burstiest Demo" Tag bot_haste } } WaveSpawn { TotalCount 1 WaitBeforeStarting 5 TotalCurrency 1000 FirstSpawnWarningSound #mvm/mvm_tank_start.wav // # marks as music. Tank { Name tankboss Health 25000 Speed 75 StartingPathTrackNode tank_path_a_1 Skin 0 OnKilledOutput { Target boss_dead_relay Action Trigger } OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } FirstSpawnOutPut { Target wave_start_relay Action RunScriptCode Param " ClientPrint(null,3,`\x0799CCFFTank deployed with 25k (25000) HP!`) " } } WaveSpawn { WaitForAllDead stage1 Name stage2 Where spawnbot_left TotalCount 2 MaxActive 2 SpawnCount 1 WaitBeforeStarting 5 WaitBetweenSpawns 10 TotalCurrency 100 TFBot { Template T_TFBot_Giant_Demo_Burstier Name "Burstiest Demo" Tag bot_haste } } WaveSpawn { WaitForAllDead stage1 Name stage2 Where spawnbot_right TotalCount 2 MaxActive 2 SpawnCount 1 WaitBeforeStarting 5 WaitBetweenSpawns 10 TotalCurrency 100 TFBot { Template T_TFBot_Giant_Soldier_RocketRain Tag bot_haste } } WaveSpawn { WaitForAllDead stage1 Name stage2 Where spawnbot TotalCount 2 MaxActive 2 SpawnCount 1 WaitBeforeStarting 5 WaitBetweenSpawns 10 TotalCurrency 100 TFBot { Template T_TFBot_Giant_Scout Name Zoomies Tag bot_agility Tag spawnbot_mid CharacterAttributes { "cancel falling damage" 1 } } } WaveSpawn { WaitForAllDead stage2 // Spawned stage2 Name stage3 Where spawnbot TotalCount 3 // 6 MaxActive 3 // 6 SpawnCount 1 WaitBeforeStarting 5 // 15 WaitBetweenSpawns 12 // 10 TotalCurrency 100 RandomSpawn 1 TFBot { Template T_TFBot_Giant_Heavyweapons Name Musclegun Tag bot_strength CharacterAttributes { "cancel falling damage" 1 } } } WaveSpawn { WaitForAllDead stage2 // Spawned stage2 Name stage3 Where spawnbot TotalCount 3 // 6 MaxActive 3 // 6 SpawnCount 1 WaitBeforeStarting 5 // 15 WaitBetweenSpawns 12 // 10 TotalCurrency 100 RandomSpawn 1 TFBot { Template T_TFBot_Giant_Heavyweapons_Shotgun_Jumping Name "Super Leapfrog" Tag bot_agility } } WaveSpawn { WaitForAllDead stage3 // Spawned stage3 Where spawnbot TotalCount 4 // 8 MaxActive 4 // 8 SpawnCount 2 WaitBeforeStarting 0 // 10 WaitBetweenSpawns 15 TotalCurrency 100 RandomSpawn 1 TFBot { Class heavy Name "Super Steel Gauntlet" ClassIcon heavy_steelfist Skill Expert Health 5000 Item "War Head" Item "Fists of Steel" WeaponRestrictions MeleeOnly Attributes MiniBoss Attributes AlwaysCrit ItemAttributes { ItemName "Fists Of Steel" "damage bonus" 1.2 "fire rate bonus" 0.6 } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.3 "airblast vulnerability multiplier" 0.3 "override footstep sound set" 2 "cancel falling damage" 1 } Tag bot_knockout } } WaveSpawn { WaitForAllSpawned stage3 TotalCount 1 WaitBeforeStarting 35 // 25 TotalCurrency 200 FirstSpawnWarningSound #mvm/mvm_tank_start.wav // # marks as music. Tank { Name tankboss Health 40000 Speed 75 StartingPathTrackNode tank_path_b_1 // for some reason custom missions forget this path exists Skin 1 OnKilledOutput { Target boss_dead_relay Action Trigger } OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } FirstSpawnOutPut { Target wave_start_relay Action RunScriptCode Param " ClientPrint(null,3,`\x0799CCFFTank deployed with 40k (40000) HP!`) " } } } }