#base robot_standard.pop #base robot_giant.pop // Spoken in Mijn Muren (roughly translates to Ghosts in My Walls) - Boogge Advanced // Made by PDA Expert WaveSchedule { StartingCurrency 2000 CanBotsAttackWhileInSpawnRoom no RespawnWaveTime 2 FixedRespawnWaveTime 2 Templates { T_WaveSpawn_Void_Open_Notice // creates the void annotations { FirstSpawnOutput { Target wave_start_relay Action RunScriptCode Param " SendGlobalGameEvent(`show_annotation`, { text = `The underworld is open!` lifetime = 6 id = 1 worldPosX = 807 worldPosY = 369 worldPosZ = -128 show_distance = true show_effect = true play_sound = `misc/halloween/strongman_bell_01.wav` }) SendGlobalGameEvent(`show_annotation`, { text = `The underworld is open!` lifetime = 6 id = 2 worldPosX = 1557 worldPosY = 553 worldPosZ = 128 show_distance = true show_effect = true play_sound = `common/null.wav` }) SendGlobalGameEvent(`show_annotation`, { text = `The underworld is open!` lifetime = 6 id = 3 worldPosX = 3048 worldPosY = -1024 worldPosZ = 96 show_distance = true show_effect = true play_sound = `common/null.wav` }) " } } T_TFBot_Pyro_Fury // Dragon's fury pyro { Class Pyro Name "Dragon's Fury Pyro" ClassIcon pyro_dragon_fury_swordstone Skill Normal MaxVisionRange 600 Item "The Dragon's Fury" Item "Brim of Fire" } T_TFBot_Heavy_Lightweight_Champ // better version of the gru champs made by valve, fancying a proper name and a proper cosmetic { Class Heavyweapons Name "Lightweight Champ" ClassIcon heavy_gru Skill Hard WeaponRestrictions MeleeOnly Item "Gloves of Running Urgently MvM" Item "Pugilist's Protector" ItemAttributes { ItemName "Pugilist's Protector" "set item tint RGB" 15185211 } } T_TFBot_Heavy_Deflector { Class Heavyweapons ClassIcon heavy_deflector Skill Normal Name "Deflector Heavy" Item "Deflector" Item "The U-clank-a" ItemAttributes { ItemName "Deflector" "attack projectiles" 1 } } T_TFBot_Giant_Pyro_Railgun // Inspired by the hell-met ones, but not stupidly insta-killing everyone. { Class Pyro Name "Giant Railgun Pyro" ClassIcon shotgun_plasma Skill Normal Health 3000 MaxVisionRange 1000 WeaponRestrictions SecondaryOnly Attributes MiniBoss Item "Delldozer" Item "Starduster" Item "Corona Australis" Item "The Scorch Shot" ItemAttributes { ItemName "The Scorch Shot" "paintkit_proto_def_index" 3.16693e-43n // Hazard Warning "set_item_texture_wear" 0 "ragdolls become ash" 1 "override projectile type" 1 "damage bonus" 1.5 "hand scale" 2.25 "gesture speed increase" 0.5 "fire rate penalty" 1.75 "sniper fires tracer" 1 "minicrit vs burning player" 0 "damage penalty" 1 "bullets per shot bonus" 3 "dmg bonus vs buildings" 3.55 "dmg pierces resists absorbs" 1 } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.6 "airblast vulnerability multiplier" 0.6 "override footstep sound set" 6 } } } Mission { Objective DestroySentries Where spawnbot BeginAtWave 1 RunForThisManyWaves 4 CooldownTime 35 DesiredCount 1 TFBot { Template T_TFBot_SentryBuster Name "Gut Buster" Item "Bread Heads" Item "Loaf Loafers" Tag giant CharacterAttributes { "head scale" 3 "torso scale" 0.25 } } } Mission { Objective Sniper Where spawnbot_void1 Where spawnbot_void2 Where spawnbot_void3 BeginAtWave 1 RunForThisManyWaves 1 InitialCooldown 143 CooldownTime 25 DesiredCount 5 TFBot { Class Scout ClassIcon scout_d Skill Normal Health 300 Scale 1.25 Name "Mad Batter" Maxvisionrange 1000 Tag popext_usehumanmodel Attributes HoldFireUntilFullReload Attributes DisableDodge Item "Upgradeable TF_WEAPON_BAT" Item "Zombie Scout" Item "Jungle Jersey" Item "Batter's Helmet" Item "Upgradeable TF_WEAPON_SCATTERGUN" ItemAttributes { ItemName "Upgradeable TF_WEAPON_SCATTERGUN" "damage penalty" 0.5 "fire rate bonus" 0.8 "faster reload rate" 0.75 "weapon spread bonus" 0.25 "mark for death" 1 } ItemAttributes { ItemName "Upgradeable TF_WEAPON_BAT" "damage bonus" 2 "fire rate penalty" 1.33 } CharacterAttributes { "hand scale" 1.25 "voice pitch scale" 0.5 } } } Mission { Objective Sniper Where spawnbot_void1 Where spawnbot_void2 Where spawnbot_void3 BeginAtWave 2 RunForThisManyWaves 1 InitialCooldown 120 CooldownTime 40 DesiredCount 3 TFBot { Class Medic ClassIcon sniper_bow_uw Skill Expert Health 4500 Name "Faithless" Tag popext_usehumanmodel Attributes DisableDodge Attributes MiniBoss Item "Zombie Medic" Item "Vampiric Vesture" Item "Badlands Bandido" Item "The Ubersaw" Item "The Crusader's Crossbow" ItemAttributes { ItemName "The Crusader's Crossbow" "damage bonus" 1.5 "fire rate bonus" 0.2 "faster reload rate" 0.13 "clip size bonus" 9 "projectile penetration" 1 "paintkit_proto_def_index" 6.03959638e-43n // Blackout/Team Blackout "set_item_texture_wear" 0 "auto fires full clip" 1 "auto fires when full" 1 } ItemAttributes { ItemName "The Ubersaw" "provide on active" 1 "damage bonus" 3 "heal on hit for slowfire" 1000 "add uber charge on hit" 0 "kill forces attacker to laugh" 1 "paintkit_proto_def_index" 6.03959638e-43n // Blackout/Team Blackout "gesture speed increase" 1.5 "move speed bonus" 1.3 } CharacterAttributes { "voice pitch scale" 0.5 "move speed bonus" 0.65 "damage force reduction" 0.1 "airblast vulnerability multiplier" 0.1 "override footstep sound set" 4 } } } Mission { Objective Sniper Where spawnbot_void1 Where spawnbot_void2 BeginAtWave 3 RunForThisManyWaves 1 InitialCooldown 80 CooldownTime 40 DesiredCount 3 TFBot { Template T_TFBot_Giant_Heavyweapons_Deflector ClassIcon heavy_d Name "Void Bastion" Item "Zombie Heavy" Item "The Dark Helm" Item "Bone-Cut Belt" Item "Hog Heels" Tag popext_usehumanmodel Attributes DisableDodge ItemAttributes { ItemName "Deflector" "damage bonus" 1.75 "fire rate bonus" 0.9 } CharacterAttributes { "move speed bonus" 0.65 } } } // Wave 1/3 ($1500) // 3 Giant Charged Soldiers (each come from the 3 different spawns at once) // 4 Giant Pyros & 2 Flare Pyros each // 34 Pyros, Flare Pyros and Detonator Pyros (Randomchoiced) // 16 Bonk Scouts // 2 Giant Burst Fire Soldiers // 3 Giant Pyros // 28 Heavies (Easy AI) // 32 Burst Fire Demomen & Burst Fire Soldiers // 1 Tank (25k HP, goes through underworld) // 4 Giant Rapid Fire Demomen // 1 Giant Heavy & 5 Soldiers // Support : Lightweight Champs (Ramps up near the end.) Wave { StartWaveOutput { Target wave_start_relay Action RunScriptCode Param " EntFire(`bombpath_arrows_clear_relay`, `Trigger`) EntFire(`ironman_mode_intel`, `enable`) " } InitWaveOutput { Target wave_start_relay Action RunScriptCode Param " EntFire(`bombpath_clearall_relay`, `Trigger`, ``, 0) EntFire(`bombpath_choose_relay`, `Disable`, ``, 0) EntFire(`bombpath_arrows_clear_relay`, `Trigger`, ``, 0) EntFire(`bombpath_clearall_relay`, `Trigger`, ``, 1) EntFire(`bombpath_arrows_clear_relay`, `Trigger`, ``, 1) EntFire(`bombpath_clearall_relay`, `Trigger`, ``, 2) EntFire(`bombpath_arrows_clear_relay`, `Trigger`, ``, 2) EntFire(`bombpath_right`, `Trigger`, ``, 2.1) IncludeScript(`popextensions_main`, getroottable()) " } DoneOutput { Target wave_finished_relay Action Trigger } WaveSpawn { TotalCount 30 MaxActive 3 SpawnCount 1 Support 1 Where spawnbot WaitForallDead "wave01" WaitBetweenSpawns 15 TotalCurrency 100 TFBot { Template T_TFBot_Heavy_Lightweight_Champ } } WaveSpawn { TotalCount 50 MaxActive 10 SpawnCount 1 Support 1 Where spawnbot_side Where spawnbot_flank WaitForallDead "wave04" WaitBeforeStarting 10 WaitBetweenSpawns 1.5 TotalCurrency 200 TFBot { Template T_TFBot_Heavy_Lightweight_Champ } } WaveSpawn { Name "wave01" TotalCount 1 MaxActive 1 SpawnCount 1 Where spawnbot TotalCurrency 25 TFBot { Template T_TFBot_Giant_Soldier_Crit } } WaveSpawn { Name "wave01" TotalCount 1 MaxActive 1 SpawnCount 1 Where spawnbot_side TotalCurrency 25 WaitBeforeStarting 0.1 TFBot { Template T_TFBot_Giant_Soldier_Crit } } WaveSpawn { Name "wave01" TotalCount 1 MaxActive 1 SpawnCount 1 Where spawnbot_flank TotalCurrency 25 WaitBeforeStarting 0.1 TFBot { Template T_TFBot_Giant_Soldier_Crit } } WaveSpawn { Name "wave02" TotalCount 12 MaxActive 9 SpawnCount 3 Where spawnbot WaitForallSpawned "wave01" WaitBeforeStarting 15 WaitBetweenSpawns 11 TotalCurrency 125 Squad { TFBot { Template T_TFBot_Giant_Pyro Item "The Nostromo Napalmer" ItemAttributes { ItemName "The Nostromo Napalmer" "airblast disabled" 1 } } TFBot { Template T_TFBot_Pyro_Flaregun } TFBot { Template T_TFBot_Pyro_Flaregun } } } WaveSpawn { Name "wave02" TotalCount 34 MaxActive 9 SpawnCount 2 Where spawnbot WaitForallSpawned "wave01" WaitBeforeStarting 20 WaitBetweenSpawns 3 TotalCurrency 75 RandomChoice { TFBot { Class Pyro Skill Easy Item "The Nostromo Napalmer" ItemAttributes { ItemName "The Nostromo Napalmer" "airblast disabled" 1 } } TFBot { Template T_TFBot_Pyro_Flaregun } TFBot { Template T_TFBot_Pyro_Flaregun Name "Detonator Pyro" Item "The Detonator" Item "Old Guadalajara" } } } WaveSpawn { Name "wave02" TotalCount 16 MaxActive 8 SpawnCount 2 Where spawnbot_side WaitForallSpawned "wave01" WaitBeforeStarting 15 WaitBetweenSpawns 7 TotalCurrency 50 TFBot { Template T_TFBot_Scout_Bonk Name "Bonk Scout" Attributes DisableDodge } } WaveSpawn { Name "wave03" TotalCount 3 MaxActive 2 SpawnCount 1 Where spawnbot WaitForallSpawned "wave02" WaitBeforeStarting 12 WaitBetweenSpawns 9.75 TotalCurrency 150 TFBot { Template T_TFBot_Giant_Pyro Item "The Nostromo Napalmer" ItemAttributes { ItemName "The Nostromo Napalmer" "airblast disabled" 1 } } } WaveSpawn { Name "wave03" TotalCount 28 MaxActive 10 SpawnCount 2 Where spawnbot Where spawnbot_side WaitForallSpawned "wave02" WaitBeforeStarting 10 WaitBetweenSpawns 3 TotalCurrency 75 TFBot { Class Heavyweapons Skill Easy } } WaveSpawn { Name "wave03" TotalCount 2 MaxActive 2 SpawnCount 1 Where spawnbot WaitForallSpawned "wave02" WaitBeforeStarting 33 WaitBetweenSpawns 8 TotalCurrency 75 TFBot { Template T_TFBot_Giant_Soldier_Spammer_Reload ClassIcon soldier_burstfire_giant } } WaveSpawn { Name "wave04" TotalCount 32 MaxActive 32 SpawnCount 4 Where spawnbot RandomSpawn 1 WaitForallSpawned "wave03" WaitBeforeStarting 15 WaitBetweenSpawns 6 TotalCurrency 100 Squad { TFBot { Class Soldier Name "Burst Fire Soldier" ClassIcon soldier_Burstfire Skill Normal Attributes DisableDodge Attributes HoldFireUntilFullReload MaxVisionRange 900 // so he isn't sniping from across the map ItemAttributes { ItemName "TF_WEAPON_ROCKETLAUNCHER" "faster reload rate" 1.55 "projectile speed decreased" 0.65 "fire rate bonus" 0.05 } } TFBot { Template T_TFBot_Demo_Burst Skill Normal Attributes DisableDodge ItemAttributes { ItemName "TF_WEAPON_GRENADELAUNCHER" "clip size penalty" 1 "faster reload rate" 1.4 } } } } WaveSpawn { Name "wave04_tank" TotalCount 1 MaxActive 1 SpawnCount 1 WaitForallSpawned "wave03" WaitBeforeStarting 5 TotalCurrency 200 Tank { Name "tankboss_underworld" Health 25000 Speed 75 StartingPathTrackNode "tank_path_bridge1" OnKilledOutput { Target boss_dead_relay_underworld Action Trigger } OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn { FirstSpawnWarningSound "#music/hl1_song5.mp3" WaitBeforeStarting 62.5 WaitForallSpawned "wave03" } WaveSpawn { WaitBeforeStarting 65 WaitForallSpawned "wave03" FirstSpawnOutPut { Target wave_start_relay_ironman Action Trigger } } WaveSpawn { Template T_WaveSpawn_Void_Open_Notice WaitBeforeStarting 65 WaitForallSpawned "wave03" } WaveSpawn { Name "wave05" TotalCount 6 MaxActive 6 SpawnCount 6 Where spawnbot WaitForallSpawned "wave04" TotalCurrency 275 Squad { TFBot { Template T_TFBot_Giant_Heavyweapons } TFBot { Class Soldier Skill Hard } TFBot { Class Soldier Skill Hard Attributes HoldFireUntilFullReload } TFBot { Class Soldier Skill Hard Attributes HoldFireUntilFullReload } TFBot { Class Soldier Skill Hard Attributes HoldFireUntilFullReload } TFBot { Class Soldier Skill Hard } } } } // Wave 2/3 ($1700) // 4 Giant Concheror Soldiers // 20 Landlords // // // // Wave { StartWaveOutput { Target wave_start_relay Action RunScriptCode Param " EntFire(`bombpath_arrows_clear_relay`, `Trigger`) EntFire(`ironman_mode_intel`, `enable`) " } InitWaveOutput { Target wave_start_relay Action RunScriptCode Param " ClientPrint(null,3,`\x08BC19BCFFWhen the bell tolls, the underworld will open! You may attempt to enter it, but be aware of what lays inside; you don't want to let your team down...`) EntFire(`bombpath_clearall_relay`, `Trigger`, ``, 0) EntFire(`bombpath_choose_relay`, `Disable`, ``, 0) EntFire(`bombpath_arrows_clear_relay`, `Trigger`, ``, 0) EntFire(`bombpath_clearall_relay`, `Trigger`, ``, 1) EntFire(`bombpath_arrows_clear_relay`, `Trigger`, ``, 1) EntFire(`bombpath_clearall_relay`, `Trigger`, ``, 2) EntFire(`bombpath_arrows_clear_relay`, `Trigger`, ``, 2) EntFire(`bombpath_left`, `Trigger`, ``, 2.1) " } DoneOutput { Target wave_finished_relay Action Trigger } WaveSpawn { Name "wave01" TotalCount 3 MaxActive 3 SpawnCount 1 Where spawnbot WaitBetweenSpawns 13 TotalCurrency 150 TFBot { Template T_TFBot_Giant_Soldier_Extended_Concheror Name "Giant Rapid Conch Soldier" ClassIcon soldier_conch_spammer ItemAttributes { ItemName "TF_WEAPON_ROCKETLAUNCHER" "faster reload rate" -0.8 "fire rate bonus" 0.5 "Projectile speed increased" 0.65 } } } WaveSpawn { Name "wave01" TotalCount 20 MaxActive 12 SpawnCount 2 Where spawnbot WaitBeforeStarting 5 WaitBetweenSpawns 3 TotalCurrency 150 RandomChoice { TFBot { Class Heavyweapons ClassIcon heavy_eviction_nys Health 900 Scale 1.5 Name "Landlord" Skill Hard WeaponRestrictions MeleeOnly Attributes AlwaysCrit Item "The Eviction Notice" Item "Capone's Capper" ItemAttributes { ItemName "The Eviction Notice" "mod_maxhealth_drain_rate" 0 } } TFBot { Class Heavyweapons ClassIcon heavy_eviction_nys Health 900 Scale 1.5 Name "Landlord" Skill Hard WeaponRestrictions MeleeOnly Attributes AlwaysCrit BehaviorModifiers Push Item "The Eviction Notice" Item "Capone's Capper" ItemAttributes { ItemName "The Eviction Notice" "mod_maxhealth_drain_rate" 0 } } } } } // Wave 3/3 // 1 Giant Heavy & 1 Giant Regen Medic // 2 Tanks (22k HP) // // // // Wave { StartWaveOutput { Target wave_start_relay Action RunScriptCode Param " EntFire(`bombpath_arrows_clear_relay`, `Trigger`) EntFire(`ironman_mode_intel`, `enable`) " } InitWaveOutput { Target wave_start_relay Action RunScriptCode Param " EntFire(`bombpath_clearall_relay`, `Trigger`, ``, 0) EntFire(`bombpath_choose_relay`, `Disable`, ``, 0) EntFire(`bombpath_arrows_clear_relay`, `Trigger`, ``, 0) EntFire(`bombpath_clearall_relay`, `Trigger`, ``, 1) EntFire(`bombpath_arrows_clear_relay`, `Trigger`, ``, 1) EntFire(`bombpath_clearall_relay`, `Trigger`, ``, 2) EntFire(`bombpath_arrows_clear_relay`, `Trigger`, ``, 2) EntFire(`bombpath_right`, `Trigger`, ``, 2.1) IncludeScript(`popextensions_main`, getroottable()) " } DoneOutput { Target wave_finished_relay Action Trigger } } }