#base robot_giant.pop #base robot_standard.pop #base robot_gatebot.pop population { StartingCurrency 800 RespawnWaveTime 4 CanBotsAttackWhileInSpawnRoom no AddSentryBusterWhenDamageDealtExceeds 10000 AddSentryBusterWhenKillCountExceeds 10 CustomWeapon { "ImGonnaNukeFranceFinally" { OriginalItemName "tf_weapon_rocketlauncher" "mult projectile scale" 2 "custom projectile size" 2 "projectile gravity" 50 "projectile speed decreased" 0.15 "blast radius increased" 10 "damage bonus" 16 "mult dmg before distance" 0.05 //Seemingly non-functional, look into this? "mult dmg before distance specify" 400 "blast dmg to self increased" 0 "self dmg push force decreased" 0 "projectile no deflect" 1 "projectile health" 100 //Nerf this if the team is too oblivious to this "use large smoke explosion" 1 "custom weapon fire sound" "=55|weapons\rpg\rocketfire1.wav" //Probably need to change these sounds "custom impact sound" "=75|weapons\explode4.wav" //This too } } Mission { Objective DestroySentries Where spawnbot BeginAtWave 1 RunForThisManyWaves 7 InitialCooldown 30 CooldownTime 45 DesiredCount 1 TFBot { Template T_TFBot_SentryBuster } } Mission { Objective Sniper Where spawnbot_left BeginAtWave 3 RunForThisManyWaves 1 InitialCooldown 30 CooldownTime 25 DesiredCount 2 TFBot { Template T_TFBot_Sniper Addcond { Index 92 } } } // Mission // { // Objective Engineer // Where spawnbot // BeginAtWave 2 // RunForThisManyWaves 2 // InitialCooldown 30 // CooldownTime 45 // DesiredCount 1 // TFBot // { // Template T_TFBot_Engineer_Sentry_Teleporter // } // } PointTemplates { finalsubPT { logic_relay { "targetname" "FinalSubCheck" "OnTrigger" "finalsubmath,Add,1,0,-1" } math_counter { "targetname" "finalsubmath" "min" "0" "max" "2" "OnHitMax" "tank_boss,RemoveHealth,999999,0,-1" } } MannpowerRemoval { logic_auto { "OnMapSpawn" "wave_finished_relay,AddOutput,OnTrigger MPTrigger:Enable::0:-1,0,-1" "OnMapSpawn" "wave_finished_relay,AddOutput,OnTrigger MPTrigger:Disable::1:-1,0,-1" "OnMapSpawn" "wave_finished_relay,AddOutput,OnTrigger mannpower_kill:Trigger::0:-1,0,-1" } logic_relay { "targetname" "mannpower_kill" "OnTrigger" "item_powerup_rune,kill,,0,-1" } trigger_remove_tf_player_condition { StartDisabled 1 "targetname" "MPTrigger" "condition" "90" "origin" "2022 3612 704" "mins" "9999 9999 9999" "maxs" "-9999 -9999 -9999" "spawnflags" 64 } trigger_remove_tf_player_condition { StartDisabled 1 "targetname" "MPTrigger" "condition" "91" "origin" "2022 3612 704" "mins" "9999 9999 9999" "maxs" "-9999 -9999 -9999" "spawnflags" 64 } trigger_remove_tf_player_condition { StartDisabled 1 "targetname" "MPTrigger" "condition" "92" "origin" "2022 3612 704" "mins" "9999 9999 9999" "maxs" "-9999 -9999 -9999" "spawnflags" 64 } trigger_remove_tf_player_condition { StartDisabled 1 "targetname" "MPTrigger" "condition" "93" "origin" "2022 3612 704" "mins" "9999 9999 9999" "maxs" "-9999 -9999 -9999" "spawnflags" 64 } trigger_remove_tf_player_condition { StartDisabled 1 "targetname" "MPTrigger" "condition" "94" "origin" "2022 3612 704" "mins" "9999 9999 9999" "maxs" "-9999 -9999 -9999" "spawnflags" 64 } trigger_remove_tf_player_condition { StartDisabled 1 "targetname" "MPTrigger" "condition" "95" "origin" "2022 3612 704" "mins" "9999 9999 9999" "maxs" "-9999 -9999 -9999" "spawnflags" 64 } trigger_remove_tf_player_condition { StartDisabled 1 "targetname" "MPTrigger" "condition" "96" "origin" "2022 3612 704" "mins" "9999 9999 9999" "maxs" "-9999 -9999 -9999" "spawnflags" 64 } trigger_remove_tf_player_condition { StartDisabled 1 "targetname" "MPTrigger" "condition" "97" "origin" "2022 3612 704" "mins" "9999 9999 9999" "maxs" "-9999 -9999 -9999" "spawnflags" 64 } trigger_remove_tf_player_condition { StartDisabled 1 "targetname" "MPTrigger" "condition" "103" "origin" "2022 3612 704" "mins" "9999 9999 9999" "maxs" "-9999 -9999 -9999" "spawnflags" 64 } trigger_remove_tf_player_condition { StartDisabled 1 "targetname" "MPTrigger" "condition" "109" "origin" "2022 3612 704" "mins" "9999 9999 9999" "maxs" "-9999 -9999 -9999" "spawnflags" 64 } trigger_remove_tf_player_condition { StartDisabled 1 "targetname" "MPTrigger" "condition" "110" "origin" "2022 3612 704" "mins" "9999 9999 9999" "maxs" "-9999 -9999 -9999" "spawnflags" 64 } } MissionName { point_populator_interface { "targetname" "pop_interface" } filter_activator_tfteam { "targetname" "redteam" "teamnum" "2" } filter_activator_tfteam { "targetname" "blueteam" "teamnum" "3" } } bosswavelogic { logic_relay //Should probably change a few of the sounds so it's not just the same as electrolysis { "targetname" "boss_intro" "OnTrigger" "tf_gamerules,PlayVO,mvm/giant_heavy/giant_heavy_entrance.wav,2.1,-1" "OnTrigger" "tf_gamerules,PlayVO,mvm/giant_heavy/giant_heavy_entrance.wav,2.1,-1" "OnTrigger" "tf_gamerules,PlayVO,npc\combine_gunship\ping_patrol.wav,2.9,-1" "OnTrigger" "player,$DisplayTextChat,{yellow}///NOW PLAYING: OVERPRODUCTIVE SHOWDOWN BY GOODBOBFR///,0.5,-1" } ambient_generic { "targetname" "bosstime" "health" "10" "pitch" "100" "spawnflags" "17" "message" "#bossrushdemo.mp3" } logic_relay { "targetname" "phase2swaptohorde" "OnTrigger" "canIcount2timesIDK,Add,1,0,-1" "OnTrigger" "NukingFrance,FireOnce,,0,-1" } logic_relay { "targetname" "phase2swaptonuke" "OnTrigger" "reinforcements_send,Trigger,,0,-1" "OnTrigger" "pop_interface,ChangeBotAttributes,Phase2-NukeSpawner,0,-1" } logic_relay { "targetname" "GoToPhase3Idiot" "OnTrigger" "pop_interface,ChangeBotAttributes,Phase3-Transition,0,-1" } logic_relay { "targetname" "TruePhase3" "OnTrigger" "pop_interface,ChangeBotAttributes,Phase3-RocketRamming,5,-1" } logic_relay { "targetname" "Phase3Ramming" "OnTrigger" "pop_interface,ChangeBotAttributes,Phase3-RocketRamming,0,-1" } logic_relay { "targetname" "Phase3Summons" "OnTrigger" "pop_interface,ChangeBotAttributes,Phase3-MegaReinforce,0,-1" } math_counter { "targetname" "canIcount2timesIDK" "max" "2" "min" "0" "startvalue" "0" "OnHitMax" "okreallyswaptohorde,Trigger,,0,-1" "OnHitMax" "!self,SetValue,0,0,-1" } logic_relay { "targetname" "okreallyswaptohorde" "OnTrigger" "pop_interface,ChangeBotAttributes,Phase2-HordeSpawner,0,-1" } } bossintrotext { OnSpawnOutput { Target "boss_intro" Action "Trigger" Delay 0 } OnSpawnOutput { Target "bosstime" Action "PlaySound" Delay 0.5 } OnSpawnOutput { Target "upper_text" Action "Display" Delay 1 } OnSpawnOutput { Target "text_lower" Action "Display" Delay 3.1 } game_text { "origin" "1984 1984 99999" "targetname" "upper_text" "message" "ECOLOGIC DISRUPTERS, LEAD MINING TWINS" "x" "-1" "y" "0.4" "spawnflags" "1" "effect" "2" "channel" "2" "color" "255 255 255" "fxtime" "0.2" "fadeout" "1" //"fadein" "0" "holdtime" "5" } game_text { "origin" "1208 2036 99999" "targetname" "text_lower" "message" "THE TECTONIC TERRORIZERS" "x" "-1" "y" "0.45" "channel" "1" "spawnflags" "1" "color" "155 155 255" "fadein" "0.2" "fadeout" "1" "holdtime" "3.8" } } bosstemplates1 { OnParentKilledOutput { Target GoToPhase3Idiot Action Trigger } } bosstemplates2 { NoFixup 1 info_target { "targetname" "bossteleport" } tf_point_weapon_mimic //Make the robots :steamhappy: from how effective this is on randoms { "targetname" "NukingFrance" "origin" "0 0 256" "angles" "-90 0 0" "teamnum" "3" "$weaponname" "ImGonnaNukeFranceFinally" } logic_relay { "targetname" "RocketRamRelay" "OnTrigger" "WhoopsYouHaveToPutTheRocketUPYOUR,Enable,,1,-1" "OnTrigger" "WhoopsYouHaveToPutTheRocketUPYOUR,Disable,,6,-1" "OnTrigger" "KleinerScreamAAAAA,Enable,,1,-1" "OnTrigger" "KleinerScreamAAAAA,Disable,,6,-1" "OnTrigger" "pop_interface,ChangeBotAttributes,Phase3-MegaReinforce,6,-1" } trigger_hurt { "spawnflags" "3" "targetname" "WhoopsYouHaveToPutTheRocketUPYOUR" "origin" "0 0 0" "filtername" "redteam" "damage" "100" "damagetype" "16" "mins" "-128 -128 -64" "maxs" "128 128 128" StartDisabled 1 } trigger_catapult { "spawnflags" "3" "targetname" "KleinerScreamAAAAA" "origin" "0 0 0" "filtername" "redteam" "launchDirection" "-90 0 0" "playerSpeed" "2048" "mins" "-128 -128 -64" "maxs" "128 128 128" StartDisabled 1 } } reinforcementtemplates { NoFixup 1 filter_tf_bot_has_tag { "targetname" "teletag" "tags" "reinforcement" } trigger_teleport { "spawnflags" "64" "targetname" "reinforcement_tele" "origin" "6580 1604 704" "filter" "teletag" "target" "bossteleport" "mins" "-250 -250 -150" "maxs" "250 250 250" StartDisabled 1 } trigger_remove_tf_player_condition { "spawnflags" "64" "targetname" "reinforcement_tele" "origin" "6580 1604 704" "filter" "teletag" "condition" "87" "mins" "-9999 -9999 -9999" "maxs" "9999 9999 9999" StartDisabled 1 } filter_tf_bot_has_tag { "targetname" "teletag2" "tags" "reinforcement2" } trigger_teleport { "spawnflags" "64" "targetname" "reinforcement2_tele" "origin" "6580 1604 704" "filter" "teletag2" "target" "bossteleport" "mins" "-250 -250 -150" "maxs" "250 250 250" StartDisabled 1 } trigger_remove_tf_player_condition { "spawnflags" "64" "targetname" "reinforcement2_tele" "origin" "6580 1604 704" "filter" "teletag2" "condition" "87" "mins" "-9999 -9999 -9999" "maxs" "9999 9999 9999" StartDisabled 1 } logic_relay { "targetname" "reinforcements_send" "OnTrigger" "reinforcement_tele,Enable,,3,-1" "OnTrigger" "reinforcement_tele,Disable,,4,-1" } logic_relay { "targetname" "reinforcements_send2" "OnTrigger" "reinforcement2_tele,Enable,,3,-1" "OnTrigger" "reinforcement2_tele,Disable,,4,-1" "OnTrigger" "pop_interface,ChangeBotAttributes,Phase3-RocketRamming,4,-1" } } } SpawnTemplate MissionName SpawnTemplate finalsubPT SpawnTemplate MannpowerRemoval SpawnTemplate reinforcementtemplates SpawnTemplate bosswavelogic Templates { RenfeHorseBossNumberTwoFeaturingTheSchizoBossImplementation { Class Soldier Attributes "UseBossHealthBar" Attributes "MiniBoss" Scale 1.8 Health 55000 SpawnTemplate bosstemplates1 ClassIcon soldier_head_nys Action Mobber UseHumanAnimations 1 CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.4 "airblast vulnerability multiplier" 0.4 "override footstep sound set" 3 "Projectile speed increased" 0.65 } } TheSchizoBossImplementationThatWillMakeTableScreamFromHowBadItIsFeaturingRenfe { Class Soldier Attributes "UseBossHealthBar" Attributes "MiniBoss" Scale 1.8 Health 45000 SpawnTemplate bosstemplates2 ClassIcon soldier_head_nys WeaponRestrictions PrimaryOnly Action Mobber UseHumanAnimations 1 Taunt //Taunt periodically { Delay 7 //Time before the first taunt starts (Default: 10) Cooldown 0.1 //Time between each taunt (Default: 10) Repeats 1 //How many times the bot should taunt in total (Default: 0 - Infinite) Duration 5 //Duration of a looping taunt (Default: 0.1) Name "Taunt: Star-Spangled Strategy" //If set, uses this item taunt instead of default } EventChangeAttributes { Phase1-HordeSpawner { CharacterAttributes { "faster reload rate" 0.2 "fire rate bonus" 0.5 "fire input on taunt" "reinforcements_send^Trigger^^0" } Taunt //Taunt periodically { Delay 20 //Time before the first taunt starts (Default: 10) Cooldown 40 //Time between each taunt (Default: 10) Repeats 0 //How many times the bot should taunt in total (Default: 0 - Infinite) Duration 5 //Duration of a looping taunt (Default: 0.1) Name "Taunt: The Profane Puppeteer" //If set, uses this item taunt instead of default // IfNoTarget 1 //When set to 1, this task activates only when the bot does not have a target (Default 0 - Always activate) //IfHealthBelow 100 //When set, the task activates only when the bot health is below specified value //IfHealthAbove 100 //When set, the task activates only when the bot health is above specified value // MaxTargetRange 150 // If set, the task activates only when the target is within specified units away // MinTargetRange 50 // If set, the task activates only when the target is more than specified units away } } Phase2-NukeSpawner //For the love of mvm_watermine_rc12, please add a tooltip to shoot the rockets { CharacterAttributes { "faster reload rate" 0.2 "fire rate bonus" 0.5 "fire input on taunt" "phase2swaptohorde^Trigger^^0" } Taunt //Taunt periodically { Delay 5 //Time before the first taunt starts (Default: 10) Cooldown 10 //Time between each taunt (Default: 10) Repeats 0 //How many times the bot should taunt in total (Default: 0 - Infinite) Duration 5 //Duration of a looping taunt (Default: 0.1) Name "Taunt: Rocket Jockey" //If set, uses this item taunt instead of default // IfNoTarget 1 //When set to 1, this task activates only when the bot does not have a target (Default 0 - Always activate) //IfHealthBelow 100 //When set, the task activates only when the bot health is below specified value //IfHealthAbove 100 //When set, the task activates only when the bot health is above specified value // MaxTargetRange 150 // If set, the task activates only when the target is within specified units away // MinTargetRange 50 // If set, the task activates only when the target is more than specified units away } } Phase2-HordeSpawner { CharacterAttributes { "faster reload rate" 0.2 "fire rate bonus" 0.5 "fire input on taunt" "phase2swaptonuke^Trigger^^0" } Taunt //Taunt periodically { Delay 5 //Time before the first taunt starts (Default: 10) Cooldown 10 //Time between each taunt (Default: 10) Repeats 0 //How many times the bot should taunt in total (Default: 0 - Infinite) Duration 5 //Duration of a looping taunt (Default: 0.1) Name "Taunt: The Profane Puppeteer" //If set, uses this item taunt instead of default // IfNoTarget 1 //When set to 1, this task activates only when the bot does not have a target (Default 0 - Always activate) //IfHealthBelow 100 //When set, the task activates only when the bot health is below specified value //IfHealthAbove 100 //When set, the task activates only when the bot health is above specified value // MaxTargetRange 150 // If set, the task activates only when the target is within specified units away // MinTargetRange 50 // If set, the task activates only when the target is more than specified units away } } Phase3-Transition { CharacterAttributes { "max health additive bonus" -20200 "health regen" 5000 "fire input on taunt" "TruePhase3^Trigger^^0" } Taunt //Taunt periodically { Delay 0 //Time before the first taunt starts (Default: 10) Cooldown 0.1 //Time between each taunt (Default: 10) Repeats 0 //How many times the bot should taunt in total (Default: 0 - Infinite) Duration 5 //Duration of a looping taunt (Default: 0.1) Name "Taunt: Mourning Mercs" //If set, uses this item taunt instead of default // IfNoTarget 1 //When set to 1, this task activates only when the bot does not have a target (Default 0 - Always activate) //IfHealthBelow 100 //When set, the task activates only when the bot health is below specified value //IfHealthAbove 100 //When set, the task activates only when the bot health is above specified value // MaxTargetRange 150 // If set, the task activates only when the target is within specified units away // MinTargetRange 50 // If set, the task activates only when the target is more than specified units away } } Phase3-RocketRamming { Attributes "AlwaysCrit" CharacterAttributes { "faster reload rate" 0.2 "fire rate bonus" 0.5 "fire input on taunt" "RocketRamRelay^Trigger^^0" "max health additive bonus" -20200 "taunt move speed" 3 } Taunt //Taunt periodically { Delay 5 //Time before the first taunt starts (Default: 10) Cooldown 10 //Time between each taunt (Default: 10) Repeats 0 //How many times the bot should taunt in total (Default: 0 - Infinite) Duration 5 //Duration of a looping taunt (Default: 0.1) Name "Taunt: Rocket Jockey" //If set, uses this item taunt instead of default // IfNoTarget 1 //When set to 1, this task activates only when the bot does not have a target (Default 0 - Always activate) //IfHealthBelow 100 //When set, the task activates only when the bot health is below specified value //IfHealthAbove 100 //When set, the task activates only when the bot health is above specified value // MaxTargetRange 150 // If set, the task activates only when the target is within specified units away // MinTargetRange 50 // If set, the task activates only when the target is more than specified units away } } Phase3-MegaReinforce { Attributes "AlwaysCrit" CharacterAttributes { "faster reload rate" 0.2 "fire rate bonus" 0.5 "fire input on taunt" "reinforcements_send2^Trigger^^0" "max health additive bonus" -20200 } Taunt //Taunt periodically { Delay 5 //Time before the first taunt starts (Default: 10) Cooldown 10 //Time between each taunt (Default: 10) Repeats 0 //How many times the bot should taunt in total (Default: 0 - Infinite) Duration 5 //Duration of a looping taunt (Default: 0.1) Name "Taunt: The Profane Puppeteer" //If set, uses this item taunt instead of default // IfNoTarget 1 //When set to 1, this task activates only when the bot does not have a target (Default 0 - Always activate) //IfHealthBelow 100 //When set, the task activates only when the bot health is below specified value //IfHealthAbove 100 //When set, the task activates only when the bot health is above specified value // MaxTargetRange 150 // If set, the task activates only when the target is within specified units away // MinTargetRange 50 // If set, the task activates only when the target is more than specified units away } } } ChangeAttributes { Delay 0 Repeats 1 IfHealthBelow 45000 Name "Phase1-HordeSpawner" } ChangeAttributes { Delay 0 Repeats 1 IfHealthBelow 40000 Name "Phase2-NukeSpawner" } CharacterAttributes //BaseAttributes { "move speed bonus" 0.5 "damage force reduction" 0.4 "airblast vulnerability multiplier" 0.4 "override footstep sound set" 3 "Projectile speed increased" 0.65 } } GiantHeavyDeflector { Class Heavyweapons Name "Giant Deflector Heavy" ClassIcon heavy_deflector Skill Expert Health 5000 Scale 1.8 WeaponRestrictions PrimaryOnly Attributes MiniBoss Item "The U-clank-a" CharacterAttributes { "move speed bonus" 0.4 "damage force reduction" 0.3 "airblast vulnerability multiplier" 0.4 "airblast vertical vulnerability multiplier" 0.1 "rage giving scale" 0.9 "override footstep sound set" 2 "damage bonus" 1.2 "attack projectiles" 2 } } GiantHeavyHOK { Class Heavyweapons Name "Giant Heal-on-kill Heavy" ClassIcon heavy_healonkill Skill Expert Health 5000 Scale 1.8 WeaponRestrictions PrimaryOnly Attributes MiniBoss Item "The U-clank-a" CharacterAttributes { "move speed bonus" 0.4 "damage force reduction" 0.3 "airblast vulnerability multiplier" 0.4 "airblast vertical vulnerability multiplier" 0.1 "rage giving scale" 0.9 "override footstep sound set" 2 "heal on kill" 2000 } } GiantHeavyHOKDeflector { Class Heavyweapons Name "Giant Deflector Heavy" ClassIcon heavy_deflector_healonkill Skill Expert Health 5000 Scale 1.8 WeaponRestrictions PrimaryOnly Attributes MiniBoss Item "The U-clank-a" CharacterAttributes { "move speed bonus" 0.4 "damage force reduction" 0.3 "airblast vulnerability multiplier" 0.4 "airblast vertical vulnerability multiplier" 0.1 "rage giving scale" 0.9 "override footstep sound set" 2 "damage bonus" 1.2 "attack projectiles" 2 "heal on kill" 2000 } } GiantUberMedic { Class Medic Name "Giant Uber Medic" ClassIcon medic_uber_giant Skill Expert Health 4500 Attributes SpawnWithFullCharge WeaponRestrictions SecondaryOnly Attributes MiniBoss CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.6 "airblast vulnerability multiplier" 0.6 "heal rate bonus" 200 // only works on mediguns that have this attribute ie quickfix "bot medic uber health threshold" 1000 } } GiantKritzMedic { Class Medic Name "Giant Kritz Medic" ClassIcon medic_kritz Skill Expert Health 4500 Attributes SpawnWithFullCharge WeaponRestrictions SecondaryOnly Attributes MiniBoss Item "The Kritzkrieg" CharacterAttributes { "uber duration bonus" 999.0 "move speed bonus" 0.5 "damage force reduction" 0.6 "airblast vulnerability multiplier" 0.6 "heal rate bonus" 200 // only works on mediguns that have this attribute ie quickfix } FireWeapon { Delay 1 //Time before the first fire input starts (Default: 10) Cooldown 3 //Time between each fire input (Default: 10) Repeats 0 //How many times should bot use the fire input in total (Default: 0 - Infinite) //IfSeeTarget 1 //When set to 1, this task activates only when the bot can see the target player (Default 0 - Always activate) Duration 0.5 //How long should the button be pressed (Default: 0.1) Type "Secondary" } } GiantShieldMedic { Class Medic Name "Giant Shield Medic" ClassIcon medic_shield_lite Skill Expert Health 4500 Attributes SpawnWithFullCharge WeaponRestrictions SecondaryOnly Attributes MiniBoss Attributes ProjectileShield Attributes SpawnWithFullCharge FireWeapon { Delay 1 //Time before the first fire input starts (Default: 10) Cooldown 3 //Time between each fire input (Default: 10) Repeats 0 //How many times should bot use the fire input in total (Default: 0 - Infinite) //IfSeeTarget 1 //When set to 1, this task activates only when the bot can see the target player (Default 0 - Always activate) Duration 0.5 //How long should the button be pressed (Default: 0.1) Type "Special" } CharacterAttributes { "bot medic uber deploy delay duration" 999999 "generate rage on heal" 2 "heal rate bonus" 2 "move speed bonus" 0.5 "damage force reduction" 0.6 "airblast vulnerability multiplier" 0.6 "heal rate bonus" 200 // only works on mediguns that have this attribute ie quickfix "increase buff duration" 999.0 } } GiantGigaBurst { Class Soldier Name "Giant Burst Fire Soldier" ClassIcon soldier_burstfire_hyper_lite Health 4200 Skill Expert WeaponRestrictions PrimaryOnly Attributes MiniBoss Attributes HoldFireUntilFullReload ItemAttributes { ItemName "TF_WEAPON_ROCKETLAUNCHER" "damage bonus" 2.0 "faster reload rate" 0.4 "fire rate bonus" 0.2 "clip size upgrade atomic" 5.0 } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.4 "airblast vulnerability multiplier" 0.4 "override footstep sound set" 3 "Projectile speed increased" 0.9 } } GiantBisonRapid { Class Soldier Skill Expert Health 3800 ClassIcon soldier_bison_spammer Attributes "MiniBoss" Name "Giant Rapidfire Bison Soldier" WeaponRestrictions SecondaryOnly Item "The Righteous Bison" CharacterAttributes { "fire rate bonus" 0.1 "reload time decreased" 0.1 "move speed bonus" 0.5 "damage force reduction" 0.6 "airblast vulnerability multiplier" 0.6 } } GiantPyroFury { Class Pyro Skill Expert Health 3800 ClassIcon Pyro_dragon_fury Attributes "MiniBoss" Name "Giant Dragon's Fury Pyro" WeaponRestrictions PrimaryOnly Item "The Dragon's Fury" CharacterAttributes { "fire rate bonus" 0.8 "move speed bonus" 0.5 "damage force reduction" 0.6 "airblast vulnerability multiplier" 0.6 } } PyroFury { Class Pyro Skill Hard ClassIcon pyro_dragon_fury Name "Dragon's Fury Pyro" WeaponRestrictions PrimaryOnly Item "The Dragon's Fury" CharacterAttributes { "fire rate bonus" 0.8 } } FamilyBusiness { Class Heavyweapons Skill Hard ClassIcon heavy_family_business Name "Family Business Heavy" WeaponRestrictions SecondaryOnly Item "The Family Business" } } Wave //WAVE 1 - CASH 700 { WaitWhenDone 65 Checkpoint Yes InitWaveOutput { Target init_wave_relay_alt Action Trigger } StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } WaveSpawn { Name Main1 TotalCurrency 150 TotalCount 3 MaxActive 3 SpawnCount 1 Where spawnbot WaitBeforeStarting 0 WaitBetweenSpawns 15 RandomSpawn 1 TFBot { Template T_TFBot_Giant_Scout_Fast Addcond { Index 103 } } } WaveSpawn { Name Main1b TotalCurrency 25 TotalCount 18 MaxActive 8 SpawnCount 2 Where spawnbot_left Where spawnbot WaitBeforeStarting 1 WaitBetweenSpawns 5 RandomSpawn 1 TFBot { Class Soldier Skill Normal } } WaveSpawn { Name Main1 TotalCurrency 25 TotalCount 5 MaxActive 3 SpawnCount 1 Where spawnbot_right WaitBeforeStarting 1 WaitBetweenSpawns 10 RandomSpawn 1 TFBot { Template T_TFBot_Demoman Attributes "AlwaysCrit" } } WaveSpawn { WaitForAllDead Main1 WaitForAllSpawned Main1b Name Main2 TotalCurrency 25 TotalCount 2 MaxActive 2 SpawnCount 2 Where spawnbot WaitBeforeStarting 0 WaitBetweenSpawns 10 RandomSpawn 1 TFBot { Template T_TFBot_Giant_Demo_Burst } } WaveSpawn { WaitForAllDead Main1 WaitForAllSpawned Main1b Name Main2b TotalCurrency 35 TotalCount 5 MaxActive 5 SpawnCount 5 Where spawnbot_flank WaitBeforeStarting 0 WaitBetweenSpawns 10 RandomSpawn 1 TFBot { Class Scout Name "Scout" Skill Hard Attributes "AlwaysCrit" Addcond { Index 96 } } } WaveSpawn { WaitForAllSpawned Main2b Name Main2c TotalCurrency 40 TotalCount 14 MaxActive 8 SpawnCount 2 Where spawnbot_left Where spawnbot_right WaitBeforeStarting 20 WaitBetweenSpawns 2 RandomSpawn 1 TFBot { Template T_TFBot_Demoman_Knight } } WaveSpawn { WaitForAllDead Main2 WaitForAllSpawned Main2c Name Main3 TotalCurrency 150 TotalCount 4 MaxActive 4 SpawnCount 2 Where spawnbot WaitBeforeStarting 0 WaitBetweenSpawns 14 RandomSpawn 1 Squad { TFBot { Class Heavyweapons Name "Heavyweapons" Skill Hard } TFBot { Template GiantUberMedic Name "Crack Dealer" } } } WaveSpawn { WaitForAllDead Main2 WaitForAllSpawned Main2c Name Main3b TotalCurrency 50 TotalCount 12 MaxActive 8 SpawnCount 2 Where spawnbot_left Where spawnbot_right WaitBeforeStarting 0 WaitBetweenSpawns 4 RandomSpawn 1 TFBot { Class Heavyweapons Name "Heavyweapons" Skill Easy } } WaveSpawn { WaitForAllSpawned Main3 Name Main4 TotalCurrency 150 TotalCount 1 MaxActive 1 SpawnCount 1 Where spawnbot WaitBeforeStarting 35 WaitBetweenSpawns 4 RandomSpawn 1 TFBot { Template GiantHeavyHOK Attributes "UseBossHealthBar" Addcond { Index 91 } } } WaveSpawn { WaitForAllDead Main3 WaitForAllSpawned Main3b Name Main4b TotalCurrency 50 TotalCount 5 MaxActive 5 SpawnCount 1 Where spawnbot_left Where spawnbot_right WaitBeforeStarting 0 WaitBetweenSpawns 4.5 RandomSpawn 1 Support 1 TFBot { Class Scout Name "Scout" WeaponRestrictions MeleeOnly ClassIcon scout_bat_nys } } WaveSpawn { TotalCurrency 0 TotalCount 3 MaxActive 3 SpawnCount 3 Where spawnbot_left WaitBeforeStarting 999999 WaitBetweenSpawns 5 RandomSpawn 1 Support 1 Squad { TFBot { Class Soldier ClassIcon powerup_knockout_lite } TFBot { Class Soldier ClassIcon powerup_precision_lite } TFBot { Class Soldier ClassIcon powerup_haste_lite } } } } Wave //WAVE 2 - CASH 800 (Table don't add maxactive 22 challenge impossible) { WaitWhenDone 65 Checkpoint Yes InitWaveOutput { Target init_wave_relay_alt Action Trigger } StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } WaveSpawn { Name Main1 TotalCurrency 800 TotalCount 3 MaxActive 3 SpawnCount 3 Where spawnbot WaitBeforeStarting 0 WaitBetweenSpawns 15 RandomSpawn 1 Squad { TFBot { Template T_TFBot_Giant_Heavyweapons WeaponRestrictions MeleeOnly Name "Joe Biden" Addcond { Index 112 } CharacterAttributes { "move speed bonus" 0.25 } } TFBot { Template GiantUberMedic } TFBot { Template GiantUberMedic } } } WaveSpawn { TotalCurrency 0 TotalCount 3 //# of powerups MaxActive 3 SpawnCount 3 Where spawnbot_left WaitBeforeStarting 999999 WaitBetweenSpawns 5 RandomSpawn 1 Support 1 Squad { TFBot { Class Soldier ClassIcon powerup_knockout_lite //Powerup 1 } TFBot { Class Soldier ClassIcon powerup_precision_lite //Powerup 2 ect. } TFBot { Class Soldier ClassIcon powerup_haste_lite } } } } Wave //WAVE 3 - CASH 700 { WaitWhenDone 65 Checkpoint Yes InitWaveOutput { Target init_wave_relay_main Action Trigger } StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } WaveSpawn { Name Main1 TotalCurrency 150 TotalCount 2 MaxActive 2 SpawnCount 1 Where spawnbot WaitBeforeStarting 0 WaitBetweenSpawns 6 RandomSpawn 1 TFBot { Template T_TFBot_Giant_Soldier_Spammer Addcond { Index 94 } } } WaveSpawn { WaitForAllSpawned Main1 Name Main2 TotalCurrency 50 TotalCount 3 MaxActive 3 SpawnCount 1 Where spawnbot WaitBeforeStarting 20 WaitBetweenSpawns 14 RandomSpawn 1 TFBot { Template T_TFBot_Giant_Heavyweapons Addcond { Index 97 } } } WaveSpawn { WaitForAllSpawned Main1 Name Main2b TotalCurrency 50 TotalCount 18 MaxActive 8 SpawnCount 1 Where spawnbot_flank WaitBeforeStarting 20 WaitBetweenSpawns 1.7 RandomSpawn 1 TFBot { Template T_TFBot_Demoman_Knight Addcond { Index 94 } } } WaveSpawn { WaitForAllDead Main2 WaitForAllSpawned Main2b Name Main3b TotalCurrency 50 TotalCount 20 MaxActive 10 SpawnCount 5 Where spawnbot_left WaitBeforeStarting 5 WaitBetweenSpawns 8 RandomSpawn 1 TFBot { Template PyroFury } } WaveSpawn { WaitForAllDead Main2 WaitForAllSpawned Main2b Name Main3b TotalCurrency 50 TotalCount 20 MaxActive 10 SpawnCount 5 Where spawnbot_right WaitBeforeStarting 5 WaitBetweenSpawns 8 RandomSpawn 1 TFBot { Template FamilyBusiness } } WaveSpawn { WaitForAllDead Main2 WaitForAllSpawned Main2b Name Main3 TotalCurrency 50 TotalCount 4 MaxActive 2 SpawnCount 1 Where spawnbot WaitBeforeStarting 5 WaitBetweenSpawns 8 RandomSpawn 1 TFBot { Template T_TFBot_Soldier_Extended_Concheror Scale 1.4 Health 500 Addcond { Index 109 } } } WaveSpawn { WaitForAllDead Main3 WaitForAllSpawned Main3b Name Main4 TotalCurrency 100 TotalCount 1 MaxActive 1 SpawnCount 1 Where spawnbot WaitBeforeStarting 0 WaitBetweenSpawns 8 RandomSpawn 1 TFBot { Template GiantGigaBurst Addcond { Index 91 } } } WaveSpawn { WaitForAllDead Main4 WaitForAllSpawned Main3b Name Main5 TotalCurrency 50 TotalCount 16 MaxActive 8 SpawnCount 4 Where spawnbot WaitBeforeStarting 0 WaitBetweenSpawns 12 RandomSpawn 1 Squad { TFBot { Class Heavyweapons Name "Heavyweapons" Skill Easy Addcond { Index 97 } } TFBot { Template T_TFBot_Medic_BigHeal } } } WaveSpawn { WaitForAllDead Main4 WaitForAllSpawned Main3b Name Main5b TotalCurrency 50 TotalCount 20 MaxActive 8 SpawnCount 2 Where spawnbot_left WaitBeforeStarting 0 WaitBetweenSpawns 6 RandomSpawn 1 TFBot { Template T_TFBot_Soldier_RocketShotgun } } WaveSpawn { WaitForAllDead Main5 WaitForAllSpawned Main5b Name Main6 TotalCurrency 50 TotalCount 6 MaxActive 6 SpawnCount 3 Where spawnbot WaitBeforeStarting 0 WaitBetweenSpawns 14 RandomSpawn 1 TFBot { Template T_TFBot_Giant_Scout ClassIcon scout_hyper Health 2600 CharacterAttributes { "damage bonus" 1.4 "faster reload rate" 0.8 "fire rate bonus" 0.8 } Addcond { Index 96 } } } WaveSpawn { WaitForAllDead Main5 WaitForAllSpawned Main5b Name Main6b TotalCurrency 50 TotalCount 8 MaxActive 6 SpawnCount 1 Where spawnbot_left Where spawnbot_right WaitBeforeStarting 0 WaitBetweenSpawns 3 RandomSpawn 1 Support 1 TFBot { Template T_TFBot_Demo_Burst } } WaveSpawn { TotalCurrency 0 TotalCount 6 MaxActive 6 SpawnCount 6 Where spawnbot_left WaitBeforeStarting 999999 WaitBetweenSpawns 5 RandomSpawn 1 Support 1 Squad { TFBot { Class Soldier ClassIcon powerup_vampire_lite } TFBot { Class Soldier ClassIcon powerup_agility_lite } TFBot { Class Soldier ClassIcon powerup_king_lite } TFBot { Class Soldier ClassIcon powerup_regen_lite } TFBot { Class Soldier ClassIcon powerup_haste_lite } TFBot { Class Soldier ClassIcon powerup_precision_lite } } } } Wave //WAVE 4 - CASH 800 { WaitWhenDone 65 Checkpoint Yes InitWaveOutput { Target init_wave_relay_main Action Trigger } StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } WaveSpawn { Name BossMan TotalCurrency 100 TotalCount 1 MaxActive 1 SpawnCount 1 Where spawnbot WaitBeforeStarting 0 WaitBetweenSpawns 8 RandomSpawn 1 DoneOutput { Target "GoToPhase3Idiot" Action "Trigger" } TFBot { Template TheSchizoBossImplementationThatWillMakeTableScreamFromHowBadItIsFeaturingRenfe } } WaveSpawn { Name BossMan2 TotalCurrency 100 TotalCount 1 MaxActive 1 SpawnCount 1 Where spawnbot_boss WaitBeforeStarting 10 WaitBetweenSpawns 8 RandomSpawn 1 TFBot { Template RenfeHorseBossNumberTwoFeaturingTheSchizoBossImplementation SpawnTemplate bossintrotext } } WaveSpawn { Name Main1r TotalCurrency 100 TotalCount 6 MaxActive 6 SpawnCount 1 Where spawnbot_right WaitBeforeStarting 15 WaitBetweenSpawns 0.1 RandomSpawn 1 Support limited TFBot { Class Soldier Tag reinforcement Addcond { Index 87 } } } WaveSpawn { WaitForAllDead Main1r Name Main2r TotalCurrency 100 TotalCount 6 MaxActive 6 SpawnCount 1 Where spawnbot_right WaitBeforeStarting 1 WaitBetweenSpawns 0.1 RandomSpawn 1 Support limited TFBot { Template T_TFBot_Soldier_RocketPush Tag reinforcement Addcond { Index 87 } } } WaveSpawn { WaitForAllDead Main2r Name Main3r TotalCurrency 100 TotalCount 6 MaxActive 6 SpawnCount 1 Where spawnbot_right WaitBeforeStarting 1 WaitBetweenSpawns 0.1 RandomSpawn 1 Support 1 TFBot { Template T_TFBot_Soldier_RocketShotgun Tag reinforcement Addcond { Index 87 } } } WaveSpawn { WaitForAllDead BossMan2 Name Main4r TotalCurrency 100 TotalCount 2 MaxActive 2 SpawnCount 1 Where spawnbot_right WaitBeforeStarting 1 WaitBetweenSpawns 0.1 RandomSpawn 1 Support 1 TFBot { Template T_TFBot_Giant_Soldier_Spammer Tag reinforcement2 Addcond { Index 87 } } } } }