//System Salvation - by Fortune_Clover #base robot_giant.pop #base robot_standard.pop WaveSchedule { StartingCurrency 600 RespawnWaveTime 5 RespecLimit 1 TextPrintTime 0 BuybacksPerWave 3 MedigunShieldDamage 1 SendBotsToSpectatorImmediately 1 CanBotsAttackWhileInSpawnRoom no Templates { T_TFBot_Engineer_Dispenser_Battle { Class Engineer Name "Supportive Engineer" Skill Expert ExtAttr BuildDispenserAsSentryGun Health 275 CharacterAttributes { "Repair rate decreased" 0.7 "engy building health bonus" 2.0 "engy dispenser radius increased" 40 "build rate bonus" 0.2 //Dispenser only "engineer teleporter build rate multiplier" 5.0 //Nullify stats above "mult dispenser rate" 7 //140 HP per second } } T_TFBot_Engineer_Dispenser_Battle_TeleIn { Class Engineer Name "Supportive Engineer" Skill Expert Health 300 ExtAttr BuildDispenserAsSentryGun Item "The Trencher's Topper" Attributes TeleportToHint CharacterAttributes { "Repair rate decreased" 0.7 "engy building health bonus" 2.0 "engy dispenser radius increased" 40 "build rate bonus" 0.2 //Dispenser only "engineer teleporter build rate multiplier" 5.0 //Nullify stats above "mult dispenser rate" 7 //140 HP per second } } T_TFBot_Sniper_Shield { Class Sniper ClassIcon sniper_armored Skill Hard Attributes SpawnWithFullCharge Name "Barrier Sniper" MaxVisionRange 2500 Item "harvest_sniperrifle_wildwood" Item "The Quick-Fix" ItemAttributes { ItemName "The Quick-Fix" "generate rage on heal" 1 "heal rate bonus" 0.0 "is_passive_weapon" 1 } ItemModel { ItemName "The Quick-Fix" Model "models/weapons/c_models/c_sniperrifle/c_sniperrifle_festivizer.mdl" } FireWeapon { Delay 1 Cooldown 3 Repeats 0 Duration 0.6 Type "Special" //Activate Shield } CharacterAttributes { "bot medic uber deploy delay duration" 2000 "increase buff duration" 5 } } //Giant T_TFBot_Giant_Scout_SuperShotgun { Name "Super Shotgun Scout" Class Scout Health 2000 Skill Expert ClassIcon scout_pop Attributes MiniBoss MaxVisionRange 1100 Item "The Soda Popper" Item "The Whirly Warrior" ItemAttributes { ItemName "The Soda Popper" "faster reload rate" 1.4 "fire rate bonus" -0.2 "bullets per shot bonus" 2.5 "spread penalty" 2 } CharacterAttributes { "move speed bonus" 0.7 "damage force reduction" 0.65 "airblast vulnerability multiplier" 0.65 "override footstep sound set" 5 } } T_TFBot_Giant_Heavyweapons_Fists { Class Heavyweapons ClassIcon heavy_steelfist_crit Health 5500 Skill Expert Name "Giant Steel Gauntlet" Attributes MiniBoss WeaponRestrictions MeleeOnly Item "War Head" Item "Fists of Steel" ItemAttributes { ItemName "Fists of Steel" "damage bonus" 1.4 "fire rate bonus" 0.7 } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.4 "airblast vulnerability multiplier" 0.4 "override footstep sound set" 2 } } T_TFBot_Giant_Medic_Shield { Name "Giant Shield Medic" Class Medic Skill Hard Health 4500 Attributes MiniBoss Attributes SpawnWithFullCharge Attributes ProjectileShield Attributes IgnoreEnemies ClassIcon medic_shield_qf Item "The Quick-Fix" Item "Medic Gatsby" ItemAttributes { ItemName "The Quick-Fix" "heal rate bonus" 200 "ubercharge rate bonus" 0.01 "generate rage on heal" 2 } FireWeapon //Activate Shield { Delay 1 Cooldown 3 Repeats 0 Duration 0.6 Type "Special" } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.4 "airblast vulnerability multiplier" 0.4 "bot medic uber deploy delay duration" 2000 "increase buff duration" 10.0 } } //Bosses T_TFBot_Giant_Heavy_Shield { Class Heavy ClassIcon heavy_armored Health 5000 Attributes MiniBoss Attributes SpawnWithFullCharge Attributes ProjectileShield Name "Shield Gunner" Item "Berliner's Bucket Helm" Item "pyroland_minigun_mistercuddles" Item "The Quick-Fix" ItemAttributes { ItemName "pyroland_minigun_mistercuddles" "minigun spinup time decreased" 0.7 "damage penalty" 1.3 } ItemAttributes { ItemName "The Quick-Fix" "generate rage on heal" 2 "heal rate bonus" 0.0 "is_passive_weapon" 1 "dmg penalty vs players" 2.5 } ItemModel { ItemName "The Quick-Fix" Model "models/weapons/c_models/c_minigun/c_minigun.mdl" } FireWeapon { Delay 1 Cooldown 3 Repeats 0 Duration 0.6 Type "Special" //Activate Shield } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.4 "airblast vulnerability multiplier" 0.4 "bot medic uber deploy delay duration" 2000 "increase buff duration" 25.0 "override footstep sound set" 2 } UseMeleeThreatPrioritization 1 } T_TFBot_Giant_Medic_Shield_Uber { Class Medic ClassIcon medic_shield_uber Health 4500 Skill Expert Name "Giant Shield Uber Medic" Attributes MiniBoss Attributes SpawnWithFullCharge Item "gentlemanne_medigun_highrollers" Item "Private Eye" ItemAttributes { ItemName "gentlemanne_medigun_highrollers" "heal rate bonus" 200 "ubercharge rate bonus" 10 "generate rage on heal" 2 "uber duration bonus" -5 } FireWeapon //Activate Shield { Delay 1 Cooldown 3 Repeats 0 Duration 0.6 Type "Special" } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.4 "airblast vulnerability multiplier" 0.4 "increase buff duration" 10.0 "bot medic uber health threshold" 4999 } } T_TFBot_Boss_Torment_Torpedo { Class Soldier ClassIcon soldier_barrage_homing_nys Health 30000 Attributes MiniBoss Attributes AlwaysCrit Attributes HoldFireUntilFullReload Attributes AlwaysFireWeapon Attributes UseBossHealthBar Scale 1.9 Item "The Rebel Rouser" Item "The Direct Hit" Name "Torpedo Tormenter" HomingRockets { IgnoreDisguisedSpies 1 IgnoreStealthedSpies 1 RocketSpeed 0.85 TurnPower 120 MaxAimError 120 } RocketCustomParticle eyeboss_projectile ItemAttributes { ItemName "The Direct Hit" "damage bonus" 1.5 "damage penalty" 1.0 "fire rate bonus" 0.1 "projectile spread angle penalty" 6 "faster reload rate" 0.2 "clip size upgrade atomic" 8 } CharacterAttributes { "damage force reduction" 0.0 "airblast vulnerability multiplier" 0.0 "override footstep sound set" 3 "move speed bonus" 0.4 "rage giving scale" 0.1 "health regen" 70 } } } Mission { Objective DestroySentries InitialCooldown 20 Where spawnbot_mission_sentrybuster BeginAtWave 1 RunForThisManyWaves 9 CooldownTime 40 TFBot { Template T_TFBot_SentryBuster CharacterAttributes { "rage giving scale" 0.5 } } } Mission //Wave 1 Non-tele in engineer { Objective Engineer Where spawnbot_left BeginAtWave 1 RunForThisManyWaves 1 InitialCooldown 45 CooldownTime 30 DesiredCount 1 TFBot { Template T_TFBot_Engineer_Sentry_Tele_Battle } } Mission //Wave 1 Sniper { Objective Sniper Where spawnbot_mission_sniper BeginAtWave 1 RunForThisManyWaves 1 InitialCooldown 40 CooldownTime 50 DesiredCount 2 TFBot { Template T_TFBot_Sniper } } Mission //Wave 2 Barrier Sniper { Objective Sniper Where spawnbot_mission_sniper BeginAtWave 2 RunForThisManyWaves 1 InitialCooldown 55 CooldownTime 60 DesiredCount 1 TFBot { Template T_TFBot_Sniper_Shield } } Mission //Wave 3 sentry only engineer { Objective Engineer Where spawnbot_all BeginAtWave 3 RunForThisManyWaves 1 InitialCooldown 35 CooldownTime 30 DesiredCount 4 TFBot { Template T_TFBot_Engineer_Sentry_Battle } } Mission //Wave 3 Barrier Sniper { Objective Sniper Where spawnbot_mission_sniper BeginAtWave 3 RunForThisManyWaves 1 InitialCooldown 50 CooldownTime 35 DesiredCount 1 TFBot { Template T_TFBot_Sniper_Shield } } Mission //Wave 3,4,5 Spy { Objective Spy Where spawnbot_mission_spy BeginAtWave 3 RunForThisManyWaves 3 InitialCooldown 20 CooldownTime 35 DesiredCount 3 TFBot { Template T_TFBot_Spy } } Mission //Wave 5 Barrier Sniper { Objective Sniper Where spawnbot_mission_sniper BeginAtWave 5 RunForThisManyWaves 1 InitialCooldown 25 CooldownTime 55 DesiredCount 1 TFBot { Template T_TFBot_Sniper_Shield } } Mission //Wave 6 Non-tele in supportive engineer { Objective Engineer Where spawnbot_all BeginAtWave 6 RunForThisManyWaves 1 InitialCooldown 40 CooldownTime 35 DesiredCount 1 TFBot { Template T_TFBot_Engineer_Sentry_Battle_TeleIn } } Mission //Wave 7 Spy { Objective Spy Where spawnbot_mission_spy BeginAtWave 7 RunForThisManyWaves 1 InitialCooldown 20 CooldownTime 40 DesiredCount 4 TFBot { Template T_TFBot_Spy } } Wave { WaitWhenDone 65 Checkpoint Yes StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } Explanation { Line "{green}-------------------------------------------------------------------------" Line "{red}Warning! You only may buyback {yellow}3 {red}times per wave." Line "{red}You also can only refund once!" Line "{green}-------------------------------------------------------------------------" } WaveSpawn { TotalCurrency 700 TotalCount 50 MaxActive 6 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 0.6 Where spawnbot RandomChoice { TFBot { Class Demoman Skill Hard } TFBot { Class Demoman Skill Hard } TFBot { Class Demoman Skill Hard } TFBot { Class Demoman Skill Hard } TFBot { Class Demoman Skill Hard } TFBot { Class Demoman Skill Hard } TFBot { Class Demoman Skill Hard } TFBot { Class Demoman Skill Hard } TFBot { Class Demoman Skill Hard } TFBot { Class Demoman Skill Hard } TFBot { Class Demoman Skill Hard } TFBot { Class Demoman Skill Hard } TFBot { Class Demoman Skill Hard } TFBot { Template T_TFBot_Demoman_Samurai } } } WaveSpawn { TotalCurrency 300 TotalCount 50 MaxActive 4 SpawnCount 1 Support 1 WaitBeforeStarting 6 WaitBetweenSpawns 2 Where spawnbot TFBot { Template T_TFBot_Medic_Bigheal CharacterAttributes { "mod weapon blocks healing" 1 } } } } Wave { WaitWhenDone 65 Checkpoint Yes StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } Explanation { Line "{green}-------------------------------------------------------------------------" Line "{yellow}Note: The {blue}Projectile Shield {yellow} from robots can deal damage" Line "{yellow}to anyone come close!" Line "{green}-------------------------------------------------------------------------" } WaveSpawn { Name "2A" TotalCurrency 100 TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 0 Where spawnbot Tank { Health 25000 Name tankboss Speed 65 StartingPathTrackNode tankpath_right OnKilledOutput { Target boss_dead_relay Action Trigger } OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn { Name "2B" TotalCurrency 100 TotalCount 1 MaxActive 1 SpawnCount 1 WaitForAllDead 2A WaitBeforeStarting 0 WaitBetweenSpawns 0 Where spawnbot Tank { Health 25000 Name tankboss Speed 65 StartingPathTrackNode tankpath_left OnKilledOutput { Target boss_dead_relay Action Trigger } OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn { TotalCurrency 400 TotalCount 12 MaxActive 4 SpawnCount 3 WaitBeforeStarting 8 WaitBetweenSpawns 18 Where spawnbot Squad { TFBot { Template T_TFBot_Giant_Soldier_Crit } TFBot { Template T_TFBot_Medic_QuickUber CharacterAttributes { "uber duration bonus" 4 } } TFBot { Template T_TFBot_Medic_QuickUber CharacterAttributes { "uber duration bonus" 4 } } } } WaveSpawn { TotalCurrency 200 TotalCount 50 MaxActive 6 SpawnCount 2 WaitBeforeStarting 4 WaitBetweenSpawns 1 Support 1 Where spawnbot_invasion Squad { TFBot { Template T_TFBot_Sniper_Huntsman } TFBot { Class Pyro Skill Hard } } } } Wave //500 credits { WaitWhenDone 65 Checkpoint Yes StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } WaveSpawn { Name "3A" TotalCurrency 100 TotalCount 2 MaxActive 2 SpawnCount 1 WaitBeforeStarting 2 WaitBetweenSpawns 12 Where spawnbot TFBot { Template T_TFBot_Giant_Heavyweapons_Fists } } WaveSpawn { Name "3B" TotalCurrency 100 TotalCount 2 MaxActive 2 SpawnCount 2 WaitForAllSpawned 3A WaitBeforeStarting 11 WaitBetweenSpawns 0 Where spawnbot Squad { TFBot { Template T_TFBot_Giant_Heavyweapons_Fists } TFBot { Template T_TFBot_Giant_Medic_Regen } } } WaveSpawn { Name "3C" TotalCurrency 100 TotalCount 2 MaxActive 2 SpawnCount 1 WaitForAllDead 3B WaitBeforeStarting 0 WaitBetweenSpawns 15 Where spawnbot TFBot { Template T_TFBot_Giant_Soldier_RocketShotgun } } WaveSpawn { Name "3D" TotalCurrency 100 TotalCount 2 MaxActive 2 SpawnCount 2 WaitForAllSpawned 3C WaitBeforeStarting 16 WaitBetweenSpawns 0 Where spawnbot Squad { TFBot { Template T_TFBot_Giant_Soldier_RocketShotgun } TFBot { Template T_TFBot_Giant_Medic_Regen } } } WaveSpawn { Name "3-Support" TotalCurrency 100 TotalCount 50 MaxActive 3 SpawnCount 1 Support 1 WaitBeforeStarting 0 WaitBetweenSpawns 1.3 Where spawnbot_all TFBot { Template T_TFBot_Heavyweapons_Fist } } } Wave { WaitWhenDone 65 Checkpoint Yes StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } WaveSpawn { Name "4A-1" TotalCurrency 150 TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 0 Where spawnbot Tank { Health 20000 Name tankboss Speed 80 StartingPathTrackNode tankpath_same OnKilledOutput { Target boss_dead_relay Action Trigger } OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn { Name "4A-2" TotalCurrency 150 TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 0 Where spawnbot Tank { Health 18000 Name tankboss Speed 80 StartingPathTrackNode tankpath_back OnKilledOutput { Target boss_dead_relay Action Trigger } OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn { Name "4B" TotalCurrency 500 TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 30 WaitBetweenSpawns 0 FirstSpawnWarningSound "vo/mvm/mght/heavy_mvm_m_specialweapon04.mp3" DoneWarningSound "vo/mvm/mght/heavy_mvm_m_revenge15.mp3" Where spawnbot TFBot { Template T_TFBot_Giant_Heavy_Shield Attributes UseBossHealthBar Health 12000 } } WaveSpawn { Name "4-Support" TotalCurrency 200 TotalCount 50 MaxActive 9 SpawnCount 1 Support 1 WaitBeforeStarting 3 WaitBetweenSpawns 0 Where spawnbot_all TFBot { Class Scout ClassIcon scout_pistol WeaponRestrictions SecondaryOnly Skill Expert } } } Wave { WaitWhenDone 65 Checkpoint Yes StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } WaveSpawn { TotalCurrency 200 TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 15 WaitBetweenSpawns 0 Where spawnbot Tank { Health 24000 Name tankboss Speed 75 StartingPathTrackNode tankpath_alt OnKilledOutput { Target boss_dead_relay Action Trigger } OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn { Name "5-Support" TotalCurrency 200 TotalCount 50 MaxActive 3 SpawnCount 1 Support 1 WaitBeforeStarting 3 WaitBetweenSpawns 0 Where spawnbot_invasion TFBot { Class Heavy } } WaveSpawn { TotalCurrency 600 TotalCount 30 MaxActive 12 SpawnCount 10 WaitBeforeStarting 0 WaitBetweenSpawns 20 Where spawnbot Squad { TFBot { Template T_TFBot_Soldier_BurstFire } TFBot { Template T_TFBot_Giant_Medic_Regen } TFBot { Class Pyro Skill Expert Attributes AlwaysFireWeapon } TFBot { Class Pyro Skill Expert Attributes AlwaysFireWeapon } TFBot { Class Pyro Skill Expert Attributes AlwaysFireWeapon } TFBot { Class Pyro Skill Expert Attributes AlwaysFireWeapon } TFBot { Class Pyro Skill Expert Attributes AlwaysFireWeapon } TFBot { Class Pyro Skill Expert Attributes AlwaysFireWeapon } TFBot { Class Pyro Skill Expert Attributes AlwaysFireWeapon } TFBot { Class Pyro Skill Expert Attributes AlwaysFireWeapon } } } } Wave { WaitWhenDone 65 Checkpoint Yes StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } WaveSpawn { Name "6A-1" TotalCurrency 200 TotalCount 8 MaxActive 4 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 16 Where spawnbot TFBot { Template T_TFBot_Giant_Scout_SuperShotgun } } WaveSpawn { Name "6A-2" TotalCurrency 150 TotalCount 35 MaxActive 7 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 1 Where spawnbot TFBot { Class Demoman Skill Expert Attributes AlwaysCrit } } WaveSpawn { Name "6B-1" TotalCurrency 200 TotalCount 40 MaxActive 8 SpawnCount 2 WaitForAllSpawned 6A-2 WaitBeforeStarting 0 WaitBetweenSpawns 2.5 Where spawnbot_invasion Squad { TFBot { Template T_TFBot_Heavyweapons_Fist } TFBot { Template T_TFBot_Medic_QuickUber } } } WaveSpawn { Name "6B-2" TotalCurrency 200 TotalCount 4 MaxActive 3 SpawnCount 2 WaitForAllSpawned 6A-2 WaitBeforeStarting 19 WaitBetweenSpawns 12 Where spawnbot Squad { TFBot { Template T_TFBot_Giant_Heavyweapons_Deflector } TFBot { Template T_TFBot_Giant_Medic_Shield } } } WaveSpawn { Name "6C" TotalCurrency 200 TotalCount 2 MaxActive 2 SpawnCount 2 WaitForAllSpawned 6B-1 WaitBeforeStarting 7 WaitBetweenSpawns 0 Where spawnbot Squad { TFBot { Template T_TFBot_Giant_Heavyweapons_Deflector Attributes AlwaysCrit } TFBot { Template T_TFBot_Giant_Medic_Shield } } } WaveSpawn { Name "6-Support" TotalCurrency 0 TotalCount 50 MaxActive 4 SpawnCount 1 Support 1 WaitBeforeStarting 0 WaitBetweenSpawns 5 Where spawnbot_all TFBot { Template T_TFBot_Soldier_Extended_Concheror } } } Wave { WaitWhenDone 65 Checkpoint Yes StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } WaveSpawn { Name "7A" TotalCurrency 150 TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 0 Where spawnbot Tank { Health 50000 Name boss_tankturret Speed 45 Skin 1 StartingPathTrackNode tankpath_right OnKilledOutput { Target boss_dead_relay Action Trigger } OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn { Name "7B" TotalCurrency 0 TotalCount 2 MaxActive 2 SpawnCount 2 WaitForAllDead 7A WaitBeforeStarting 6 WaitBetweenSpawns 0 StartWaveWarningSound "vo/announcer_security_warning.mp3" FirstSpawnWarningSound "vo/mvm/mght/soldier_mvm_m_dominationscout05.mp3" DoneWarningSound "vo/mvm/mght/soldier_mvm_m_paincrticialdeath02.mp3" Where spawnbot Squad { TFBot { Template T_TFBot_Boss_Torment_Torpedo } TFBot { Template T_TFBot_Giant_Medic_Shield_Uber } } } WaveSpawn { Name "7-Support" TotalCurrency 0 TotalCount 20 MaxActive 1 SpawnCount 1 Support 1 WaitBeforeStarting 5 WaitBetweenSpawnsAfterDeath 15 Where spawnbot TFBot { Template T_TFBot_Giant_Scout_Fast } } } }