#base robot_standard.pop #base robot_giant.pop // Ruin Redemption - Yucatan Intermediate // Made by PDA Expert for Potato.tf at the pleading of randomguy // THIS IS A BARREN WASTELAND. // YOU CAN STILL CHANGE THE FUTURE. // BE SWIFT, FOR IT DOESN'T WAIT PAITENTLY. nothingleft { StartingCurrency 900 CanBotsAttackWhileInSpawnRoom no RespawnWaveTime 4 Templates { 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_Pyro_LongRange { Class Pyro ClassIcon pyro_ranged Name "Extended Exhaust Pyro" Skill Normal Attributes AlwaysFireWeapon Item "powerhouse_flamethrower_turbinetorcher" Item "The Gas Guzzler" Item "The Smoking Skid Lid" ItemAttributes { ItemName "powerhouse_flamethrower_turbinetorcher" "lunchbox adds minicrits" 2 "flame_drag" 4.5 "flame_speed" 2800 } } T_TFBot_Pyro_RapidFlare_Minigiant { Class Pyro ClassIcon pyro_flare Name "El Diego" Skill Hard Health 650 Scale 1.3 WeaponRestrictions SecondaryOnly Item "The Flare Gun" Item "Old Guadalajara" ItemAttributes { ItemName "The Flare Gun" "fire rate bonus" 0.5 } CharacterAttributes { "head scale" 1.2 "voice pitch scale" 0.75 } } T_TFBot_Medic_QuickerUber { Class Medic Name "Quicker Uber Medic" ClassIcon medic_uber Skill Normal Attributes SpawnWithFullCharge Item "Flatliner" Item "Wavefinder" ItemAttributes { ItemName "TF_WEAPON_MEDIGUN" "ubercharge rate bonus" 8 "uber duration bonus" -6 } ItemAttributes { ItemName "TF_WEAPON_SYRINGEGUN_MEDIC" "damage penalty" 0.1 } CharacterAttributes { "heal rate bonus" 0.1 } } T_TFBot_Medic_Kritzkrieg // Simple kritzkreig medic. { Class Medic Name "Kritz Medic" ClassIcon medic_kritz Skill Normal Attributes SpawnWithFullCharge Item "The Kritzkrieg" Item "Lo-Fi Longwave" ItemAttributes { ItemName "The Kritzkrieg" "uber duration bonus" 600 "bot medic uber health threshold" 600 } ItemAttributes { ItemName "TF_WEAPON_SYRINGEGUN_MEDIC" "damage penalty" 0.1 } } T_TFBot_Demo_GravityPull { Class Demoman Name "Gravitational Pull" ClassIcon demo_explode Skill Expert Health 300 Scale 1.15 Item "The Iron Bomber" Item "Wavefinder" Item "Big Steel Jaw of Summer Fun" ItemAttributes { ItemName "The Iron Bomber" "damage penalty" 0.001 "fire rate penalty" 2.77 "faster reload rate" -2 "apply z velocity on damage" 200 "apply look velocity on damage" -800 "fuse bonus" 1.25 "projectile speed decreased" 0.1 "no self blast dmg" 2 "blast radius increased" 3.0 "blast dmg to self increased" 0 } CharacterAttributes { "move speed penalty" 0.75 "voice pitch scale" 0.55 "hand scale" 0 } } T_TFBot_Heavy_Precision // Common variant of the giant with a similar name { Class Heavyweapons Name "Precision Minigunner" ClassIcon heavy_accurate_lite Skill Hard Item "Tomislav" Item "Polar Bear" ItemAttributes { ItemName "Tomislav" "fire rate penalty" 1.55 "weapon spread bonus" 0.25 "bullets per shot bonus" 0.5 "paintkit_proto_def_index" 411 "set_item_texture_wear" 0 "hand scale" 1.35 } } T_TFBot_Heavy_Bread { Class Heavyweapons Name "Rotten Breakfast" ClassIcon heavy_Breadbite_nys Skill Hard WeaponRestrictions MeleeOnly Item "The Bread Bite" Item "Bread Heads" ItemAttributes { ItemName "The Bread Bite" "mult_player_movespeed_active" "1.15" "mod_maxhealth_drain_rate" "0" "fire rate bonus" 0.8 "critboost on kill" 2 } CharacterAttributes { "voice pitch scale" 0.4 "gesture speed increase" 0.5 } } T_TFBot_Heavy_Bread_Jumper { Class Heavyweapons Name "Beyond Rotten Breakfast" ClassIcon heavy_Breadbite_nys Health 450 Skill Normal Scale 1.15 MaxVisionRange 800 WeaponRestrictions MeleeOnly Item "The Bread Bite" Item "Bread Heads" ItemAttributes { ItemName "The Bread Bite" "mult_player_movespeed_active" "1" "mod_maxhealth_drain_rate" "0" "fire rate bonus" 0.8 "damage penalty" 0.8 "dmg bonus vs buildings" 2.5 "hit self on miss" 1 "apply z velocity on damage" 250 "apply look velocity on damage" 600 "melee range multiplier" 1.2 } CharacterAttributes { "voice pitch scale" 0.4 "gesture speed increase" 0.5 "health regen" 15 } } T_TFBot_Medic_SlowUber { Class Medic Name "Slow Uber Medic" ClassIcon medic_uber Skill Normal Attributes SpawnWithFullCharge Item "Brain Interface" ItemAttributes { ItemName "TF_WEAPON_MEDIGUN" "ubercharge rate bonus" 0.5 "uber duration bonus" 2 } ItemAttributes { ItemName "TF_WEAPON_SYRINGEGUN_MEDIC" "damage penalty" 0.1 } CharacterAttributes { "heal rate bonus" 0.1 "bot medic uber deploy delay duration" 1 } } T_TFBot_Medic_SlowerUber { Class Medic Name "Slower Uber Medic" ClassIcon medic_uber Skill Normal Attributes SpawnWithFullCharge Item "Brain Interface" Item "Iron Lung" ItemAttributes { ItemName "TF_WEAPON_MEDIGUN" "ubercharge rate bonus" 0.2 "uber duration bonus" 4 } ItemAttributes { ItemName "TF_WEAPON_SYRINGEGUN_MEDIC" "damage penalty" 0.1 } CharacterAttributes { "heal rate bonus" 0.1 "bot medic uber deploy delay duration" 2 } } T_TFBot_Giant_Soldier_BurstBlast { Class Soldier Name "Giant Blast Soldier" ClassIcon soldier_libertylauncher_giant Skill Expert Health 3800 WeaponRestrictions PrimaryOnly Attributes HoldFireUntilFullReload Attributes MiniBoss Item "The Liberty Launcher" Item "The Cloud Crasher" ItemAttributes { ItemName "The Liberty Launcher" "damage penalty" 0.33 "damage blast push" 150 "fire rate bonus" 0.05 "reload time increased" 1.3 "Blast radius increased" 1.2 "projectile spread angle penalty" 3 } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.4 "airblast vulnerability multiplier" 0.4 "override footstep sound set" 3 } } T_TFBot_Giant_Pyro_Dragon { Class Pyro Name "Giant Dragon's Fury Pyro" ClassIcon pyro_dragon_fury_swordstone_giant Skill Expert Health 3000 MaxVisionRange 650 WeaponRestrictions PrimaryOnly Attributes MiniBoss Item "The Dragon's Fury" Item "Brim of Fire" CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.6 "airblast vulnerability multiplier" 0.6 "override footstep sound set" 6 } } T_TFBot_Giant_Pyro_Dragon_Burst { Class Pyro Name "Giant Burst Dragon's Fury Pyro" ClassIcon pyro_dragon_fury_burstfire_swordstone_giant Skill Expert Health 3000 MaxVisionRange 850 WeaponRestrictions PrimaryOnly Attributes MiniBoss Item "The Dragon's Fury" Item "Brim of Fire" Item "The Rusty Reaper" ItemAttributes { ItemName "The Dragon's Fury" "item_meter_charge_rate" 0.15 "fire rate bonus" 0.15 "reload time increased" 2 } ItemAttributes { ItemName "TF_WEAPON_SHOTGUN_PYRO" "faster reload rate" 0.9 "fire rate bonus" 0.2 "clip size penalty" 0.5 "is_passive_weapon" 1 "auto fires full clip" 1 "auto fires when full" 1 "override projectile type" 27 } ItemAttributes { ItemName "The Rusty Reaper" "set item tint RGB" 5801378 } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.6 "airblast vulnerability multiplier" 0.6 "override footstep sound set" 6 } } T_TFBot_Giant_Demoman_Barrage { Class Demoman Name "Colonel Scatter" ClassIcon demo_scatter Health 3500 Skill Expert Attributes MiniBoss Attributes HoldFireUntilFullReload Item "Upgradeable TF_WEAPON_GRENADELAUNCHER" Item "Blast Defense" ItemAttributes { ItemName "Upgradeable TF_WEAPON_GRENADELAUNCHER" "clip size upgrade atomic" 26.0 "faster reload rate" 0.22 "fire rate bonus" 0.2 "projectile spread angle penalty" 5 "fuse bonus" 0.75 "damage bonus" 1.5 } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.4 "airblast vulnerability multiplier" 0.4 "override footstep sound set" 4 "health regen" 40 } } T_TFBot_Giant_Heavy_Precision // Giant Heavy that is extremely accurate, has halved bullets per shot { Class Heavyweapons Name "Precision Gunner" ClassIcon heavy_accurate_lite Skill Expert Health 5000 WeaponRestrictions PrimaryOnly Attributes MiniBoss Item "Tomislav" Item "Arctic Mole" ItemAttributes { ItemName "Tomislav" "damage bonus" 1.5 "fire rate penalty" 1.55 "weapon spread bonus" 0.25 "bullets per shot bonus" 0.5 "paintkit_proto_def_index" 411 "set_item_texture_wear" 0 "hand scale" 1.35 } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.3 "airblast vulnerability multiplier" 0.3 "override footstep sound set" 2 } } T_TFBot_Boss_The_Whole_Package // Simple Heavy boss, occasionally switches to fos to regain health { Class Heavyweapons Name "The Whole Package" ClassIcon heavy_head_nys Health 33000 Scale 1.9 EventChangeAttributes { Default // ez copy { Skill Expert Attributes MiniBoss Attributes UseBossHealthBar WeaponRestrictions PrimaryOnly ItemAttributes { ItemName "Upgradeable TF_WEAPON_MINIGUN" "damage bonus" 1.9 "fire rate penalty" 1.33 "paintkit_proto_def_index" 414 "set_item_texture_wear" 0 } Item "Upgradeable TF_WEAPON_MINIGUN" Item "Combat Slacks" Item "Siberian Tigerstripe" Item "Big Steel Jaw of Summer Fun" Item "Head Banger" CharacterAttributes { "move speed bonus" 0.4 "damage force reduction" 0 "airblast vulnerability multiplier" 0 "rage giving scale" 0.1 "airblast vertical vulnerability multiplier" 0 "override footstep sound set" 2 "gesture speed increase" 0.8 } } Set1 // Standard Minigun { Skill Expert Attributes MiniBoss Attributes UseBossHealthBar WeaponRestrictions PrimaryOnly MaxVisionRange 1500 ItemAttributes { ItemName "Upgradeable TF_WEAPON_MINIGUN" "damage bonus" 1.9 "fire rate penalty" 1.33 "paintkit_proto_def_index" 414 "set_item_texture_wear" 0 } Item "Upgradeable TF_WEAPON_MINIGUN" Item "Combat Slacks" Item "Siberian Tigerstripe" Item "Big Steel Jaw of Summer Fun" Item "Head Banger" CharacterAttributes { "move speed bonus" 0.4 "damage force reduction" 0 "airblast vulnerability multiplier" 0 "rage giving scale" 0.1 "airblast vertical vulnerability multiplier" 0 "override footstep sound set" 2 "gesture speed increase" 0.8 } } Set2 // Heal FOS { Skill Expert Attributes MiniBoss Attributes UseBossHealthBar WeaponRestrictions MeleeOnly MaxVisionRange 700 ItemAttributes { ItemName "Fists of Steel" "damage bonus" 1.5 "damage blast push" 60 "fire rate bonus" 0.8 "health regen" 100 } Item "Natascha" // force weapon switch Item "Fists of Steel" Item "Combat Slacks" Item "Siberian Tigerstripe" Item "Big Steel Jaw of Summer Fun" Item "Head Banger" CharacterAttributes { "move speed bonus" 0.4 "damage force reduction" 0 "airblast vulnerability multiplier" 0 "rage giving scale" 0.1 "airblast vertical vulnerability multiplier" 0 "override footstep sound set" 2 "gesture speed increase" 0.8 } } Set3 // Burst Shotty Phase { Skill Expert Attributes MiniBoss Attributes UseBossHealthBar WeaponRestrictions SecondaryOnly MaxVisionRange 700 Item "Combat Slacks" Item "Siberian Tigerstripe" Item "Big Steel Jaw of Summer Fun" Item "Head Banger" ItemAttributes { ItemName "Fists of Steel" "health regen" 0 } ItemAttributes { ItemName "TF_WEAPON_SHOTGUN_HWG" "fire rate bonus" 0.1 "bullets per shot bonus" 2 "damage penalty" 0.8 "faster reload rate" 0.75 "clip size bonus" 1.5 "auto fires full clip" 1 "auto fires when full" 1 } CharacterAttributes { "move speed bonus" 0.55 "damage force reduction" 0 "airblast vulnerability multiplier" 0 "rage giving scale" 0.1 "airblast vertical vulnerability multiplier" 0 "override footstep sound set" 2 "gesture speed increase" 0.8 } } } } T_TFBot_Boss_Ion_Emperor // Bison Boss that switches between several shooting styles. { Class Soldier Name "Ion Emperor" ClassIcon soldier_mangler_v2_giant Health 33000 Scale 1.9 EventChangeAttributes { Default { Skill Expert Attributes MiniBoss Attributes AlwaysFireWeapon Attributes UseBossHealthBar WeaponRestrictions PrimaryOnly Item "Upgradeable TF_WEAPON_ROCKETLAUNCHER" Item "The Righteous Bison" Item "Shortness Of Breath" Item "The Diplomat" Item "The Patriot Peak" ItemAttributes { ItemName "Upgradeable TF_WEAPON_ROCKETLAUNCHER" "set item tint rgb" 10878853 "faster reload rate" 0.3 "fire rate bonus" -2 "clip size upgrade atomic" 12 "projectile spread angle penalty" 8 "auto fires full clip" 1 "auto fires when full" 1 "override projectile type" 13 "dmg penalty vs players" 0.75 "energy weapon penetration" 0 "paintkit_proto_def_index" 218 "set_item_texture_wear" 0 } ItemAttributes { ItemName "The Righteous Bison" "fire rate bonus" 0.15 "is_passive_weapon" 1 "faster reload rate" -2 "set item tint rgb" 3329330 "dmg penalty vs players" 1.5 } ItemAttributes { ItemName "The Patriot Peak" "set item tint rgb" 3329330 } CharacterAttributes { "move speed bonus" 0.4 "damage force reduction" 0 "airblast vulnerability multiplier" 0 "rage giving scale" 0.1 "airblast vertical vulnerability multiplier" 0 "override footstep sound set" 3 "hand scale" 0.75 "gesture speed increase" 1.5 } } } } } Mission { Objective DestroySentries Where spawnbot BeginAtWave 1 RunForThisManyWaves 8 CooldownTime 30 TFBot { Template T_TFBot_SentryBuster Name "Oxidized Nuke" Item "The Bomber Knight" ItemAttributes { ItemName "The Bomber Knight" "set item tint rgb" 4345659 } CharacterAttributes { "head scale" 2 "torso scale" 0.3 } } } Mission { Objective Sniper Where spawnbot BeginAtWave 1 RunForThisManyWaves 1 InitialCooldown 45 CooldownTime 30 DesiredCount 2 TFBot { Template T_TFBot_Sniper } } Mission { Objective Sniper Where spawnbot BeginAtWave 2 RunForThisManyWaves 1 InitialCooldown 10 CooldownTime 40 DesiredCount 3 TFBot { Class Soldier Name "Market Gardener Soldier" ClassIcon soldier_shovel Skill Expert Attributes DisableDodge Item "The Head Hedge" Item "The Gunboats" Item "The Market Gardener" ItemAttributes { ItemName "TF_WEAPON_ROCKETLAUNCHER" "damage penalty" 0 "blast radius decreased" 0.05 "apply z velocity on damage" 450 "apply look velocity on damage" 1300 "Projectile speed decreased" 0 "fire rate bonus" 0.6 "clip size penalty" 0.25 "fuse bonus" 0.2 "faster reload rate" 1.25 "override projectile type" 3 "auto fires full clip" 1 "auto fires when full" 1 "grenade no spin" 1 "single wep holster time increased" 0 "custom projectile model" "models/weapons/w_models/w_rocket.mdl" } ItemAttributes { ItemName "The Market Gardener" "provide on active" 1 "damage all connected" 1 "fire rate penalty" 1 "melee range multiplier" 1.25 "crit on hard hit" 1 "crit from behind" 1 } CharacterAttributes { "increased air control" 10 "health regen" 10 "deploy time decreased" 0 } } } Mission { Objective Sniper Where spawnbot BeginAtWave 4 RunForThisManyWaves 1 InitialCooldown 30 CooldownTime 45 DesiredCount 2 TFBot { Template T_TFBot_Sniper Name "Chargless Sniper" Item "The Classic" } } Mission { Objective Spy Where spawnbot BeginAtWave 4 RunForThisManyWaves 1 InitialCooldown 10 CooldownTime 30 DesiredCount 2 TFBot { Template T_TFBot_Spy } } Mission { Objective Spy Where spawnbot BeginAtWave 5 RunForThisManyWaves 1 InitialCooldown 30 CooldownTime 30 DesiredCount 2 TFBot { Template T_TFBot_Spy Name "Bad Medicine" Item "Battle Boonie" } } Mission { Objective Engineer Where spawnbot BeginAtWave 5 RunForThisManyWaves 2 InitialCooldown 5 CooldownTime 35 DesiredCount 1 TFBot { Template T_TFBot_Engineer_Sentry_Teleporter TeleportWhere spawnbot TeleportWhere spawnbot_flankers CharacterAttributes { "kill forces attacker to laugh" 1 "gesture speed increase" 3 "voice pitch scale" 2 } } } Mission { Objective Sniper Where spawnbot BeginAtWave 6 RunForThisManyWaves 1 InitialCooldown 25 CooldownTime 50 DesiredCount 4 TFBot { Template T_TFBot_Sniper } } Mission { Objective Spy Where spawnbot BeginAtWave 7 RunForThisManyWaves 1 InitialCooldown 35 CooldownTime 45 DesiredCount 2 TFBot { Template T_TFBot_Spy } } // Wave 1/7 ($700) // 11 Lesser Samurai Demos // 19 Samurai Demoknights (Small) // 12 Heavies (Easy AI) // 2 Giant Demomen & 4 Demomen each // 30 Scouts (Easy AI) // 12 Gas Passer Pyros (Normal AI, no Airblast) Wave { StartWaveOutput { Target wave_start_relay Action Trigger } InitWaveOutput { Target wave_initial_relay Action RunScriptCode Param " EntFire(`dr_nuke*`,`lock`) EntFire(`wave_initial_relay`,`trigger`) local ent = Entities.FindByClassname(null, `tf_objective_resource`) if (ent) { NetProps.SetPropString(ent, `m_iszMvMPopfileName`, `Ruin Redemption (Intermediate)`) } " } DoneOutput { Target wave_finished_relay Action Trigger } WaveSpawn { Name "nukehappens" StartWaveOutput { Target wave_initial_relay Action RunScriptCode Param " EntFire(`rel_nuke_effects`,`trigger`, ``, 4) EntFire(`rel_nuke_effects`,`disable`, ``, 4.1) EntFire(`player`,`speakresponseconcept`, `TLK_PLAYER_PAIN`, 4.05) EntFire(`player`,`speakresponseconcept`, `TLK_PLAYER_NEGATIVE`, 13.5) " } WaitBeforeStarting 15.5 } WaveSpawn { Name "edgyintrotextwow" WaitBeforeStarting 3 StartWaveWarningSound "#music/hl2_song10.mp3" WaitForAllSpawned "nukehappens" FirstSpawnOutput { Target wave_initial_relay Action RunScriptCode Param " ClientPrint(null,3,`\x085A1919FFTHIS IS A BARREN WASTELAND.`) " } } WaveSpawn { Name "edgyintrotextwow" WaitBeforeStarting 10 WaitForAllSpawned "nukehappens" FirstSpawnOutput { Target wave_initial_relay Action RunScriptCode Param " ClientPrint(null,3,`\x085A1919FFYOU CAN STILL CHANGE THE OUTCOME.`) " } } WaveSpawn { Name "edgyintrotextwow" WaitBeforeStarting 16 WaitForAllSpawned "nukehappens" FirstSpawnOutput { Target wave_initial_relay Action RunScriptCode Param " ClientPrint(null,3,`\x085A1919FFBE SWIFT, FOR IT DOESN'T WAIT PAITENTLY.`) " } } WaveSpawn { Name "wave01" TotalCount 11 MaxActive 4 SpawnCount 1 Where spawnbot WaitBetweenSpawns 4 WaitBeforeStarting 3 WaitForAllSpawned "edgyintrotextwow" TotalCurrency 100 TFBot { Class Demoman Name "Lesser Samurai Demo" Scale 1.3 Health 650 ClassIcon demoknight_samurai Skill Expert WeaponRestrictions MeleeOnly Attributes AirChargeOnly Attributes AutoJump AutoJumpMin 15 AutoJumpMax 15 Item "The Half-Zatoichi" Item "Furious Fukaamigasa" CharacterAttributes { "increased jump height" 1.5 "bot custom jump particle" 1 "damage bonus" 1.5 } } } WaveSpawn { Name "wave01" TotalCount 19 MaxActive 8 SpawnCount 2 Where spawnbot WaitBetweenSpawns 5 WaitForAllSpawned "edgyintrotextwow" TotalCurrency 100 TFBot { Class demoman Skill Hard ClassIcon demoknight_samurai Name "Samurai Demoknight" WeaponRestrictions MeleeOnly Attributes AirChargeOnly Item "The Half-Zatoichi" Item "The Splendid Screen" Item "Demo Kabuto" } } WaveSpawn { //Name "wave01" TotalCount 12 MaxActive 6 SpawnCount 1 Where spawnbot WaitBetweenSpawns 3 WaitBeforeStarting 16 WaitForAllSpawned "edgyintrotextwow" TotalCurrency 100 TFBot { Class Heavy MaxVisionRange 1000 Skill Easy } } WaveSpawn { Name "wave02" TotalCount 30 MaxActive 10 SpawnCount 1 Where spawnbot WaitForAllSpawned "wave01" WaitBeforeStarting 4 WaitBetweenSpawns 2 TotalCurrency 50 TFBot { Class Scout Skill Easy Maxvisionrange 1000 } } WaveSpawn { Name "wave02" TotalCount 12 MaxActive 4 SpawnCount 2 Where spawnbot WaitForAllSpawned "wave01" WaitBeforeStarting 7 WaitBetweenSpawns 8 TotalCurrency 50 TFBot { Class Pyro ClassIcon pyro_gaspasser_tind Skill Normal Maxvisionrange 750 Item "The Degreaser" item "The Lawnmaker" Item "The Gas Passer" ItemAttributes { ItemName "The Degreaser" "airblast disabled" 1 } ItemAttributes { ItemName "The Gas Passer" "item_meter_charge_rate" 10 } } } WaveSpawn { Name "wave02" TotalCount 10 MaxActive 10 SpawnCount 5 Where spawnbot WaitForAllSpawned "wave01" WaitBeforeStarting 10 WaitBetweenSpawns 12 TotalCurrency 300 Squad { TFBot { Template T_TFBot_Giant_Demoman Name "Giant Demoman" Item "Upgradeable TF_WEAPON_GRENADELAUNCHER" } TFBot { Class Demoman Skill Normal Attributes HoldFireUntilFullReload } TFBot { Class Demoman Skill Normal Attributes HoldFireUntilFullReload } TFBot { Class Demoman Skill Normal Attributes HoldFireUntilFullReload } TFBot { Class Demoman Skill Normal Attributes HoldFireUntilFullReload } } } } // Wave 2/7 ($600) // 1 Giant Precision Gunner & 2 Big Heal Medics each // 16 Demomen (Normal AI) // 4 Giant Soldiers // 48 Jumping Sandmen // 24 Shotgun Heavies // 1 Giant Precision Gunner & 3 Soldiers // Support : Bat Scouts Wave { StartWaveOutput { Target wave_start_relay Action Trigger } InitWaveOutput { Target wave_initial_relay Action RunScriptCode Param " EntFire(`dr_nuke*`,`lock`) EntFire(`cc_nuclear`,`enable`) EntFire(`ps_nuke`,`Start`) EntFire(`wave_initial_relay`,`trigger`) local ent = Entities.FindByClassname(null, `tf_objective_resource`) if (ent) { NetProps.SetPropString(ent, `m_iszMvMPopfileName`, `Ruin Redemption (Intermediate)`) } " } DoneOutput { Target wave_finished_relay Action Trigger } WaveSpawn { Name "wave01" TotalCount 3 MaxActive 3 SpawnCount 3 Where spawnbot TotalCurrency 75 Squad { TFBot { Template T_TFBot_Giant_Heavy_Precision } TFBot { Template T_TFBot_Medic_BigHeal Name "Big Heal Medic" Item "The Surgeon's Stahlhelm" } TFBot { Template T_TFBot_Medic_BigHeal Name "Big Heal Medic" Item "The Surgeon's Stahlhelm" } } } WaveSpawn { Name "wave01" TotalCount 16 MaxActive 8 SpawnCount 4 Where spawnbot WaitBeforeStarting 7 WaitBetweenSpawns 7 TotalCurrency 50 TFBot { Class Demoman SKill Normal Attributes HoldFireUntilFullReload Item "The Iron Bomber" } } WaveSpawn { Name "wave02" TotalCount 4 MaxActive 3 SpawnCount 1 Where spawnbot WaitForAllSpawned "wave01" WaitBeforeStarting 15 WaitBetweenSpawns 10 TotalCurrency 75 TFBot { Template T_TFBot_Giant_Soldier } } WaveSpawn { //Name "wave02" TotalCount 48 MaxActive 8 SpawnCount 4 Where spawnbot Where spawnbot_flankers Support Limited WaitForAllSpawned "wave01" WaitBeforeStarting 4 WaitBetweenSpawns 5 TotalCurrency 50 TFBot { Template T_TFBot_Scout_Jumping_Sandman Name "Leaping League Scout" } } WaveSpawn { TotalCount 24 MaxActive 6 SpawnCount 2 Where spawnbot Where spawnbot_flankers WaitForAllSpawned "wave01" WaitBeforeStarting 7 WaitBetweenSpawns 3.5 TotalCurrency 50 TFBot { Class Heavyweapons Skill Easy WeaponRestrictions SecondaryOnly ClassIcon heavy_shotgun Name "Shotgun Heavy" } } WaveSpawn { Name "wave03" TotalCount 4 MaxActive 4 SpawnCount 4 Where spawnbot WaitForAllSpawned "wave02" WaitBeforeStarting 10 TotalCurrency 150 Squad { TFBot { Template T_TFBot_Giant_Heavy_Precision } TFBot { Class Soldier Skill Normal } TFBot { Class Soldier Skill Normal } TFBot { Class Soldier Skill Normal } } } WaveSpawn { Name "Support" TotalCount 48 MaxActive 6 SpawnCount 1 Where spawnbot Support 1 WaitForAllSpawned "wave02" WaitBeforeStarting 30 WaitBetweenSpawns 0.7 TotalCurrency 150 TFBot { Class Scout Skill Hard Name "Bat Scout" ClassIcon scout_bat_nys WeaponRestrictions MeleeOnly } } } // Wave 3/7 ($700) // 1 Tank (18k HP) // 4 Giant Pyros & 2 Heater Heavies each // 26 Demoknights // 4 Giant Dragon's Fury Pyros & 1 Big Heal Medic each // 12 Gravitational Pullers // 36 Bowmen Wave { StartWaveOutput { Target wave_start_relay Action Trigger } InitWaveOutput { Target wave_initial_relay Action RunScriptCode Param " EntFire(`dr_nuke*`,`lock`) EntFire(`cc_nuclear`,`enable`) EntFire(`ps_nuke`,`Start`) EntFire(`wave_initial_relay`,`trigger`) local ent = Entities.FindByClassname(null, `tf_objective_resource`) if (ent) { NetProps.SetPropString(ent, `m_iszMvMPopfileName`, `Ruin Redemption (Intermediate)`) } " } DoneOutput { Target wave_finished_relay Action Trigger } WaveSpawn { Name "wave01" TotalCount 1 MaxActive 1 SpawnCount 1 Where spawnbot FirstSpawnOutput { Target boss_spawn_relay Action Trigger } WaitBeforeStarting 6 TotalCurrency 150 Tank { Name tankboss Health 18000 Speed 75 StartingPathTrackNode tank_path_1 OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn { Name "wave01" TotalCount 12 MaxActive 6 SpawnCount 3 Where spawnbot WaitBetweenSpawns 11 TotalCurrency 150 Squad { TFBot { Template T_TFBot_Giant_Pyro } TFBot { Class Heavy Skill Normal ClassIcon heavy_heater Name "Heater Heavy" MaxVisionRange 1000 Item "The Huo Long Heatmaker" Item "The Bunsen Brave" } TFBot { Class Heavy Skill Normal ClassIcon heavy_heater Name "Heater Heavy" MaxVisionRange 1000 Item "The Huo Long Heatmaker" Item "The Bunsen Brave" } } } WaveSpawn { Name "wave01" TotalCount 18 MaxActive 6 SpawnCount 2 Where spawnbot_flankers WaitBeforeStarting 10 WaitBetweenSpawns 4 TotalCurrency 100 TFBot { Template T_TFBot_Demoman_Knight } } WaveSpawn { Name "wave02" TotalCount 8 MaxActive 4 SpawnCount 2 Where spawnbot WaitForAllSpawned "wave01" WaitBeforeStarting 10 WaitBetweenSpawns 12 TotalCurrency 150 Squad { TFBot { Template T_TFBot_Giant_Pyro_Dragon } TFBot { Template T_TFBot_Medic_BigHeal Name "Big Heal Medic" Item "The Surgeon's Stahlhelm" } } } WaveSpawn { Name "wave02" TotalCount 12 MaxActive 3 SpawnCount 1 Where spawnbot WaitForAllSpawned "wave01" WaitBetweenSpawns 2 TotalCurrency 100 TFBot { Template T_TFBot_Demo_GravityPull } } WaveSpawn { Name "wave02" TotalCount 36 MaxActive 10 SpawnCount 1 Where spawnbot Where spawnbot_flankers WaitForAllSpawned "wave01" WaitBetweenSpawns 2 TotalCurrency 50 TFBot { Template T_TFBot_Sniper_Huntsman } } } // Wave 4/7 ($900) // 5 Giant Burst Blast Soldiers (Last two come with 2 burst loch-n-load demos) // 15 Tomislav Heavies (Normal Skill) // 32 Scouts (Easy Skill) // 4 Giant Burst Dragon Fury Pyros & 3 Conch Soldiers each // 14 Shortstop Scouts & 1 Kritz Medic each // 24 Bonk Scouts // 4 Giant Demomen (All at once) // Support : Rotten Breakfasts Wave { StartWaveOutput { Target wave_start_relay Action Trigger } InitWaveOutput { Target wave_initial_relay Action RunScriptCode Param " EntFire(`dr_nuke*`,`lock`) EntFire(`cc_nuclear`,`enable`) EntFire(`ps_nuke`,`Start`) EntFire(`wave_initial_relay`,`trigger`) local ent = Entities.FindByClassname(null, `tf_objective_resource`) if (ent) { NetProps.SetPropString(ent, `m_iszMvMPopfileName`, `Ruin Redemption (Intermediate)`) } " } DoneOutput { Target wave_finished_relay Action Trigger } WaveSpawn { Name "wave01_otherguy" TotalCount 3 MaxActive 2 SpawnCount 1 Where spawnbot WaitBetweenSpawns 9 TotalCurrency 75 TFBot { Template T_TFBot_Giant_Soldier_BurstBlast } } WaveSpawn { Name "wave01" TotalCount 6 MaxActive 3 SpawnCount 3 Where spawnbot WaitBeforeStarting 8 WaitBetweenSpawns 8 TotalCurrency 50 WaitForAllSpawned "wave01_otherguy" Squad { TFBot { Template T_TFBot_Giant_Soldier_BurstBlast } TFBot { Template T_TFBot_Demo_Burst MaxVisionRange 1000 Item "The Loch-n-Load" Item "The Hurt Locher" ItemAttributes { ItemName "The Loch-n-Load" "faster reload rate" 1.5 "fire rate bonus" 0.05 "projectile speed increased" 0.95 } } TFBot { Template T_TFBot_Demo_Burst MaxVisionRange 1000 Item "The Loch-n-Load" Item "The Hurt Locher" ItemAttributes { ItemName "The Loch-n-Load" "faster reload rate" 1.5 "fire rate bonus" 0.05 "projectile speed increased" 0.95 } } } } WaveSpawn { Name "wave01" TotalCount 15 MaxActive 10 SpawnCount 5 Where spawnbot WaitBeforeStarting 30 WaitBetweenSpawns 7 TotalCurrency 100 TFBot { Template T_TFBot_Heavy_Precision Skill Normal MaxVisionRange 1200 } } WaveSpawn { Name "wave01" TotalCount 32 MaxActive 10 SpawnCount 1 Where spawnbot WaitBeforeStarting 3 WaitBetweenSpawns 1.25 TotalCurrency 75 TFBot { Class Scout Skill Normal MaxVisionRange 1000 } } WaveSpawn { Name "wave02" TotalCount 16 MaxActive 8 SpawnCount 4 Where spawnbot WaitForAllSpawned "wave01" WaitBeforeStarting 20 WaitBetweenSpawns 6 TotalCurrency 100 Squad { TFBot { Template T_TFBot_Giant_Pyro_Dragon_Burst Attributes AlwaysCrit } TFBot { Template T_TFBot_Soldier_Extended_Concheror } TFBot { Template T_TFBot_Soldier_Extended_Concheror } TFBot { Template T_TFBot_Soldier_Extended_Concheror } } } WaveSpawn { Name "wave02" TotalCount 28 MaxActive 12 SpawnCount 1 Where spawnbot WaitForAllSpawned "wave01" WaitBeforeStarting 12 WaitBetweenSpawns 5 TotalCurrency 100 Squad { TFBot { Template T_TFBot_Scout_Shortstop Item "The Airdog" CharacterAttributes { "move speed bonus" 0.85 "head scale" 1 } } TFBot { Template T_TFBot_Medic_Kritzkrieg CharacterAttributes { "move speed bonus" 1.15 } } } } WaveSpawn { Name "wave03" TotalCount 20 MaxActive 8 SpawnCount 4 Where spawnbot_flankers WaitForAllSpawned "wave02" WaitBetweenSpawns 5 TotalCurrency 100 TFBot { Template T_TFBot_Scout_Bonk Name "Bonk Scout" } } WaveSpawn { Name "wave03" TotalCount 4 MaxActive 4 SpawnCount 4 Where spawnbot WaitForAllSpawned "wave02" WaitBeforeStarting 15 TotalCurrency 200 TFBot { Template T_TFBot_Giant_Demoman Name "Giant Demoman" ClassIcon demo_giant Item "Upgradeable TF_WEAPON_GRENADELAUNCHER" } } WaveSpawn { TotalCount 25 MaxActive 4 SpawnCount 2 Where spawnbot Where spawnbot_flankers Support 1 WaitForAllDead "wave01" WaitBeforeStarting 30 WaitBetweenSpawns 2 TotalCurrency 100 RandomChoice { TFBot { Template T_TFBot_Heavy_Bread } TFBot { Template T_TFBot_Heavy_Bread } TFBot { Template T_TFBot_Heavy_Bread } TFBot { Template T_TFBot_Heavy_Bread_Jumper } } } } // Wave 5/7 ($400) // 1 Tank (22k HP) // 24 Steel Gauntlets // 24 Pyros (Easy Skill, Critboosted) // 3 Giant Soldiers (each with varried med amounts) // 1 Giant Battalions Soldier // 1 Giant Heavy & 10 Quicker Uber Medics // 32 Dragon's Fury Pyros // 20 Soldiers (Critboosted, nerfed) & 1 Quicker Uber Medic Each // Support : Bat Scouts (Critboosted) Wave { StartWaveOutput { Target wave_start_relay Action Trigger } InitWaveOutput { Target wave_initial_relay Action RunScriptCode Param " EntFire(`dr_nuke*`,`lock`) EntFire(`cc_nuclear`,`enable`) EntFire(`ps_nuke`,`Start`) EntFire(`wave_initial_relay`,`trigger`) local ent = Entities.FindByClassname(null, `tf_objective_resource`) if (ent) { NetProps.SetPropString(ent, `m_iszMvMPopfileName`, `Ruin Redemption (Intermediate)`) } " } DoneOutput { Target wave_finished_relay Action Trigger } WaveSpawn { Name "lameass" TotalCount 30 MaxActive 6 SpawnCount 1 Where spawnbot Support Limited WaitBeforeStarting 32 WaitBetweenSpawns 4 TotalCurrency 30 TFBot { Class Scout Skill Normal Name "Bat Scout" ClassIcon scout_bat_nys Attributes AlwaysCrit WeaponRestrictions MeleeOnly } } WaveSpawn { TotalCount 1 MaxActive 1 SpawnCount 1 Where spawnbot FirstSpawnOutput { Target boss_spawn_relay Action Trigger } WaitBeforeStarting 10 TotalCurrency 50 Tank { Name tankboss Health 22000 Speed 75 StartingPathTrackNode tank_path_2 OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn { Name "wave01" TotalCount 4 MaxActive 4 SpawnCount 1 Where spawnbot WaitBetweenSpawns 5 TotalCurrency 10 TFBot { Template T_TFBot_Heavyweapons_Fist Skill Easy Name "Impatient Steel Gauntlet" Attributes SpawnWithFullCharge Item "The Galvanized Gibus" Item "The Concheror" } } WaveSpawn { Name "wave01" TotalCount 20 MaxActive 8 SpawnCount 1 Where spawnbot WaitBeforeStarting 2.5 WaitBetweenSpawns 2.5 TotalCurrency 20 TFBot { Template T_TFBot_Heavyweapons_Fist Skill Easy } } WaveSpawn { Name "wave01" TotalCount 24 MaxActive 8 SpawnCount 4 Where spawnbot WaitBeforeStarting 8 WaitBetweenSpawns 5 TotalCurrency 20 TFBot { Class Pyro Skill Easy Attributes AlwaysCrit Item "The Galvanized Gibus" } } WaveSpawn { Name "wave02" TotalCount 6 MaxActive 6 SpawnCount 6 Where spawnbot WaitForAllSpawned "wave01" WaitBeforeStarting 2 TotalCurrency 40 Squad { TFBot { Template T_TFBot_Giant_Soldier_Spammer } TFBot { Template T_TFBot_Medic_QuickerUber } TFBot { Template T_TFBot_Medic_QuickerUber } TFBot { Template T_TFBot_Medic_QuickUber Name "Quick Uber Medic" Item "Flatliner" } TFBot { Template T_TFBot_Medic_QuickerUber } TFBot { Template T_TFBot_Medic_QuickerUber } } } WaveSpawn { Name "wave02_pistachio" TotalCount 6 MaxActive 6 SpawnCount 6 Where spawnbot WaitForAllDead "wave01" TotalCurrency 25 Squad { TFBot { Template T_TFBot_Giant_Soldier_Spammer } TFBot { Template T_TFBot_Medic_SlowUber } TFBot { Template T_TFBot_Medic_SlowUber } TFBot { Template T_TFBot_Medic_SlowUber } TFBot { Template T_TFBot_Medic_SlowUber } TFBot { Template T_TFBot_Medic_SlowUber } } } WaveSpawn { Name "wave02_pistachio" TotalCount 6 MaxActive 6 SpawnCount 6 Where spawnbot WaitForAllDead "wave01" WaitBeforeStarting 6 TotalCurrency 25 Squad { TFBot { Template T_TFBot_Giant_Soldier_Spammer } TFBot { Template T_TFBot_Medic_QuickerUber } TFBot { Template T_TFBot_Medic_QuickUber Name "Quick Uber Medic" Item "Flatliner" } TFBot { Template T_TFBot_Medic_QuickUber Name "Quick Uber Medic" Item "Flatliner" } TFBot { Template T_TFBot_Medic_SlowUber } TFBot { Template T_TFBot_Medic_SlowerUber } } } WaveSpawn { Name "wave02" TotalCount 6 MaxActive 6 SpawnCount 6 Where spawnbot WaitForAllSpawned "wave02_pistachio" WaitBeforeStarting 20 TotalCurrency 40 Squad { TFBot { Template T_TFBot_Giant_Soldier_Extended_Battalion } TFBot { Template T_TFBot_Medic_QuickUber Name "Quick Uber Medic" Item "Flatliner" } TFBot { Template T_TFBot_Medic_QuickUber Name "Quick Uber Medic" Item "Flatliner" } TFBot { Template T_TFBot_Medic_QuickUber Name "Quick Uber Medic" Item "Flatliner" } TFBot { Template T_TFBot_Medic_QuickUber Name "Quick Uber Medic" Item "Flatliner" } TFBot { Template T_TFBot_Medic_QuickUber Name "Quick Uber Medic" Item "Flatliner" } } } WaveSpawn { Name "wave03" TotalCount 11 MaxActive 11 SpawnCount 11 Where spawnbot WaitForAllSpawned "wave02" WaitBeforeStarting 15 TotalCurrency 50 Squad { TFBot { Template T_TFBot_Giant_Heavyweapons } TFBot { Template T_TFBot_Medic_QuickerUber } TFBot { Template T_TFBot_Medic_QuickerUber } TFBot { Template T_TFBot_Medic_QuickerUber } TFBot { Template T_TFBot_Medic_QuickerUber } TFBot { Template T_TFBot_Medic_QuickerUber } TFBot { Template T_TFBot_Medic_QuickerUber } TFBot { Template T_TFBot_Medic_QuickerUber } TFBot { Template T_TFBot_Medic_QuickerUber } TFBot { Template T_TFBot_Medic_QuickerUber } TFBot { Template T_TFBot_Medic_QuickerUber } } } WaveSpawn { Name "wave03_peanut" TotalCount 32 MaxActive 6 SpawnCount 2 Where spawnbot WaitForAllSpawned "wave02" WaitBeforeStarting 5 WaitBetweenSpawns 1 TotalCurrency 50 TFBot { Template T_TFBot_Pyro_Fury } } WaveSpawn { Name "wave04" TotalCount 40 MaxActive 20 SpawnCount 2 Where spawnbot WaitForAllSpawned "wave03" WaitBeforeStarting 25 WaitBetweenSpawns 1.75 TotalCurrency 40 Squad { TFBot { Class Soldier Name "Malfucntioning Soldier" Skill Normal Attributes HoldFireUntilFullReload Attributes AlwaysCrit Item "Upgradeable TF_WEAPON_ROCKETLAUNCHER" ItemAttributes { ItemName "Upgradeable TF_WEAPON_ROCKETLAUNCHER" "fire rate penalty" 1.25 "reload time increased" 1.33 "clip size penalty" 0.5 "projectile speed decreased" 0.65 } CharacterAttributes { "voice pitch scale" 0.88 } } TFBot { Template T_TFBot_Medic_QuickerUber } } } } // Wave 6/7 ($800) // 8 Giant Burst Fire Dragon Fury Pyros // 4 Giant Rapid Fire Soldiers & 2 Buff Banner Soldiers each // 1 Giant Precision Gunner & 4 Kritz Medics. // 1 Giant Heavy & 2 Quick Uber Medics. // 25 Burst Fire Demomen // 30 Lightweapons (Faster heavies with less dmg.) // 1 Giant Burst Fire Demoman (Critboosted) & 2 Giant Pyros, 1 Slow Uber Medic // Support : Pyros (Normal AI, no airblast) Wave { StartWaveOutput { Target wave_start_relay Action Trigger } InitWaveOutput { Target wave_initial_relay Action RunScriptCode Param " EntFire(`dr_nuke*`,`lock`) EntFire(`cc_nuclear`,`enable`) EntFire(`ps_nuke`,`Start`) EntFire(`wave_initial_relay`,`trigger`) local ent = Entities.FindByClassname(null, `tf_objective_resource`) if (ent) { NetProps.SetPropString(ent, `m_iszMvMPopfileName`, `Ruin Redemption (Intermediate)`) } " } DoneOutput { Target wave_finished_relay Action Trigger } WaveSpawn { Name "wave01" TotalCount 8 MaxActive 4 SpawnCount 1 Where spawnbot WaitBetweenSpawns 5 TotalCurrency 100 TFBot { Template T_TFBot_Giant_Pyro_Dragon_Burst } } WaveSpawn { Name "wave01" TotalCount 12 MaxActive 6 SpawnCount 3 Where spawnbot WaitBeforeStarting 8 WaitBetweenSpawns 10 TotalCurrency 100 Squad { TFBot { Template T_TFBot_Giant_Soldier_Spammer } TFBot { Template T_TFBot_Soldier_Extended_Buff_Banner } TFBot { Template T_TFBot_Soldier_Extended_Buff_Banner } } } WaveSpawn { Name "wave02" TotalCount 5 MaxActive 5 SpawnCount 5 Where spawnbot WaitForAllDead "wave01" WaitBeforeStarting 5 TotalCurrency 100 Squad { TFBot { Template T_TFBot_Giant_Heavy_Precision } TFBot { Template T_TFBot_Medic_Kritzkrieg } TFBot { Template T_TFBot_Medic_Kritzkrieg } TFBot { Template T_TFBot_Medic_Kritzkrieg } TFBot { Template T_TFBot_Medic_Kritzkrieg } } } WaveSpawn { Name "wave02" TotalCount 3 MaxActive 3 SpawnCount 3 Where spawnbot WaitForAllDead "wave01" WaitBeforeStarting 8 TotalCurrency 100 Squad { TFBot { Template T_TFBot_Giant_Heavyweapons } TFBot { Template T_TFBot_Medic_QuickUber Name "Quick Uber Medic" Item "Flatliner" } TFBot { Template T_TFBot_Medic_QuickUber Name "Quick Uber Medic" Item "Flatliner" } } } WaveSpawn { TotalCount 25 MaxActive 10 SpawnCount 5 Where spawnbot WaitForAllSpawned "wave01" WaitBetweenSpawns 6 TotalCurrency 100 TFBot { Template T_TFBot_Demo_Burst } } WaveSpawn { Name "wave03_goons" TotalCount 30 MaxActive 13 SpawnCount 10 Where spawnbot WaitForAllSpawned "wave02" TotalCurrency 50 TFBot { Class Heavyweapons Skill Normal Name "Lightweapons" Health 200 Scale 0.8 Item craftsmann_minigun_antiqueannihilator ItemAttributes { ItemName craftsmann_minigun_antiqueannihilator "damage penalty" 0.75 } CharacterAttributes { "move speed bonus" 1.4 } } } WaveSpawn { Name "wave03" TotalCount 4 MaxActive 4 SpawnCount 4 Where spawnbot WaitForAllDead "wave02" TotalCurrency 200 Squad { FormationSize 600 TFBot { Template T_TFBot_Giant_Demo_Burst Attributes AlwaysCrit } TFBot { Template T_TFBot_Giant_Pyro } TFBot { Template T_TFBot_Giant_Pyro } TFBot { Template T_TFBot_Medic_SlowUber } } } WaveSpawn { Name "support" TotalCount 50 MaxActive 8 SpawnCount 1 Support 1 Where spawnbot WaitForAllSpawned "wave03_goons" WaitBetweenSpawns 2 TotalCurrency 50 TFBot { Class Pyro Skill Normal ItemAttributes { ItemName "TF_WEAPON_FLAMETHROWER" "airblast disabled" 1 } } } } // Wave 7/7 // 2 Tanks (20k HP) // 4 Colonel Scatters & 3 Quick Uber Medics each // 26 Dragon Fury Pyros // 10 Steel Gauntlets (Critboosted) // 1 Tank (35k HP) // 4 Giant Scouts // 48 Soldiers (Some Banners Thrown in) // Either Boss (Ion Emperor if you pass the time trials, or The Whole Package if you don't.) // Support : Demoknights (Critboosted), Scouts Wave { StartWaveOutput { Target wave_dualbomb_start Action Trigger } InitWaveOutput { Target wave_initial_relay Action RunScriptCode Param " EntFire(`dr_nuke*`,`lock`) EntFire(`cc_nuclear`,`enable`) EntFire(`ps_nuke`,`Start`) EntFire(`wave_dualbomb_initial`,`trigger`) local ent = Entities.FindByClassname(null, `tf_objective_resource`) if (ent) { NetProps.SetPropString(ent, `m_iszMvMPopfileName`, `Ruin Redemption (Intermediate)`) } " } DoneOutput { Target wave_finished_relay Action Trigger } WaveSpawn { Name "wave01" TotalCount 2 MaxActive 2 SpawnCount 1 Where spawnbot FirstSpawnOutput { Target boss_spawn_relay Action Trigger } WaitBetweenSpawns 10 TotalCurrency 100 Tank { Name tankboss Health 20000 Speed 75 StartingPathTrackNode tank_path_1 OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn { Name "wave01" TotalCount 16 MaxActive 8 SpawnCount 4 Where spawnbot WaitBeforeStarting 5 WaitBetweenSpawns 8 TotalCurrency 100 Squad { TFBot { Template T_TFBot_Giant_Demoman_Barrage } TFBot { Template T_TFBot_Medic_QuickUber Name "Quick Uber Medic" Item "Flatliner" } TFBot { Template T_TFBot_Medic_QuickUber Name "Quick Uber Medic" Item "Flatliner" } TFBot { Template T_TFBot_Medic_QuickUber Name "Quick Uber Medic" Item "Flatliner" } } } WaveSpawn { Name "wave01" TotalCount 26 MaxActive 10 SpawnCount 2 Where spawnbot WaitBeforeStarting 15 WaitBetweenSpawns 2 TotalCurrency 50 TFBot { Template T_TFBot_Pyro_Fury } } WaveSpawn { Name "wave01" TotalCount 10 MaxActive 6 SpawnCount 4 Where spawnbot WaitBeforeStarting 24 TotalCurrency 50 TFBot { Template T_TFBot_Heavyweapons_Fist Attributes AlwaysCrit } } WaveSpawn { Name "wave02" TotalCount 1 MaxActive 1 SpawnCount 1 Where spawnbot FirstSpawnOutput { Target boss_spawn_relay Action Trigger } WaitForAllSpawned "wave01" WaitBeforeStarting 15 TotalCurrency 50 Tank { Name tankboss Health 35000 Speed 75 StartingPathTrackNode tank_path_2 OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn { Name "wave02" TotalCount 4 MaxActive 1 SpawnCount 1 Where spawnbot WaitForAllSpawned "wave01" WaitBeforeStarting 15 TotalCurrency 100 TFBot { Template T_TFBot_Giant_Scout } } WaveSpawn { TotalCount 48 MaxActive 10 SpawnCount 2 Where spawnbot Where spawnbot_flankers WaitForAllSpawned "wave01" WaitBeforeStarting 20 WaitBetweenSpawns 1.5 TotalCurrency 100 RandomChoice { TFBot { Class Soldier Skill Hard } TFBot { Class Soldier Skill Hard } TFBot { Class Soldier Skill Hard } TFBot { Class Soldier Skill Hard } TFBot { Class Soldier Skill Hard } TFBot { Class Soldier Skill Hard } TFBot { Class Soldier Skill Hard } TFBot { Class Soldier Skill Hard } TFBot { Class Soldier Skill Hard } TFBot { Class Soldier Skill Hard } TFBot { Class Soldier Skill Hard Item "The Original" } TFBot { Template T_TFBot_Soldier_Extended_Buff_Banner ClassIcon soldier_banner_trio } TFBot { Template T_TFBot_Soldier_Extended_Concheror ClassIcon soldier_banner_trio } TFBot { Template T_TFBot_Soldier_Extended_Buff_Banner ClassIcon soldier_banner_trio } TFBot { Template T_TFBot_Soldier_Extended_Concheror ClassIcon soldier_banner_trio } TFBot { Template T_TFBot_Soldier_Extended_Battalion ClassIcon soldier_banner_trio } } } WaveSpawn { TotalCount 64 MaxActive 8 SpawnCount 4 Support 1 Where spawnbot Where spawnbot_flankers WaitForAllSpawned "wave02" WaitBeforeStarting 30 WaitBetweenSpawns 7 TotalCurrency 100 TFBot { Template T_TFBot_Demoman_Knight Attributes AlwaysCrit } } WaveSpawn { TotalCount 64 MaxActive 4 SpawnCount 1 Support 1 Where spawnbot Where spawnbot_flankers WaitForAllSpawned "wave01" WaitBeforeStarting 35 WaitBetweenSpawns 1 TotalCurrency 100 TFBot { Class Scout Skill Hard } } WaveSpawn { TotalCount 1 MaxActive 1 SpawnCount 1 FirstSpawnOutput { Target "wave_start_relay" Action RunScriptCode Param " SpawnEntityFromTable(`point_populator_interface` , { targetname = `pop_interface` }) SpawnEntityFromTable(`logic_relay` , { targetname = `boss_changeattributes_relay` spawnflags = 2 `OnTrigger#1`: `pop_interface,ChangeBotAttributes,Set1,0.1,-1` `OnTrigger#2`: `pop_interface,ChangeBotAttributes,Set2,10.1,-1` `OnTrigger#3`: `pop_interface,ChangeBotAttributes,Set3,18.1,-1` `OnTrigger#4`: `boss_changeattributes_relay,EnableRefire,,24,-1` `OnTrigger#5`: `boss_changeattributes_relay,Trigger,,28.1,-1` }) EntFire(`boss_changeattributes_relay`,`trigger`, ``, 15) " } Where spawnbot FirstSpawnWarningSound "vo/mvm/mght/heavy_mvm_m_domination15.mp3" WaitForAllSpawned "wave01" WaitBeforeStarting 80 TotalCurrency 50 TFBot { Template T_TFBot_Boss_The_Whole_Package } } } }