// "This Is Crazy." - Demishio // Created by Mentrillum #base robot_giant.pop #base robot_standard.pop #base robot_mentrillum.pop WaveSchedule { StartingCurrency 400 RespawnWaveTime 5 FixedRespawnWaveTime Yes CanBotsAttackWhileInSpawnRoom no Advanced 1 Templates { T_TFBot_Giant_Soldier_RapidShotgun { Class Soldier ClassIcon heavy_shotgun_spammer_pda Health 4000 Name "Giant Rapid Shotgun Soldier" Skill Expert Attributes MiniBoss Attributes AlwaysCrit WeaponRestrictions SecondaryOnly Tag bot_giant ItemAttributes { ItemName "tf_weapon_shotgun_soldier" "faster reload rate" -0.8 "fire rate bonus" 0.5 "bullets per shot bonus" 2 "damage penalty" 0.65 } CharacterAttributes { "move speed bonus" 0.7 "damage force reduction" 0.4 "airblast vulnerability multiplier" 0.4 "override footstep sound set" 3 "attack projectiles" 1 } } T_TFBot_Giant_Heavy_Conch { Class Heavyweapons Name "Giant Conch Heavy" ClassIcon heavy_conch_lite Skill Expert Health 5000 WeaponRestrictions PrimaryOnly MaxVisionRange 1200 Attributes MiniBoss Attributes SpawnWithFullCharge Tag bot_giant Item "The Concheror" ItemAttributes { ItemName "TF_WEAPON_MINIGUN" "damage bonus" 1.5 } ItemAttributes { ItemName "The Concheror" "increase buff duration" 9.0 } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.3 "airblast vulnerability multiplier" 0.3 "override footstep sound set" 2 "increase buff duration" 9.0 "switch from wep deploy time decreased" 0.0001 "single wep deploy time decreased" 0.0001 } } } Mission { Objective Spy InitialCooldown 20 Where spawnbot_mission_spy BeginAtWave 1 RunForThisManyWaves 2 CooldownTime 45 DesiredCount 2 TFBot { Class Spy Skill Expert } } Mission { Objective Spy InitialCooldown 20 Where spawnbot_mission_spy BeginAtWave 4 RunForThisManyWaves 2 CooldownTime 45 DesiredCount 2 TFBot { Class Spy Skill Expert } } Mission // For Wave 1-6 { Where spawnbot Objective DestroySentries CooldownTime 30 RandomChoice { TFBot { Template T_TFBot_SentryBuster WeaponRestrictions PrimaryOnly Attributes DisableDodge } TFBot { Template T_TFBot_SentryBuster WeaponRestrictions PrimaryOnly Attributes DisableDodge } TFBot { Template T_TFBot_SentryBuster WeaponRestrictions PrimaryOnly Attributes DisableDodge } TFBot { Template T_TFBot_SentryBuster WeaponRestrictions PrimaryOnly Attributes DisableDodge } TFBot { Template T_TFBot_SentryBuster WeaponRestrictions PrimaryOnly Attributes DisableDodge } TFBot { Template T_TFBot_SentryBuster WeaponRestrictions PrimaryOnly Attributes DisableDodge } TFBot { Template T_TFBot_SentryBuster WeaponRestrictions PrimaryOnly Attributes DisableDodge } TFBot { Template T_TFBot_SentryBuster WeaponRestrictions PrimaryOnly Attributes DisableDodge } TFBot { Template T_TFBot_SentryBuster WeaponRestrictions PrimaryOnly Attributes DisableDodge } TFBot { Template T_TFBot_SentryBuster WeaponRestrictions PrimaryOnly Attributes DisableDodge } TFBot { Template T_TFBot_SentryBuster WeaponRestrictions PrimaryOnly Attributes DisableDodge } TFBot { Template T_TFBot_SentryBuster WeaponRestrictions PrimaryOnly Attributes DisableDodge } TFBot { Template T_TFBot_SentryBuster WeaponRestrictions PrimaryOnly Attributes DisableDodge } TFBot { Template T_TFBot_SentryBuster WeaponRestrictions PrimaryOnly Attributes DisableDodge } TFBot { Template T_TFBot_SentryBuster WeaponRestrictions PrimaryOnly Attributes DisableDodge } TFBot { Template T_TFBot_SentryBuster WeaponRestrictions PrimaryOnly Attributes DisableDodge } TFBot { Template T_TFBot_SentryBuster WeaponRestrictions PrimaryOnly Attributes DisableDodge } TFBot { Template T_TFBot_SentryBuster WeaponRestrictions PrimaryOnly Attributes DisableDodge } TFBot { Template T_TFBot_SentryBuster WeaponRestrictions PrimaryOnly Attributes DisableDodge } TFBot { Template T_TFBot_SentryBuster WeaponRestrictions PrimaryOnly Attributes DisableDodge } TFBot { Template T_TFBot_SentryBuster WeaponRestrictions PrimaryOnly Attributes DisableDodge } TFBot { Template T_TFBot_SentryBuster WeaponRestrictions PrimaryOnly Attributes DisableDodge } TFBot { Template T_TFBot_SentryBuster WeaponRestrictions PrimaryOnly Attributes DisableDodge } TFBot { Template T_TFBot_SentryBuster WeaponRestrictions PrimaryOnly Attributes DisableDodge } TFBot { Template T_TFBot_SentryBuster WeaponRestrictions PrimaryOnly Attributes DisableDodge } TFBot { Template T_TFBot_SentryBuster WeaponRestrictions PrimaryOnly Attributes DisableDodge } TFBot { Template T_TFBot_SentryBuster WeaponRestrictions PrimaryOnly Attributes DisableDodge } TFBot { Template T_TFBot_SentryBuster WeaponRestrictions PrimaryOnly Attributes DisableDodge } TFBot { Template T_TFBot_SentryBuster WeaponRestrictions PrimaryOnly Attributes DisableDodge } TFBot { Template T_TFBot_SentryBuster WeaponRestrictions PrimaryOnly Attributes DisableDodge } TFBot { Template T_TFBot_SentryBuster WeaponRestrictions PrimaryOnly Attributes DisableDodge } TFBot { Template T_TFBot_SentryBuster WeaponRestrictions PrimaryOnly Attributes DisableDodge } TFBot { Template T_TFBot_SentryBuster WeaponRestrictions PrimaryOnly Attributes DisableDodge } TFBot { Template T_TFBot_SentryBuster WeaponRestrictions PrimaryOnly Attributes DisableDodge } TFBot { Template T_TFBot_SentryBuster WeaponRestrictions PrimaryOnly Attributes DisableDodge } TFBot { Template T_TFBot_SentryBuster WeaponRestrictions PrimaryOnly Attributes DisableDodge } TFBot { Template T_TFBot_SentryBuster WeaponRestrictions PrimaryOnly Attributes DisableDodge } TFBot { Template T_TFBot_SentryBuster WeaponRestrictions PrimaryOnly Attributes DisableDodge } TFBot { Template T_TFBot_SentryBuster WeaponRestrictions PrimaryOnly Attributes DisableDodge } TFBot { Template T_TFBot_SentryBuster WeaponRestrictions PrimaryOnly Attributes DisableDodge } TFBot { Template T_TFBot_SentryBuster WeaponRestrictions PrimaryOnly Attributes DisableDodge } TFBot { Template T_TFBot_SentryBuster WeaponRestrictions PrimaryOnly Attributes DisableDodge } TFBot { Template T_TFBot_SentryBuster WeaponRestrictions PrimaryOnly Attributes DisableDodge } TFBot { Template T_TFBot_SentryBuster WeaponRestrictions PrimaryOnly Attributes DisableDodge } TFBot { Template T_TFBot_SentryBuster WeaponRestrictions PrimaryOnly Attributes DisableDodge } TFBot { Template T_TFBot_SentryBuster WeaponRestrictions PrimaryOnly Attributes DisableDodge } TFBot { Template T_TFBot_SentryBuster WeaponRestrictions PrimaryOnly Attributes DisableDodge } TFBot { Template T_TFBot_SentryBuster WeaponRestrictions PrimaryOnly Attributes DisableDodge } TFBot { Template T_TFBot_SentryBuster WeaponRestrictions PrimaryOnly Attributes DisableDodge } TFBot { Template T_TFBot_SentryBuster WeaponRestrictions PrimaryOnly Attributes DisableDodge } TFBot { Template T_TFBot_SentryBuster WeaponRestrictions PrimaryOnly Attributes DisableDodge } TFBot { Template T_TFBot_SentryBuster WeaponRestrictions PrimaryOnly Attributes DisableDodge } TFBot { Template T_TFBot_SentryBuster WeaponRestrictions PrimaryOnly Attributes DisableDodge } TFBot { Template T_TFBot_SentryBuster WeaponRestrictions PrimaryOnly Attributes DisableDodge } TFBot { Template T_TFBot_SentryBuster WeaponRestrictions PrimaryOnly Attributes DisableDodge } TFBot { Template T_TFBot_SentryBuster WeaponRestrictions PrimaryOnly Attributes DisableDodge } TFBot { Template T_TFBot_SentryBuster WeaponRestrictions PrimaryOnly Attributes DisableDodge } TFBot { Template T_TFBot_SentryBuster WeaponRestrictions PrimaryOnly Attributes DisableDodge } TFBot { Template T_TFBot_SentryBuster WeaponRestrictions PrimaryOnly Attributes DisableDodge } TFBot { Template T_TFBot_SentryBuster WeaponRestrictions PrimaryOnly Attributes DisableDodge } TFBot { Template T_TFBot_SentryBuster WeaponRestrictions PrimaryOnly Attributes DisableDodge } TFBot { Template T_TFBot_SentryBuster WeaponRestrictions PrimaryOnly Attributes DisableDodge } TFBot { Template T_TFBot_SentryBuster WeaponRestrictions PrimaryOnly Attributes DisableDodge } TFBot { Template T_TFBot_SentryBuster WeaponRestrictions PrimaryOnly Attributes DisableDodge } TFBot { Template T_TFBot_SentryBuster WeaponRestrictions PrimaryOnly Attributes DisableDodge } TFBot { Template T_TFBot_SentryBuster WeaponRestrictions PrimaryOnly Attributes DisableDodge } TFBot { Template T_TFBot_SentryBuster WeaponRestrictions PrimaryOnly Attributes DisableDodge } TFBot { Template T_TFBot_SentryBuster WeaponRestrictions PrimaryOnly Attributes DisableDodge } TFBot { Template T_TFBot_SentryBuster WeaponRestrictions PrimaryOnly Attributes DisableDodge } TFBot { Template T_TFBot_SentryBuster WeaponRestrictions PrimaryOnly Attributes DisableDodge } TFBot { Template T_TFBot_SentryBuster WeaponRestrictions PrimaryOnly Attributes DisableDodge } TFBot { Template T_TFBot_SentryBuster WeaponRestrictions PrimaryOnly Attributes DisableDodge } TFBot { Template T_TFBot_SentryBuster WeaponRestrictions PrimaryOnly Attributes DisableDodge } TFBot { Template T_TFBot_SentryBuster WeaponRestrictions PrimaryOnly Attributes DisableDodge } TFBot { Template T_TFBot_SentryBuster WeaponRestrictions PrimaryOnly Attributes DisableDodge } TFBot { Template T_TFBot_SentryBuster WeaponRestrictions PrimaryOnly Attributes DisableDodge } TFBot { Template T_TFBot_SentryBuster WeaponRestrictions PrimaryOnly Attributes DisableDodge } TFBot { Template T_TFBot_SentryBuster WeaponRestrictions PrimaryOnly Attributes DisableDodge } TFBot { Template T_TFBot_SentryBuster WeaponRestrictions PrimaryOnly Attributes DisableDodge } TFBot { Template T_TFBot_SentryBuster WeaponRestrictions PrimaryOnly Attributes DisableDodge } TFBot { Template T_TFBot_SentryBuster WeaponRestrictions PrimaryOnly Attributes DisableDodge } TFBot { Template T_TFBot_SentryBuster WeaponRestrictions PrimaryOnly Attributes DisableDodge } TFBot { Template T_TFBot_SentryBuster WeaponRestrictions PrimaryOnly Attributes DisableDodge } TFBot { Template T_TFBot_SentryBuster WeaponRestrictions PrimaryOnly Attributes DisableDodge } TFBot { Template T_TFBot_SentryBuster WeaponRestrictions PrimaryOnly Attributes DisableDodge } TFBot { Template T_TFBot_SentryBuster WeaponRestrictions PrimaryOnly Attributes DisableDodge } TFBot { Template T_TFBot_SentryBuster WeaponRestrictions PrimaryOnly Attributes DisableDodge } TFBot { Template T_TFBot_SentryBuster WeaponRestrictions PrimaryOnly Attributes DisableDodge } TFBot { Template T_TFBot_SentryBuster WeaponRestrictions PrimaryOnly Attributes DisableDodge } TFBot { Template T_TFBot_SentryBuster WeaponRestrictions PrimaryOnly Attributes DisableDodge } TFBot { Template T_TFBot_SentryBuster WeaponRestrictions PrimaryOnly Attributes DisableDodge } TFBot { Template T_TFBot_SentryBuster WeaponRestrictions PrimaryOnly Attributes DisableDodge } TFBot { Template T_TFBot_SentryBuster WeaponRestrictions PrimaryOnly Attributes DisableDodge } TFBot { Template T_TFBot_SentryBuster WeaponRestrictions PrimaryOnly Attributes DisableDodge } TFBot { Template T_TFBot_SentryBuster WeaponRestrictions PrimaryOnly Attributes DisableDodge } TFBot { Template T_TFBot_SentryBuster WeaponRestrictions PrimaryOnly Attributes DisableDodge } TFBot { Template T_TFBot_SentryBuster WeaponRestrictions PrimaryOnly Attributes DisableDodge } TFBot { Template T_TFBot_SentryBuster WeaponRestrictions PrimaryOnly Attributes DisableDodge } TFBot { Template T_TFBot_SentryBuster WeaponRestrictions PrimaryOnly Attributes DisableDodge } TFBot { Class Demoman Name "WTF!!!1!!1!!!1!" Skill Expert Health 5000 Item "The Chargin' Targe" Item "The Scotsman's Skullcutter" WeaponRestrictions MeleeOnly ClassIcon sentry_buster Attributes AlwaysFireWeapon Attributes MiniBoss Scale 1.7 Attributes DisableDodge Attributes UseBossHealthBar ItemAttributes { ItemName "TF_WEAPON_GRENADELAUNCHER" "is_passive_weapon" 1 "fire rate bonus" 0.00001 "Reload time decreased" 0.00001 "projectile spread angle penalty" 800.0 "Projectile speed increased" 1.1 "no self blast dmg" 1 "clip size upgrade atomic" 999999999.0 } ItemAttributes { ItemName "The Chargin' Targe" "attack not cancel charge" 1 "charge recharge rate increased" 30000.0 "charge impact damage increased" 25.0 "mult charge turn control" 10.0 } ItemAttributes { ItemName "The Scotsman's Skullcutter" "damage bonus" 10.0 "fire rate bonus" 0.25 "melee range multiplier" 3.0 } CharacterAttributes { "move speed bonus" 2 "damage force reduction" 0.0 "airblast vulnerability multiplier" 0.0 "self dmg push force increased" 0.0 "override footstep sound set" 7 "cannot be backstabbed" 1 "cancel falling damage" 1 "health regen" -125 } } } } //========================== // Wave 1 //========================== Wave { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action trigger } InitWaveOutput { Target gamerules Action RunScriptCode Param "EntFire(`bombpath_choose_right_relay`, `Trigger`) //EntFire(`tf_gamerules`, `SetCustomUpgradesFile`, `scripts/items/mvm_upgrades_kyouki.txt`) local ent = Entities.FindByClassname(null, `tf_objective_resource`) if (ent) { //NetProps.SetPropString(ent, `m_iszMvMPopfileName`, `Kyouki (Expert)`) }" } Checkpoint Yes WaveSpawn { Where spawnbot Name "01" TotalCount 12 MaxActive 6 SpawnCount 2 WaitBetweenSpawns 3 TotalCurrency 100 TFBot { Class Demoman Skill Normal } } WaveSpawn { Where spawnbot Name "01" TotalCount 12 MaxActive 4 SpawnCount 2 WaitBeforeStarting 6 WaitBetweenSpawns 6 TotalCurrency 60 TFBot { Class Scout Skill Hard Attributes AlwaysCrit WeaponRestrictions MeleeOnly ClassIcon scout_bat_nys } } WaveSpawn { Where spawnbot_right Name "01" TotalCount 12 MaxActive 4 SpawnCount 2 WaitBeforeStarting 6 WaitBetweenSpawns 6 TotalCurrency 60 TFBot { Class Scout Skill Hard Attributes AlwaysCrit WeaponRestrictions MeleeOnly ClassIcon scout_bat_nys } } WaveSpawn { Where spawnbot Name "01" TotalCount 12 MaxActive 4 SpawnCount 2 WaitBeforeStarting 6 WaitBetweenSpawns 6 TotalCurrency 60 TFBot { Class Scout Skill Hard Attributes AlwaysCrit WeaponRestrictions MeleeOnly ClassIcon scout_bat_nys } } WaveSpawn { Where spawnbot_right_back Name "02" WaitForAllSpawned "01" TotalCount 12 MaxActive 9 SpawnCount 3 WaitBeforeStarting 7 WaitBetweenSpawns 11 TotalCurrency 250 Squad { TFBot { Template T_TFBot_Giant_Soldier_Crit Health 4000 Skill Normal } TFBot { Template T_TFBot_Scout_Cleaver } TFBot { Template T_TFBot_Scout_Cleaver } } } WaveSpawn { Where spawnbot Name "02" WaitForAllSpawned "01" TotalCount 25 MaxActive 10 SpawnCount 5 WaitBeforeStarting 10 WaitBetweenSpawns 5 TotalCurrency 100 TFBot { Template T_TFBot_Heavyweapons_Shotgun Skill Normal } } WaveSpawn { Where spawnbot_right_back Name "03" WaitForAllSpawned "02" TotalCount 12 MaxActive 9 SpawnCount 3 WaitBeforeStarting 7 WaitBetweenSpawns 8 TotalCurrency 150 Squad { TFBot { Template T_TFBot_Giant_Pyro_Flare_Spammer_FlareGun } TFBot { Template T_TFBot_Medic } TFBot { Template T_TFBot_Medic } } } WaveSpawn { Where spawnbot WaitForAllSpawned "02" TotalCount 16 MaxActive 4 SpawnCount 2 WaitBeforeStarting 20 WaitBetweenSpawns 10 TotalCurrency 25 Support 1 TFBot { Template T_TFBot_ScorchShot ClassIcon pyro_scorch } } WaveSpawn { Where spawnbot WaitForAllSpawned "02" TotalCount 16 MaxActive 4 SpawnCount 2 WaitBeforeStarting 20 WaitBetweenSpawns 10 TotalCurrency 45 Support 1 TFBot { Template T_TFBot_Pyro_DF } } WaveSpawn { Where spawnbot TotalCount 16 MaxActive 2 SpawnCount 1 WaitBeforeStarting 25 WaitBetweenSpawns 18 TotalCurrency 50 Support 1 TFBot { Template T_TFBot_Heavyweapons_SteelFist } } WaveSpawn { Where spawnbot WaitForAllSpawned "01" TotalCount 16 MaxActive 2 SpawnCount 2 WaitBeforeStarting 20 WaitBetweenSpawns 24 TotalCurrency 50 Support 1 TFBot { Template T_TFBot_Pyro_DF } } WaveSpawn { Where spawnbot WaitForAllSpawned "02" TotalCount 16 MaxActive 4 SpawnCount 2 WaitBeforeStarting 20 WaitBetweenSpawns 12 TotalCurrency 50 Support 1 TFBot { Template T_TFBot_Scout_SunStick ClassIcon scout_sunstick_swordstone } } } //========================== // Wave 2 //========================== Wave { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action trigger } InitWaveOutput { Target gamerules Action RunScriptCode Param "EntFire(`bombpath_choose_middle_relay`, `Trigger`) //EntFire(`tf_gamerules`, `SetCustomUpgradesFile`, `scripts/items/mvm_upgrades_kyouki.txt`) local ent = Entities.FindByClassname(null, `tf_objective_resource`) if (ent) { //NetProps.SetPropString(ent, `m_iszMvMPopfileName`, `Kyouki (Expert)`) }" } Checkpoint Yes WaveSpawn { Where spawnbot Name "01" TotalCount 4 MaxActive 3 SpawnCount 1 WaitBetweenSpawns 8 TotalCurrency 50 TFBot { Template T_TFBot_Demoman_LochNLoad } } WaveSpawn { Where spawnbot Name "01" TotalCount 8 MaxActive 6 SpawnCount 2 WaitBetweenSpawns 8 TotalCurrency 50 Squad { TFBot { Template T_TFBot_Soldier_Extended_Concheror } TFBot { Template T_TFBot_Demoman_LochNLoad } } } WaveSpawn { Where spawnbot Name "01" TotalCount 4 MaxActive 3 SpawnCount 1 WaitBetweenSpawns 8 TotalCurrency 50 TFBot { Template T_TFBot_Demoman_LochNLoad } } WaveSpawn { Where spawnbot_right_back Name "01" TotalCount 3 MaxActive 3 SpawnCount 1 WaitBeforeStarting 7 WaitBetweenSpawns 9 TotalCurrency 100 TFBot { Template T_TFBot_Giant_Demoknight_Persian } } WaveSpawn { Where spawnbot Name "02" WaitForAllSpawned "01" TotalCount 24 MaxActive 8 SpawnCount 4 WaitBeforeStarting 8 WaitBetweenSpawns 7 TotalCurrency 50 TFBot { Class Scout Skill Easy } } WaveSpawn { Where spawnbot Name "02" WaitForAllSpawned "01" TotalCount 18 MaxActive 6 SpawnCount 3 WaitBeforeStarting 5 WaitBetweenSpawns 7 TotalCurrency 50 TFBot { Template T_TFBot_Pyro_DF } } WaveSpawn { Where spawnbot Name "02" WaitForAllSpawned "01" TotalCount 16 MaxActive 8 SpawnCount 4 WaitBeforeStarting 11 WaitBetweenSpawns 7 TotalCurrency 50 TFBot { Template T_TFBot_Demoman_Knight Attributes AlwaysCrit } } WaveSpawn { Where spawnbot Name "02" WaitForAllSpawned "01" TotalCount 12 MaxActive 8 SpawnCount 4 WaitBeforeStarting 15 WaitBetweenSpawns 18 TotalCurrency 100 Squad { TFBot { Template T_TFBot_Giant_Soldier_Spammer Health 4000 } TFBot { Template T_TFBot_Medic } TFBot { Template T_TFBot_Medic } TFBot { Template T_TFBot_Medic } } } WaveSpawn { Where spawnbot Name "03" WaitForAllSpawned "02" TotalCount 12 MaxActive 9 SpawnCount 3 WaitBeforeStarting 3 WaitBetweenSpawns 10 TotalCurrency 150 Squad { TFBot { Template T_TFBot_Giant_Demo_BurstFire_IronBomber } TFBot { Template T_TFBot_Medic_Kritzkrieg } TFBot { Template T_TFBot_Medic_Kritzkrieg } } } WaveSpawn { Where spawnbot Name "03" WaitForAllSpawned "02" TotalCount 16 MaxActive 6 SpawnCount 2 WaitBeforeStarting 8 WaitBetweenSpawns 0 TotalCurrency 50 Support 1 RandomChoice { TFBot { Class Heavyweapons Skill Easy } TFBot { Class Heavyweapons Skill Easy } TFBot { Class Heavyweapons Skill Easy } TFBot { Class Heavyweapons Skill Easy } TFBot { Class Heavyweapons Skill Normal MaxVisionRange 1500 } } } WaveSpawn { Where spawnbot Name "03" WaitForAllSpawned "02" TotalCount 30 MaxActive 12 SpawnCount 6 WaitBeforeStarting 11 WaitBetweenSpawns 7 TotalCurrency 50 Support 1 TFBot { Template T_TFBot_Scout_Bonk ClassIcon scout_bonk_nys } } WaveSpawn { Where spawnbot TotalCount 5 MaxActive 5 SpawnCount 1 WaitBeforeStarting 16 WaitBetweenSpawns 21 TotalCurrency 150 TFBot { Template T_TFBot_Giant_Scout_Baseball Attributes AlwaysCrit } } } //========================== // Wave 3 //========================== Wave { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action trigger } InitWaveOutput { Target gamerules Action RunScriptCode Param "EntFire(`bombpath_choose_left_relay`, `Trigger`) if(!(`tankextensions_main` in getroottable())) { IncludeScript(`tankextensions_main`, getroottable()) } if(!(`tankextensions/targetank` in getroottable())) { IncludeScript(`tankextensions/targetank`, getroottable()) } //EntFire(`tf_gamerules`, `SetCustomUpgradesFile`, `scripts/items/mvm_upgrades_kyouki.txt`) local ent = Entities.FindByClassname(null, `tf_objective_resource`) if (ent) { //NetProps.SetPropString(ent, `m_iszMvMPopfileName`, `Kyouki (Expert)`) } ent = null while ((ent = Entities.FindByName(ent, `enginest_passive_04`)) != null) { ent.Kill() }" } Checkpoint Yes WaveSpawn { Where spawnbot Name "01" TotalCount 12 MaxActive 6 SpawnCount 2 WaitBeforeStarting 0 WaitBetweenSpawns 11 TotalCurrency 75 Squad { TFBot { Template T_TFBot_Sniper_Huntsman_Spammer ClassIcon sniper_bow_multi Attributes AlwaysCrit } TFBot { Template T_TFBot_Medic } } } WaveSpawn { Where spawnbot Name "01" TotalCount 24 MaxActive 8 SpawnCount 4 WaitBeforeStarting 1 WaitBetweenSpawns 12 TotalCurrency 50 TFBot { Class Heavyweapons Skill Easy } } WaveSpawn { Where spawnbot Name "01" TotalCount 30 MaxActive 10 SpawnCount 5 WaitBeforeStarting 1 WaitBetweenSpawns 10 TotalCurrency 50 TFBot { Class Demoman Skill Normal } } WaveSpawn { Where spawnbot Name "02_Tank" WaitForAllSpawned "01" TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 10 WaitBetweenSpawns 10 TotalCurrency 200 Support Limited RandomChoice { RandomChoice { Tank { Health 15500 Speed 75 Name "targetank_color" StartingPathTrackNode "boss_path_left_1" OnKilledOutput { Target boss_dead_left_relay Action Trigger } OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } } } WaveSpawn { Where spawnbot Name "02_Scouts" WaitForAllSpawned "01" TotalCount 5 MaxActive 5 SpawnCount 1 WaitBeforeStarting 15 WaitBetweenSpawns 15 TotalCurrency 200 TFBot { Template T_TFBot_Giant_Scout_Bat } } WaveSpawn { Where spawnbot Name "02" WaitForAllSpawned "01" TotalCount 5 MaxActive 5 SpawnCount 1 WaitBeforeStarting 10 WaitBetweenSpawns 14 TotalCurrency 50 TFBot { Template T_TFBot_Soldier_SlowBarrage } } WaveSpawn { Where spawnbot Name "02" WaitForAllSpawned "01" TotalCount 25 MaxActive 10 SpawnCount 5 WaitBeforeStarting 10 WaitBetweenSpawns 10 TotalCurrency 50 TFBot { Class Pyro Skill Easy } } WaveSpawn { Where spawnbot Name "03_a" WaitForAllSpawned "02" TotalCount 2 MaxActive 2 SpawnCount 1 WaitBeforeStarting 5 WaitBetweenSpawns 21 TotalCurrency 50 TFBot { Template T_TFBot_Giant_Heavyweapons_Deflector_HealOnKill_Fix Attributes UseBossHealthBar } } WaveSpawn { Where spawnbot Name "03_b" WaitForAllSpawned "03_a" TotalCount 6 MaxActive 6 SpawnCount 3 WaitBeforeStarting 21 WaitBetweenSpawns 21 TotalCurrency 50 Squad { TFBot { Template T_TFBot_Giant_Heavyweapons_Deflector_HealOnKill_Fix Attributes UseBossHealthBar } TFBot { Template T_TFBot_Medic } TFBot { Template T_TFBot_Medic } } } WaveSpawn { Where spawnbot Name "03" WaitForAllSpawned "02" TotalCount 24 MaxActive 12 SpawnCount 4 WaitBeforeStarting 11 WaitBetweenSpawns 8 TotalCurrency 50 TFBot { Template T_TFBot_Sniper_Huntsman_Bleed } } WaveSpawn { Where spawnbot Name "03" WaitForAllSpawned "02" TotalCount 18 MaxActive 6 SpawnCount 3 WaitBeforeStarting 11 WaitBetweenSpawns 8 TotalCurrency 75 TFBot { Template T_TFBot_Demoman_IronBomber } } WaveSpawn { Name "temp" WaitForAllDead "02_Tank" TotalCount 1 MaxActive 1 SpawnCount 1 Where spawnred TFBot { Class Scout Scale 0.01 Health 1 Name "WHY SO SERIOUS???" ClassIcon tank_targe Attributes IgnoreFlag Attributes AlwaysFireWeapon Attributes MiniBoss WeaponRestrictions MeleeOnly CharacterAttributes { "health regen" -1337 "voice pitch scale" 0 "switch from wep deploy time decreased" 0.0001 "single wep deploy time decreased" 0.0001 "hit self on miss" 1 "melee range multiplier" 0.0001 } } } WaveSpawn { Where spawnbot_topflank TotalCount 4 MaxActive 4 SpawnCount 2 WaitBeforeStarting 25 WaitBetweenSpawns 35 Support 1 Squad { TFBot { Template T_TFBot_Engineer_Sentry_Tele_Battle Tag gentlynudgetop Tag doesnottaketopfalldamage } TFBot { Template T_TFBot_Medic_QuickUber ClassIcon medic_uber_quick Tag gentlynudgetop Tag doesnottaketopfalldamage } } } } //========================== // Wave 4 //========================== Wave { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action trigger } InitWaveOutput { Target gamerules Action RunScriptCode Param "EntFire(`bombpath_choose_splitpaths_left_and_right_relay`, `Trigger`) //EntFire(`tf_gamerules`, `SetCustomUpgradesFile`, `scripts/items/mvm_upgrades_kyouki.txt`) local ent = Entities.FindByClassname(null, `tf_objective_resource`) if (ent) { //NetProps.SetPropString(ent, `m_iszMvMPopfileName`, `Kyouki (Expert)`) }" } Checkpoint Yes WaveSpawn { Where spawnbot Name "01" TotalCount 3 MaxActive 3 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 15 TotalCurrency 150 TFBot { Template T_TFBot_Giant_Soldier_Spammer_Conch Health 4000 Tag nav_prefer_flank_left } } WaveSpawn { Where spawnbot_right Name "01" TotalCount 3 MaxActive 3 SpawnCount 1 WaitBeforeStarting 5 WaitBetweenSpawns 15 TotalCurrency 150 TFBot { Template T_TFBot_Giant_Soldier_Spammer_Conch Health 4000 Tag nav_prefer_flank_right } } WaveSpawn { Where spawnbot Name "02" WaitForAllSpawned "01" TotalCount 6 MaxActive 6 SpawnCount 2 WaitBeforeStarting 8 WaitBetweenSpawns 13 TotalCurrency 150 Squad { TFBot { Template T_TFBot_Giant_Demo_Burst } TFBot { Template T_TFBot_Medic_BigHeal_Armored } } } WaveSpawn { Where spawnbot_right_back Name "02_Scouts" WaitForAllSpawned "01" TotalCount 5 MaxActive 5 SpawnCount 1 WaitBeforeStarting 16 WaitBetweenSpawns 25 TotalCurrency 150 TFBot { Template T_TFBot_Giant_Scout_Fast } } WaveSpawn { Where spawnbot Name "03_a" WaitForAllSpawned "02" TotalCount 2 MaxActive 2 SpawnCount 2 WaitBeforeStarting 20 WaitBetweenSpawns 20 TotalCurrency 150 Squad { TFBot { Template T_TFBot_Giant_Heavyweapons_BrassBeast_Fix Tag nav_prefer_flank_right } TFBot { Template T_TFBot_Medic_Vaccinator_Fire_Armored ClassIcon medic_vacc_trio_armored_lite } } } WaveSpawn { Where spawnbot Name "03_b" WaitForAllSpawned "03_a" TotalCount 2 MaxActive 2 SpawnCount 2 WaitBeforeStarting 20 WaitBetweenSpawns 10 TotalCurrency 150 Squad { TFBot { Template T_TFBot_Giant_Heavyweapons_BrassBeast_Fix Tag nav_prefer_flank_left } TFBot { Template T_TFBot_Medic_Vaccinator_Blast_Armored ClassIcon medic_vacc_trio_armored_lite } } } WaveSpawn { Where spawnbot Name "03_c" WaitForAllSpawned "03_b" TotalCount 2 MaxActive 2 SpawnCount 2 WaitBeforeStarting 20 WaitBetweenSpawns 10 TotalCurrency 150 Squad { TFBot { Template T_TFBot_Giant_Heavyweapons_BrassBeast_Fix Tag nav_prefer_flank_right } TFBot { Template T_TFBot_Medic_Vaccinator_Bullet_Armored ClassIcon medic_vacc_trio_armored_lite } } } WaveSpawn { Where spawnbot Name "04" WaitForAllSpawned "03_c" TotalCount 2 MaxActive 2 SpawnCount 2 WaitBeforeStarting 30 WaitBetweenSpawns 10 TotalCurrency 75 Squad { TFBot { Template T_TFBot_Giant_Soldier_Laser_Wall Tag nav_prefer_flank_left Attributes AlwaysCrit } TFBot { Template T_TFBot_Medic_BigHeal_Popping_Armored } } } WaveSpawn { Where spawnbot Name "04" WaitForAllSpawned "03_c" TotalCount 2 MaxActive 2 SpawnCount 2 WaitBeforeStarting 50 WaitBetweenSpawns 10 TotalCurrency 75 Squad { TFBot { Template T_TFBot_Giant_Soldier_Laser_Wall Tag nav_prefer_flank_right Attributes AlwaysCrit } TFBot { Template T_TFBot_Medic_BigHeal_Popping_Armored } } } WaveSpawn { Where spawnbot_topflank TotalCount 20 MaxActive 5 SpawnCount 5 WaitBeforeStarting 10 WaitBetweenSpawns 15 TotalCurrency 50 Support 1 TFBot { Template T_TFBot_Scout_Bonk ClassIcon scout_bonk_nys Tag gentlynudgetop Tag doesnottaketopfalldamage } } WaveSpawn { Where spawnbot TotalCount 16 MaxActive 4 SpawnCount 2 WaitBeforeStarting 5 WaitBetweenSpawns 10 TotalCurrency 50 Support 1 TFBot { Class Demoman Skill Easy } } WaveSpawn { Where spawnbot_right_back TotalCount 18 MaxActive 2 SpawnCount 2 WaitBeforeStarting 15 WaitBetweenSpawns 15 TotalCurrency 50 Support 1 TFBot { Template T_TFBot_Heavyweapons_Deflector Skill Easy } } WaveSpawn { Where spawnbot_right_back TotalCount 16 MaxActive 2 SpawnCount 1 WaitBeforeStarting 15 WaitBetweenSpawns 6 TotalCurrency 50 Support 1 TFBot { Class Pyro Skill Hard Attributes AlwaysFireWeapon } } } //========================== // Wave 5 //========================== Wave { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target gamerules Action RunScriptCode Param "EntFire(`wave_finished_relay`, `Trigger`) for (local i = 1, player; i <= MaxClients().tointeger(); i++) { if ((player = PlayerInstanceFromIndex(i)) != null && !IsPlayerABot(player)) { EmitSoundEx({ sound_name = `#mentrillum/mvm/music/creo_crazy.mp3` entity = player filter_type = 4 flags = 4 }) } }" } InitWaveOutput { Target gamerules Action RunScriptCode Param "EntFire(`bombpath_choose_splitpaths_all_relay`, `Trigger`) if(!(`tankextensions_main` in getroottable())) { IncludeScript(`tankextensions_main`, getroottable()) } if(!(`tankextensions/targetank` in getroottable())) { IncludeScript(`tankextensions/targetank`, getroottable()) } if(!(`tankextensions/ubertank` in getroottable())) { IncludeScript(`tankextensions/ubertank`, getroottable()) } //EntFire(`tf_gamerules`, `SetCustomUpgradesFile`, `scripts/items/mvm_upgrades_kyouki.txt`) local ent = Entities.FindByClassname(null, `tf_objective_resource`) if (ent) { //NetProps.SetPropString(ent, `m_iszMvMPopfileName`, `Kyouki (Expert)`) } PrecacheSound(`#mentrillum/mvm/music/creo_crazy.mp3`) for (local i = 1, player; i <= MaxClients().tointeger(); i++) { if ((player = PlayerInstanceFromIndex(i)) != null && !IsPlayerABot(player)) { EmitSoundEx({ sound_name = `#mentrillum/mvm/music/creo_crazy.mp3` entity = player filter_type = 4 flags = 4 }) } }" } Checkpoint Yes WaveSpawn { Where spawnbot Name "01" TotalCount 3 MaxActive 3 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 20 TotalCurrency 25 TFBot { Template T_TFBot_Giant_Soldier_Volley Attributes AlwaysCrit Tag nav_prefer_flank_middle } } WaveSpawn { Where spawnbot_topflank Name "01" TotalCount 3 MaxActive 3 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 20 TotalCurrency 25 TFBot { Template T_TFBot_Giant_Soldier_Volley Attributes AlwaysCrit Tag nav_prefer_flank_left Tag gentlynudgetop Tag doesnottaketopfalldamage } } WaveSpawn { Where spawnbot_right_back Name "01" TotalCount 3 MaxActive 3 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 20 TotalCurrency 25 TFBot { Template T_TFBot_Giant_Soldier_Volley Attributes AlwaysCrit Tag nav_prefer_flank_right } } WaveSpawn { Where spawnbot Name "01" TotalCount 18 MaxActive 6 SpawnCount 3 WaitBeforeStarting 5 WaitBetweenSpawns 8 TotalCurrency 25 TFBot { Template T_TFBot_Heavyweapons_Fist Attributes AlwaysCrit ClassIcon heavy_steelfist_nys } } WaveSpawn { Where spawnbot Name "01" TotalCount 30 MaxActive 15 SpawnCount 5 WaitBeforeStarting 7 WaitBetweenSpawns 9 TotalCurrency 25 TFBot { Template T_TFBot_Soldier_DirectHit } } WaveSpawn { Where spawnbot Name "01_Tank_a" TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 10 TotalCurrency 50 Support Limited RandomChoice { RandomChoice { Tank { Health 6000 Speed 75 Name "ubertank|0|60" StartingPathTrackNode "boss_path_left_1" OnKilledOutput { Target boss_dead_left_relay Action Trigger } OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } } } WaveSpawn { Where spawnbot Name "01_Tank_b" TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 10 WaitBetweenSpawns 10 TotalCurrency 50 Support Limited RandomChoice { RandomChoice { Tank { Health 6000 Speed 75 Name "ubertank|0|75" StartingPathTrackNode "boss_path_right_1" OnKilledOutput { Target boss_dead_right_relay Action Trigger } OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } } } WaveSpawn { Where spawnbot Name "01_Tank_c" TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 20 WaitBetweenSpawns 10 TotalCurrency 50 Support Limited RandomChoice { RandomChoice { Tank { Health 6000 Speed 75 Name "ubertank|0|55" StartingPathTrackNode "boss_path_middle_1" OnKilledOutput { Target boss_dead_middle_relay Action Trigger } OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } } } WaveSpawn { Where spawnbot Name "02" WaitForAllSpawned "01" TotalCount 10 MaxActive 10 SpawnCount 2 WaitBeforeStarting 9 WaitBetweenSpawns 9 TotalCurrency 75 FirstSpawnOutput { Target gamerules Action RunScriptCode Param " for (local i = 1, player; i <= MaxClients().tointeger(); i++) { if ((player = PlayerInstanceFromIndex(i)) != null && !IsPlayerABot(player)) { EmitSoundEx({sound_name = `#mentrillum/mvm/music/creo_crazy.mp3` entity = player filter_type = 4}) // Yes, based on the actual Geometry Dash level Kyouki } } ClientPrint(null, 3, `\x0799CCFF[MvM] \x01Now Playing: \x070080FFCreo - Crazy`)" } Squad { TFBot { Template T_TFBot_Demoman_GigaRapidFire Tag nav_prefer_flank_left } TFBot { Template T_TFBot_Medic_Kritzkrieg_Armored } } } WaveSpawn { Where spawnbot Name "02_Pyros" WaitForAllSpawned "01" TotalCount 18 MaxActive 8 SpawnCount 4 WaitBeforeStarting 16 WaitBetweenSpawns 16 TotalCurrency 25 Squad { TFBot { Template T_TFBot_Pyro_DF Tag nav_prefer_flank_middle } TFBot { Template T_TFBot_Medic_QuickFix } } } WaveSpawn { Where spawnbot_right_back Name "02_Pyros" WaitForAllSpawned "01" TotalCount 18 MaxActive 8 SpawnCount 4 WaitBeforeStarting 32 WaitBetweenSpawns 16 TotalCurrency 25 Squad { TFBot { Template T_TFBot_Pyro_DF Tag nav_prefer_flank_middle } TFBot { Template T_TFBot_Medic_QuickFix } } } WaveSpawn { Where spawnbot_right_back Name "02" WaitForAllSpawned "01" TotalCount 5 MaxActive 5 SpawnCount 1 WaitBeforeStarting 11 WaitBetweenSpawns 9 TotalCurrency 50 TFBot { Template T_TFBot_Giant_Soldier_RapidShotgun Tag nav_prefer_flank_right } } //WaveSpawn //{ // Where spawnbot //Name "03_Tank_b" //WaitForAllSpawned "02" //TotalCount 1 //MaxActive 1 //SpawnCount 1 //WaitBeforeStarting 0 //WaitBetweenSpawns 10 //TotalCurrency 0 //Support Limited //RandomChoice //{ //RandomChoice //{ //Tank //{ //Health 15000 //Speed 75 //StartingPathTrackNode "boss_path_middle_1" //OnKilledOutput //{ //Target boss_dead_middle_relay //Action Trigger //} //OnBombDroppedOutput //{ //Target boss_deploy_relay //Action Trigger //} //} //} //} //} WaveSpawn { Where spawnbot Name "03" WaitForAllSpawned "02" TotalCount 4 MaxActive 4 SpawnCount 2 WaitBeforeStarting 10 WaitBetweenSpawns 85 TotalCurrency 50 Squad { TFBot { Template T_TFBot_Giant_Soldier_Spammer Attributes AlwaysCrit Tag nav_prefer_flank_middle } TFBot { Template T_TFBot_Giant_Heavy_Conch Tag nav_prefer_flank_middle } } } WaveSpawn { Where spawnbot_topflank Name "03" WaitForAllSpawned "02" TotalCount 2 MaxActive 2 SpawnCount 2 WaitBeforeStarting 25 WaitBetweenSpawns 25 TotalCurrency 50 Squad { TFBot { Template T_TFBot_Giant_Soldier_Spammer Attributes AlwaysCrit Tag nav_prefer_flank_left Tag gentlynudgetop Tag doesnottaketopfalldamage } TFBot { Template T_TFBot_Giant_Heavy_Conch Tag nav_prefer_flank_left Tag gentlynudgetop Tag doesnottaketopfalldamage } } } WaveSpawn { Where spawnbot_right Name "03" WaitForAllSpawned "02" TotalCount 2 MaxActive 2 SpawnCount 2 WaitBeforeStarting 50 WaitBetweenSpawns 35 TotalCurrency 50 Squad { TFBot { Template T_TFBot_Giant_Soldier_Spammer Attributes AlwaysCrit Tag nav_prefer_flank_right } TFBot { Template T_TFBot_Giant_Heavy_Conch Tag nav_prefer_flank_right } } } WaveSpawn { Where spawnbot TotalCount 3 MaxActive 3 SpawnCount 1 WaitBeforeStarting 45 WaitBetweenSpawns 8 TotalCurrency 0 Support 1 TFBot { Template T_TFBot_Airblast_Pyro } } WaveSpawn { Where spawnbot TotalCount 2 MaxActive 2 SpawnCount 1 WaitBeforeStarting 45 WaitBetweenSpawns 8 TotalCurrency 0 Support 1 TFBot { Template T_TFBot_Soldier_Extended_Buff_Banner } } WaveSpawn { Where spawnbot TotalCount 10 MaxActive 1 SpawnCount 1 WaitBeforeStarting 35 WaitBetweenSpawns 35 TotalCurrency 0 Support Limited TFBot { Template T_TFBot_Giant_Scout_Fast } } WaveSpawn { Name "temp" WaitForAllDead "01_Tank_a" TotalCount 1 MaxActive 1 SpawnCount 1 Where spawnred TFBot { Class Scout Scale 0.01 Health 1 Name "This Is Crazy." ClassIcon tank_uber_lite Attributes IgnoreFlag Attributes AlwaysFireWeapon Attributes MiniBoss WeaponRestrictions MeleeOnly CharacterAttributes { "health regen" -1337 "voice pitch scale" 0 "switch from wep deploy time decreased" 0.0001 "single wep deploy time decreased" 0.0001 "hit self on miss" 1 "melee range multiplier" 0.0001 } } } WaveSpawn { Name "temp2" WaitForAllDead "01_Tank_b" TotalCount 1 MaxActive 1 SpawnCount 1 Where spawnred TFBot { Class Scout Scale 0.01 Health 1 Name "This Is Crazy." ClassIcon tank_uber_lite Attributes IgnoreFlag Attributes AlwaysFireWeapon Attributes MiniBoss WeaponRestrictions MeleeOnly CharacterAttributes { "health regen" -1337 "voice pitch scale" 0 "switch from wep deploy time decreased" 0.0001 "single wep deploy time decreased" 0.0001 "hit self on miss" 1 "melee range multiplier" 0.0001 } } } WaveSpawn { Name "temp3" WaitForAllDead "01_Tank_c" TotalCount 1 MaxActive 1 SpawnCount 1 Where spawnred TFBot { Class Scout Scale 0.01 Health 1 Name "This Is Crazy." ClassIcon tank_uber_lite Attributes IgnoreFlag Attributes AlwaysFireWeapon Attributes MiniBoss WeaponRestrictions MeleeOnly CharacterAttributes { "health regen" -1337 "voice pitch scale" 0 "switch from wep deploy time decreased" 0.0001 "single wep deploy time decreased" 0.0001 "hit self on miss" 1 "melee range multiplier" 0.0001 } } } //WaveSpawn //{ //Name "temp5" //WaitForAllDead "03_Tank_b" //TotalCount 1 //MaxActive 1 //SpawnCount 1 //Where spawnred //TFBot //{ //Class Scout //Scale 0.01 //Health 1 //Name "This Is Crazy." //ClassIcon tank //Attributes IgnoreFlag //Attributes AlwaysFireWeapon //Attributes MiniBoss //WeaponRestrictions MeleeOnly //CharacterAttributes //{ //"health regen" -1337 //"voice pitch scale" 0 //"switch from wep deploy time decreased" 0.0001 //"single wep deploy time decreased" 0.0001 //"hit self on miss" 1 //"melee range multiplier" 0.0001 //} //} //} } }