// This file has been generated by http://mvm.tf // Copy this file in your tf/scripts/population folder // Just kidding, we're doin http://dergwulf.tf, hecc you :3 #base robot_giant.pop #base robot_standard.pop #base robot_sif.pop #base weapon_sif.pop // THIS CAUSES CRASHES on POPWAVEBAR, BE WARY! #base sif_restricts.pop #base overclock_sif // Subtle Machination BETA 8d / B9E // Adv Made by SiF -- https://steamcommunity.com/id/SiFWolfy // Map (Metro) by Signalmax // Made for the first time as a rework of Frigid Citadel. // 2024 HH3 // Dependecies: // blimp_lite.nut // global_paratank_lite // pyrospinner.nut // popextensions_main.nut // Credits // - ApeSpinner Pyro Script by Floro // - Airdrop Para Tank Script by Lite // - Blimp Script by Lite // ..oh yeah, I stole some templates from Seelpit, don't tell her :3 SiFWolf_Rawr_awa_awa // :33 { StartingCurrency 600 CanBotsAttackWhileInSpawnRoom Yes // No // :Ujel: RespawnWaveTime 4 Advanced 1 AddSentryBusterWhenKillCountExceeds 22 AddSentryBusterWhenDamageDealtExceeds 1200 PrecacheSound "vehicles\airboat\fan_blade_idle_loop1.wav" PrecacheModel "models/workshop/weapons/c_models/c_caber/c_caber.mdl" PrecacheModel models/bots/boss_bot/boss_blimp_main.mdl PrecacheModel models/bots/boss_bot/boss_blimp_damage1.mdl PrecacheModel models/bots/boss_bot/boss_blimp_damage2.mdl PrecacheModel models/bots/boss_bot/boss_blimp_damage3.mdl ClassLimit // I had to do this, because randoms ruins everything. { Scout 3 Demoman 1 Medic 1 // 0 Sniper 0 Spy 1 } NoMissionInfo 1 MaxRedPlayers 5 EngineerPushRange 0 NoRomevisionCosmetics 1 ImprovedAirblast 1 DisplayRobotDeathNotice 1 TextPrintTime 0 // ItemBlackList // Nevermind, rafmod blacklist is also retarded! // { // } PointTemplates { AtomRocket // Sntr made this { prop_dynamic { model "models/workshop/player/items/soldier/taunt_rocket_jockey/taunt_rocket_jockey.mdl" angles "0 90 0" origin "0 0 -24" skin 1 disableshadows 1 } } Decor { prop_dynamic { "targetname" "locker_model" "model" "models/props_gameplay/resupply_locker.mdl" "solid" "6" "angles" "0 0 0" "disableshadows" "1" } func_regenerate { "targetname" "regenerate" "associatedmodel" "locker_model" "TeamNum" "2" "mins" "0 -48 0" "maxs" "40 0 128" "OnStartTouchAll" "locker_model,SetAnimation,open,0,-1" "OnEndTouchAll" "locker_model,SetAnimation,close,0,-1" } } Decor2 { prop_dynamic { "targetname" "locker_model" "model" "models/props_gameplay/resupply_locker.mdl" "solid" "6" "angles" "0 0 0" "disableshadows" "1" } func_regenerate { "targetname" "regenerate" "associatedmodel" "locker_model" "TeamNum" "2" "mins" "0 -48 0" "maxs" "40 0 128" "OnStartTouchAll" "locker_model,SetAnimation,open,0,-1" "OnEndTouchAll" "locker_model,SetAnimation,close,0,-1" } } HOKAngered // I wrote this garbage { OnParentKilledOutput { Target "KOKFrenKilledThink" Action Trigger } logic_relay { "targetname" "HOKFrenKilledThink" "OnTrigger" "!parent,$ChangeAttributes,KillAnyoneThatOpposeMe,0,-1" "OnTrigger" "!parent,$Taunt,0,1" } } KOKAngered // I wrote this garbage { OnParentKilledOutput { Target "HOKFrenKilledThink" Action Trigger } logic_relay { "targetname" "KOKFrenKilledThink" "OnTrigger" "!parent,$ChangeAttributes,DontFear,0,-1" "OnTrigger" "!parent,$Taunt,0,1" } } HOKDeflectorThink { OnParentKilledOutput { Target "HOKisDead" Action Trigger } OnParentKilledOutput { Target "tf_objective_resource" Action $SetProp$m_iszMannVsMachineWaveClassNames$1 Param heavy_shotgun_healonkill } logic_branch { "targetname" "HOKLogic" "initialvalue" "0" "OnTrue" "HOK01,Trigger,0" } logic_relay { "targetname" "HOK01" "OnTrigger" "!parent,$ChangeAttributes,HOKPhase2,0,-1" "OnTrigger" "!parent,$Taunt,0,1" } } KOKDeflectorThink { OnParentKilledOutput { Target "KOKisDead" Action Trigger } OnParentKilledOutput { Target "tf_objective_resource" Action $SetProp$m_iszMannVsMachineWaveClassNames$2 Param heavy_deflector_booster } logic_branch { "targetname" "KOKLogic" "initialvalue" "0" "OnTrue" "KOK01,Trigger,0" } logic_relay { "targetname" "KOK01" "OnTrigger" "!parent,$ChangeAttributes,KOKPhase2,0,-1" "OnTrigger" "!parent,$Taunt,0,1" } } DeleteMannPowOnGround // Some fella from ML { NoFixup 1 logic_timer { "targetname" "mannpower_kill" "RefireTime" "0.01" "spawnflags" "0" "UseRandomTime" "0" "OnTimer" "item_powerup_rune,kill,,0,-1" } } Gunsling // Royal made this { NoFixup 1 logic_relay { "targetname" "switch_to_sentry_mode" "spawnflags" "2" "OnTrigger" "!self,EnableRefire,,0,-1" "OnTrigger" "!activator,$WeaponSwitchSlot,5,0,-1" "OnTrigger" "!activator,$AddPlayerAttribute,disable weapon switch|1,0.01,-1" } logic_relay { "targetname" "switch_to_shotgun_mode" "spawnflags" "2" "OnTrigger" "!self,EnableRefire,,0,-1" "OnTrigger" "!activator,$RemovePlayerAttribute,disable weapon switch,0,-1" "OnTrigger" "!activator,$WeaponSwitchSlot,0,0.1,-1" } } SiFProtocopyFakePlayers { logic_relay { "targetname" "player_fakeuber_relay" "OnTrigger" "!activator,$ChangeAttributes,DefinitelyThrowing,1,-1" "OnTrigger" "!activator,$AddCond,51 2,0,-1" "OnTrigger" "!activator,$AddCond,72 5,0,-1" "OnTrigger" "!activator,$PlaySound,=35|mvm/mvm_used_powerup.wav,0,-1" "OnTrigger" "!activator,$TauntFromItem,Conga Taunt,0,-1" "OnTrigger" "!activator,$ChangeAttributes,IdleMoron,3.5,-1" } logic_relay { "targetname" "randomLogic" "OnTrigger" "itschooses,PickRandomShuffle,,0,-1" } logic_case { //chooseAnAttack "targetname" "itschooses" "OnCase02" "pop_interface,ChangeBotAttributes,Fase1_Frontier,0,-1" "OnCase03" "pop_interface,ChangeBotAttributes,Fase1_RangerEnergy,0,-1" "OnCase04" "pop_interface,ChangeBotAttributes,Fase2_ShortCircuitKnockback,0,-1" // "OnCase05" "pop_interface,ChangeBotAttributes,ringattack,0,-1" //"OnCase05" "pop_interface,ChangeBotAttributes,makeItRainOnPanel,0,-1" } } CanteenIfClipSizeIsEmpty // thanks again seelpit { logic_relay { "targetname" "clipchecker_relay" "OnTrigger" "@e@m_hMyWeapons$0@!activator,$GetProp$m_iClip1,clipchecker_compare|SetValueCompare,0,-1" "OnUser1" "!activator,$GetItemAttribute,Battery Canteens|powerup charges|!activator|$SetVar$CanteenCount|1,0,-1" } logic_compare { "targetname" "clipchecker_compare" "comparevalue" "0" "OnEqualTo" "!activator,$ChangeAttributes,$$=?(!activator.CanteenCount > 0,'UseCanteen',''),-1,-1" "OnEqualTo" "!activator,$SetVar$CanteenCount,$$=?(!activator.CanteenCount >= 0, !activator.CanteenCount - 1, -1),0.03,-1" } } BossTitleCardLogic // Royal script again { OnSpawnOutput { Target tf_objective_resource Action $SetClientProp$m_iszMvMPopfileName Param "Pseudomachination (Advanced)" Delay 0.01 } game_text { "targetname" "titletext_1" "message" "WANTED in 42 STATES" "x" "-1" "y" "0.45" "spawnflags" "1" "channel" "2" "color" "255 255 255" "fadein" "0.5" "fadeout" "1" "holdtime" "4" } game_text { "targetname" "titletext_2" "message" "SERGEANT SCATTERSLIP" "x" "-1" "y" "0.5" "channel" "4" "spawnflags" "1" "color" "255 255 255" "fadein" "0.5" "fadeout" "1" "holdtime" "3.8" } logic_relay { "targetname" "w2_boss_title_relay" "OnTrigger" "titletext_1,Display,,0.1,-1" "OnTrigger" "titletext_2,Display,,1,-1" } game_text { "targetname" "titletext_3" "message" "METRO \\\ ACT VII:" "x" "-1" "y" "0.45" "spawnflags" "1" "channel" "2" "color" "255 255 255" "fadein" "0.5" "fadeout" "1" "holdtime" "4" } game_text { "targetname" "titletext_4" "message" "VENGEANCE WITH NO END" "x" "-1" "y" "0.5" "channel" "4" "spawnflags" "1" "color" "255 255 255" "fadein" "0.5" "fadeout" "1" "holdtime" "3.8" } game_text { "targetname" "titletext_5" "message" "\\\ CLIMAX \\\" "x" "-1" "y" "0.65" "channel" "4" "spawnflags" "1" "color" "255 255 255" "fadein" "0.5" "fadeout" "1" "holdtime" "2.5" } logic_relay { "targetname" "w2_boss_title_relay" "OnTrigger" "titletext_3,Display,,0.1,-1" "OnTrigger" "titletext_4,Display,,1,-1" "OnTrigger" "titletext_5,Display,,1,-1" } game_text { "targetname" "titletext_6" "message" "Double Tap" "x" "-1" "y" "0.45" "spawnflags" "1" "channel" "2" "color" "255 255 255" "fadein" "0.5" "fadeout" "1" "holdtime" "4" } game_text { "targetname" "titletext_7" "message" "TRIGGER DUO" "x" "-1" "y" "0.5" "channel" "4" "spawnflags" "1" "color" "255 255 255" "fadein" "0.5" "fadeout" "1" "holdtime" "3.8" } logic_relay { "targetname" "w6_boss_title_relay" "OnTrigger" "titletext_6,Display,,0.1,-1" "OnTrigger" "titletext_7,Display,,1,-1" } } } SpawnTemplate SiFProtocopyFakePlayers // My first shittily made PT :3 SpawnTemplate CanteenIfClipSizeIsEmpty SpawnTemplate DeleteMannPowOnGround SpawnTemplate BossTitleCardLogic SpawnTemplate Gunsling SpawnTemplate AtomRocket SpawnTemplate { Name "Decor" Origin "-245 -3152 190" Angles "0 270 0" } SpawnTemplate { Name "Decor2" Origin "-1346 -3152 190" Angles "0 270 0" } ExtraLoadoutItems { Scout { // Primary "Full Spectrum" Primary "Light Nailgun" // Primary "Blast-a-Nature" Primary "Public's Enemy" Primary "Recon Ambusher" Primary "Scattercannon" // Primary "Special Deliverer" // Primary "Wicked Popper" // Secondary // { // Item "Eagle Deagl" // Pistol Headshots for 214. // Cost 400 // } // Secondary // { // Item "Reckoning Aces" // Cleaver Crits vs debuffed. Burn and mark. // Cost 400 // } // Melee // { // Item "Reflector Mitt" // Melee deflects projectiles back // Cost 600 // } } // Scout set. Soldier { Primary "RPG Launcher" // Primary "4th Dissentangler" // Primary // { // Item "Atom Launcher" // Cost 400 // } // Primary "Peacebreaker" Primary "Rainmaker Barrage" // Primary "Supplicant Bazooka" // Secondary "Hurried Surge" // Banner gives Haste and knockback resist // Secondary "Rally Cloak" // Stealth // Secondary "Volley Rally" // Banner gives Precision and weakness to rival you shot. // Secondary "Power Dominance" // Banner gives Precision and weakness to rival you shot. // Secondary "Unfriendly Broadcast" // Banner gives Precision and weakness to rival you shot. // Secondary "Means of Sabotage" // Banner turns you to BLU and allow friendly fire // Melee "Split Equalizer" // Pickaxe gains speed and damage when you are hurt. // Melee // { // Item "Sable's Demise" // Katana allows you to deflect projectiles and mitigate minor damage. // Cost 600 // } } // Soldier set. Pyro { Primary "Ext. Imblazer" // Primary "Afterburner" // Primary "Cauterizer" Primary "Conductor" Primary "Cryoburner" // Primary "Pushover" // Primary "Wavesucker" Secondary "Flare Jumper" // Flare deals no self damage. Secondary "Thermal Jumper" } // Pyro set. Demoman { // Primary "Paratrooper Safeguard" // Primary // { // Item "Atomic Kiloton" // Cost 400 // } // Primary "Cyclop PunchR" Primary "Iron Stompers" Primary "Precursor" // Primary "BCG Ultimatum" // Secondary "Highland Fling" Secondary "Overloader" Secondary "Heraldic Targe" // Higher resist, but cannot deal bash // Secondary "Tide Changer" // Full turn control and mobility bonus // Secondary "Window Basher" // Higher bash damage, no resist boost easier to knock around } HeavyWeapons { Primary "Assault Cannon" Primary "Bulletproof Battery" // Primary "Firestarter" Primary "Ludmilla" // Primary "Pelagicelsus" // Primary "Mini-Deflector" // Primary "Heavy Nailgun" // Primary "Deathray Goliathon 9000" // Primary "H-AA Thundergun" // Secondary // { // Item "Heavy Shotgun" // Fires +500% more pellets per shot, fires slower. // Cost 400 // } // Melee "Alloyweight Gloves" Melee "Lightweight Gloves" // Melee "Apocoweight Gloves" } Engineer { Primary "Vengeful Legacy" // Shot crits from behind. You die from getting crit'd as well. Primary "High Noon" // Revolver reloads manually and grants both the user and rival minicrit. Primary "Trench Defense" // More pellets are fired in a wide pattern, reloads similarly to beggar. Secondary "Signal Pointer" Melee "Overbite" // Lv2 sentry with increased damage, reduced range and slow build // Melee "Quantum Effect" // Built altillery sentry that seldoms fire // Melee "Brute Force" } Medic { // Primary // { // Item "Die Epidemiewerfer" // Needle heals nearby on hit, akin to amputator // Cost 600 // } Primary { Item "Geneva Suggestion" // Needle minicrits enemies. Less damage. Cost 600 } Primary { Item "Super Dartflygun" // On Headshot, apply Plague. Projectile homes and bounces. Cost 600 } Secondary "Flicker Medigun" // Quick Short Uber Secondary "Blitzkrieg" // Minicrits. Secondary "Provisioner" // Haste, Restore ammo // Secondary "Die Malpractice" // Vampiric. Reverse Heal. // Secondary { Item "Overhealer" } // Overheals, no uber // Secondary { Item "Kingmaker" } // Grants temporary mann-power buff Melee "Surgical Precision" // Steal opposing medic's uber on stab. } Sniper { // Primary { Item "Hangabout" } // Sniper explodes on headshot instead of dealing EH. Primary { Item "Particle Bow" // Bow that fires mangler projectiles that splits and bounces. Cost 400 } // Secondary // { // Item "Non-Negotiator" // SMG that causes EH bleed and slows on headshot. // Cost 600 // } } Spy { Secondary { Item "Malware Injector" } // Revolver cripples target PDA2 { Item "Bloodied Getaway" } // Invis Watch that Ignores Aggro, but grants no resist Secondary { Item "Traitor's Quickdraw" // Revolver headshots and damage neearby targets. Cost 400 } } } ItemAttributes { Classname "TF_WEAPON_ROCKETLAUNCHER" "attach particle effect" 8 "SPELL: Halloween pumpkin explosions" 1 "SPELL: Halloween death ghosts" 1 } ItemAttributes { Classname "TF_WEAPON_FLAMETHROWER" "attach particle effect" 8 "SPELL: Halloween green flames" 1 "SPELL: Halloween death ghosts" 1 "airblast functionality flags" 6 // "airblast_pushback_disabled" 1 } ItemAttributes { Classname "TF_WEAPON_GRENADELAUNCHER" "attach particle effect" 8 "SPELL: Halloween pumpkin explosions" 1 } ItemAttributes { Classname "TF_WEAPON_PIPEBOMBLAUNCHER" "attach particle effect" 8 "SPELL: Halloween pumpkin explosions" 1 } ItemAttributes { Classname "TF_WEAPON_MINIGUN" "attach particle effect" 8 "SPELL: Halloween death ghosts" 1 "SPELL: Halloween voice modulation" 1 "dont count damage towards crit rate" 1 "mod minigun can holster while spinning" 1 "minigun full movement" 1 } ItemAttributes { Classname "TF_WEAPON_WRENCH" "attach particle effect" 8 "SPELL: Halloween pumpkin explosions" 1 "SPELL: Halloween death ghosts" 1 } ItemAttributes { Classname "TF_WEAPON_SNIPERRIFLE" "attach particle effect" 8 "SPELL: Halloween death ghosts" 1 } ItemAttributes { Classname "TF_WEAPON_KNIFE" "attach particle effect" 8 "SPELL: Halloween death ghosts" 1 } PlayerAttributes { Medic { "medic machinery beam" 2.5 } } // Only available on rc1 // Disabled during beta-testing, sorry slenderman! OverrideSounds { "MVM.BombWarning" "ambient\alarms\doomsday_lift_alarm.wav" } /// // TEMPLATES /// Templates { T_Horse { Class Scout Health 625 Name "Horse Event" Skill Expert Item "Unarmed Combat" Item "The Pony Express" Scale 1.6 WeaponRestrictions MeleeOnly Attributes SpawnWithFullCharge Attributes IgnoreEnemies ItemAttributes { ItemName "Unarmed Combat" "fire rate bonus" 1.4 "melee range multiplier" 1.5 "crit kill will gib" 1 "apply look velocity on damage" 75 "no double jump" 1 "mark for death" 1 "minicrits become crits" 1 } CharacterAttributes { "dmg penalty vs players" 0.15 "dmg bonus vs buildings" 3 "dmg from melee increased" 1.75 "move speed bonus" 1.4 "airblast vulnerability multiplier" 4 "airblast vertical vulnerability multiplier" 0 "damage force reduction" 0 "override footstep sound set" 5 "rage giving scale" 0.25 "voice pitch scale" 0 "cancel falling damage" 1 "cannot be backstabbed" 1 "damage causes airblast" 1 "cannot pick up intelligence" 1 "head scale" 0 "torso scale" -125 "hand scale" 0 "active health degen" -50 } } T_Protocopy_Mimicry { Class Scout ClassIcon heavy_warrior_sif Skill Expert Scale 1 Action Mobber Attributes MiniBoss Attributes HoldFireUntilFullReload Attributes AutoJump AutoJumpMin 1 AutoJumpMax 6 DropWeapon 1 AddCond {Name TF_COND_REPROGRAMMED} FireWeapon { Delay -1 Cooldown 0 Repeats 0 IfSeeTarget 1 Duration 0 Type "Primary" } CharacterAttributes { "killstreak tier" 1 "damage force reduction" 0.5 "airblast vulnerability multiplier" 0.5 "airblast vertical vulnerability multiplier" 0.5 "allow friendly fire" 1 "cancel falling damage" 1 "collect currency on kill" 1 "stickybomb charge rate" -1.3 "no self blast dmg" 1 "self dmg push force decreased" 0 "increase buff duration" 9.0 "deploy time increased" 0.5 "cannot be sapped" 1 "voice pitch scale" 1.35 "override footstep sound set" 0 } } T_TFBot_Giant_Heavy_AA_Enrage { Template T_TFBot_Giant_Heavy_Enrage Attributes UseBossHealthBar Health 20000 ClassIcon heavy_penetrate_hyper Item "Heavy Heating" Item "Ol' Reliable" Name "Giant Assault-Cannon Heavy" MaxVisionRange 1500 ItemAttributes { ItemName "Iron Curtain" "add attributes on hit" "mod_maxhealth_drain_rate|10|5" } EventChangeAttributes { Disengage { Item "Gloves of Running Urgently MvM" WeaponRestrictions MeleeOnly ItemAttributes { ItemName "Gloves of Running Urgently MvM" "fire rate bonus" 0.7 "self mark for death" 1 "dmg bonus vs buildings" 2.5 "crit kill will gib" 1 "single wep deploy time decreased" 1.4 "killstreak tier" 1 } CharacterAttributes { "move speed bonus" 0.6 } } InCombat { WeaponRestrictions PrimaryOnly MaxVisionRange 1200 ItemAttributes { ItemName "Iron Curtain" "accuracy scales damage" 1.5 "fire rate bonus" 0.8 "fire rate bonus with reduced health" 0.7 "spread penalty" 6 "continous accuracy mult" 0.5 "continous accuracy time" 4 "mult_spread_scales_consecutive" 1 "killstreak tier" 1 } } } } T_TFBot_Giant_Heavy_AA_Enrage_Owo { Template T_TFBot_Giant_Heavy_Enrage Attributes UseBossHealthBar Health 20000 ClassIcon heavy_penetrate_hyper Item "Heavy Heating" Item "Head Prize" MaxVisionRange 1500 Name "Giant Assauwult-Cannon Heavy" ItemAttributes { ItemName "Iron Curtain" "add attributes on hit" "mod_maxhealth_drain_rate|10|5" } Taunt { Delay 3 Cooldown 6.21 Repeats 0 IfSeeTarget 1 IfHealthBelow 16000 } EventChangeAttributes { Disengage { Item "Gloves of Running Urgently MvM" WeaponRestrictions MeleeOnly ItemAttributes { ItemName "Gloves of Running Urgently MvM" "fire rate bonus" 0.7 "self mark for death" 1 "dmg bonus vs buildings" 2.5 "crit kill will gib" 1 "single wep deploy time decreased" 1.4 "killstreak tier" 1 } CharacterAttributes { "move speed bonus" 0.6 "crit vs burning players" 1 "crit vs non burning players" 1 "crit does no damage" 1 } } } } } // End of templates /// // MISSIONS /// // MISSION SNIPER // // Wave 01: Jumper Soldier Mission { Where spawnbot_left Objective Sniper InitialCooldown 120 // 5 CooldownTime 45 DesiredCount 6 // 16 BeginAtWave 1 RunForThisManyWaves 1 // RandomChoice { // RandomChoice { TFBot { Template T_TFBot_Soldier_Jumper_Garden_Raf Name "Jumper Soldier" ClassIcon soldier_jumper_rj_sif UseHumanAnimations 1 ItemAttributes { ItemName "The Market Gardener" "deploy time decreased" 0.0001 "fire input on kill" "!activator^$TauntFromItem^Conga Taunt" } CharacterAttributes { "dmg from melee increased" 1.75 "health drain" -6 } } TFBot { Template T_TFBot_Soldier_Jumper_Garden Name "Jumper Soldier" ClassIcon soldier_jumper_rj_sif ItemAttributes { ItemName "The Market Gardener" "deploy time decreased" 0.0001 "fire input on kill" "!activator^$TauntFromItem^Conga Taunt" } CharacterAttributes { "dmg from melee increased" 1.75 "health drain" -6 } } // } // } } // Wave 02: Nightblind Tomislav Heavy Mission { Where spawnbot_right Objective Sniper InitialCooldown 45 CooldownTime 621621 DesiredCount 1 BeginAtWave 2 RunForThisManyWaves 1 TFBot { Template T_TFBot_Heavy_Tomislav // Attributes AlwaysCrit Skill Hard Name "My first day" // STRING_JOKENAME // Name "Nightblind Heavy" Health 300 Scale 1.2 ClassIcon heavy_accurate_lite Item "Weight Room Warmer" Item "Aim Assistant" Item "Head Of Defense" // MaxVisionRange 1200 ItemAttributes { ItemName "Head Of Defense" "attach particle effect" 10 // Purple Energy } ItemAttributes { ItemName "Tomislav" "item style override" 1 "is australium item" 1 "generate rage on damage" 2 "attack projectiles" 2 "killstreak tier" 1 } CharacterAttributes { "head scale" 1.2 "weapon spread bonus" 6 "damage penalty" 0.5 "fire rate penalty" 1.4 "dmg from melee increased" 1.75 "dmg from ranged reduced" 0.66 "dmg taken from crit reduced" 0.33 } } } // Wave 02: Airblast Pyro Mission { Where spawnbot_left Objective Sniper InitialCooldown 60 CooldownTime 45 DesiredCount 2 BeginAtWave 2 RunForThisManyWaves 1 RandomChoice { RandomChoice { TFBot { Template T_TFBot_Pyro_Airblast_Hyper Name "Talented Gambler" // Name "Hyper Airblast Pyro" // Name "FPS Destroyer Pyro" // STRING_JOKENAME // ClassIcon pyro_gascann_explode ClassIcon soldier_jumper_rj_sif CharacterAttributes { "airblast_give_teammate_speed_boost" 1 "dmg from melee increased" 1.75 "airblast_pushback_disabled" 1 "SPELL: Halloween green flames" 1 "airblast_deflect_projectiles_disabled" 1 "health drain" -6 } } } } } // Wave 03 Headshot Sniper // Same stat from CS. Bodyshot is 100 dmg. // The bot names are literally from CS2 // Mission { // Where spawnbot_rand // Objective Sniper // InitialCooldown 60 // CooldownTime 30 // DesiredCount 1 // BeginAtWave 3 // RunForThisManyWaves 1 // Squad { // ShouldPreserveSquad 0 // FormationSize 9999 // NoWaitForFormation 1 // TFBot { // Template T_TFBot_Sniper_Headshot // //ClassIcon sniper_machina_nys // Name "BOT Renéyote" // Skill Normal // Attributes AlwaysCrit // MaxVisionRange 1250 // CharacterAttributes { // "dmg from melee increased" 1.75 // } // } // TFBot { // Template T_TFBot_Sniper_Headshot // //ClassIcon sniper_machina_nys // Name "BOT Zed" // Skill Expert // Attributes AlwaysCrit // MaxVisionRange 1250 // CharacterAttributes { // "dmg from melee increased" 1.75 // } // } // } // } // Wave 05 Dartfly Medic // (1 to 1 copy from Super Animal Royale) // They umm poison you for 10 dmg Mission { Where spawnbot_left Objective Sniper InitialCooldown 60 CooldownTime 40 DesiredCount 2 BeginAtWave 5 RunForThisManyWaves 1 RandomChoice { TFBot { Template T_TFBot_Medic_Battle_Crossbow_Bleed Name "Dartgun Medic" Attributes AlwaysFireWeapon Attributes DisableDodge Health 650 Scale 1.3 Item "Cauterizer's Caudal Appendage" Item "Fire Breather" ClassIcon medic_crossbow_bleed_v2 // MaxVisionRange 2000 ItemAttributes { ItemName "Fire Breather" "set item tint RGB" 8208497 // Purple } CharacterAttributes { "Projectile speed increased" 0.65 "dmg from melee increased" 1.75 "override projectile type" 18 // Ranger bolt "cannot pick up intelligence" 1 "killstreak tier" 1 } } TFBot { Template T_TFBot_Medic_Battle_Crossbow_Bleed Name "Dartfly Medic" Attributes AlwaysFireWeapon Attributes DisableDodge Health 650 Scale 1.3 Item "Cauterizer's Caudal Appendage" Item "The Head Prize" ClassIcon medic_crossbow_bleed_v2 // MaxVisionRange 2000 ItemAttributes { ItemName "The Head Prize" "set item tint RGB" 8289918 // Gray } ItemAttributes { ItemName "The Crusader's Crossbow" "fire rate bonus" 1.5 "faster reload rate" 2.5 "bleeding duration" 4 "attach particle effect" 14 // GRN Scorching Flame } CharacterAttributes { "Projectile speed increased" 1.2 "dmg from melee increased" 1.75 "override projectile type" 18 // Ranger bolt "cannot pick up intelligence" 1 "mult projectile scale" 0.8 "projectile lifetime" 3 "projectile penetration" 1 "grenade bounce damage" 1.5 "grenade bounce speed" 1.25 "reset arrow hits on bounce" 1 "killstreak tier" 1 } } } } // MISSION SPY // // Wave 02 YER Spy Mission { // Where // Advanced where syntax // { // Relative Behind // MinDistance 0 // MaxDistance 800 // } Where Behind Objective Spy InitialCooldown 15 // 60 CooldownTime 30 DesiredCount 1 BeginAtWave 2 RunForThisManyWaves 1 TFBot { Template T_TFBot_Spy_YER_Saharan Name "sorry bro" Skill Expert Item "L'Etranger" MoveBehindEnemy 1 ClassIcon Spy ItemAttributes { ItemName "L'Etranger" "add attributes on hit" "move speed penalty|0.75|3|allow friendly fire|1|30" "mark for death" 1 "minicrits become crits" 1 "slow enemy on hit major" 4 "is_passive_weapon" 1 "damage bonus" 0.01 "faster reload rate" -2 "fire rate penalty" 0.75 "auto fires when full" 1 "auto fires full clip" 1 } CharacterAttributes { "dmg taken from fire increased" 1.2 "crits_become_minicrits" 1 "damage penalty" 0.2 "dmg from melee increased" 1.75 "move speed bonus" 1.2 "active health degen" -10 "killstreak tier" 1 } ItemAttributes { ItemName "The Familiar Fez" "attach particle effect" 38 // Cloudy Moon } } } // Wave 03 Mitten Heavy Mission { Where Behind // time to troll uwu Where // Advanced where syntax { Relative Behind MinDistance 0 MaxDistance 800 } Objective Spy InitialCooldown 90 CooldownTime 30 DesiredCount 2 BeginAtWave 3 RunForThisManyWaves 1 RandomChoice { RandomChoice { TFBot { Template T_TFBot_Heavy_Laugh_Champ Name "Hur Hurr Hur Hurr" Item "Racc Mann" Scale 1.1 Health 66 ClassIcon heavy_mittens Attributes AlwaysCrit CharacterAttributes { "dmg taken from fire increased" 1.2 "dmg from melee increased" 1.75 "health regen" -4 "cannot pick up intelligence" 1 } } } } } // Wave 05 Paci Scout Mission { Where Behind Objective Spy InitialCooldown 45 CooldownTime 60 DesiredCount 1 BeginAtWave 5 RunForThisManyWaves 1 RandomChoice { RandomChoice { TFBot { Template T_Heavy Attributes DisableDodge Name "(AFK) Pacifist Heavy" Item "The Head Prize" Item "The Second Banana" Health 450 Action Idle ExtAttr AlwaysFireWeaponAlt BehaviorModifiers Push Action Idle ClassIcon scout_cola WeaponRestrictions MeleeOnly ItemAttributes { ItemName "The Head Prize" "attach particle effect" 59 // Aces H } ItemAttributes { ItemName "The Second Banana" "max health additive bonus" 1 "single wep holster time increased" 0.1 "effect bar recharge rate increased" 0.5 "lunchbox healing decreased" 3 } CharacterAttributes { "dmg penalty vs players" 0 // :3 "active health degen" -5 "torso scale" 0.5 } } } } } // Wave 06 YER Spy Mission { Where Behind Objective Spy InitialCooldown 45 CooldownTime 40 DesiredCount 3 // 6 BeginAtWave 6 RunForThisManyWaves 1 RandomChoice { RandomChoice { TFBot { Template T_TFBot_Spy_YER Name "Silent Spy" ClassIcon spy_revolver_mark_lite CharacterAttributes { "dmg taken from fire increased" 1.2 "crits_become_minicrits" 1 "damage penalty" 0.2 "dmg from melee increased" 1.75 } } TFBot { Template T_TFBot_Spy_YER_Saharan Name "hi bro" ClassIcon spy_revolver_mark_lite NoCrouchButtonRelease 1 CharacterAttributes { "dmg taken from fire increased" 1.2 "crits_become_minicrits" 1 "damage penalty" 0.2 "dmg from melee increased" 1.75 "move speed bonus" 1.2 } ItemAttributes { ItemName "The Familiar Fez" "attach particle effect" 38 // Cloudy Moon } FireWeapon { Delay 10 Cooldown 3 Duration 1.5 Repeats 99 Type "Crouch" } } } } } // Wave 06 YER Spy Mission { Where Behind Objective Spy InitialCooldown 40 CooldownTime 40 DesiredCount 1 // 6 BeginAtWave 7 RunForThisManyWaves 1 RandomChoice { RandomChoice { TFBot { Template T_TFBot_Spy_YER Name "yw bro" ClassIcon spy_revolver_mark_lite CharacterAttributes { "dmg taken from fire increased" 1.2 "crits_become_minicrits" 1 "damage penalty" 0.2 "dmg from melee increased" 1.75 } } TFBot { Template T_TFBot_Spy_YER_Saharan Name "too late, bro" ClassIcon spy_revolver_mark_lite NoCrouchButtonRelease 1 CharacterAttributes { "dmg taken from fire increased" 1.2 "crits_become_minicrits" 1 "damage penalty" 0.2 "dmg from melee increased" 1.75 "move speed bonus" 1.2 } ItemAttributes { ItemName "The Familiar Fez" "attach particle effect" 38 // Cloudy Moon } FireWeapon { Delay 10 Cooldown 3 Duration 1.5 Repeats 99 Type "Crouch" } } } } } // Wave 07: Spy Amby Mission { Where spawnbot_left Where Behind Objective Sniper InitialCooldown 60 CooldownTime 40 DesiredCount 2 BeginAtWave 7 RunForThisManyWaves 1 // RandomChoice { // RandomChoice { TFBot { Template T_TFBot_Spy_Ambassador Attributes AlwaysFireWeapon Name "ok nvm" ClassIcon spy_revolver_mark_lite CharacterAttributes { "cannot disguise" 1 "mark for death" 1 "damage bonus" 0.01 "add attributes on hit" "move speed penalty|0.75|3|allow friendly fire|1|30" "minicrits become crits" 1 } } // } // } } //MISSION Engineer //Wave 03 Mini-Sentry //Wave 05 Artillery Sentry Mission { Objective Engineer Where spawnbot_right BeginAtWave 5 RunForThisManyWaves 1 InitialCooldown 45 CooldownTime 45 DesiredCount 1 TFBot { Template T_TFBot_Engineer_Artillery Health 3000 Scale 1.4 ExtAttr BuildDispenserAsTeleporter Item "The Giger Counter" TeleportWhere spawnbot_right CharacterAttributes { "dmg bonus vs buildings" 5 // :3 "damage bonus" 1.5 "damage force reduction" 0 "airblast vulnerability multiplier" 0 "airblast vertical vulnerability multiplier" 0 "override footstep sound set" 2 "self dmg push force decreased" 0 } ClientCommand { Name "eureka_teleport 1" Delay 0.05 Cooldown 30 IfHealthBelow 2000 } VoiceCommand { Delay 10 Cooldown 10 Type "Cheers" } } } // MISSION BUSTER // // Wave 01: Banner Buster Mission { Where spawnbot_rand Objective DestroySentries // or SeekAndDestroy InitialCooldown 15 CooldownTime 45 DesiredCount 1 BeginAtWave 1 RunForThisManyWaves 1 RandomChoice { TFBot { Template T_TFBot_SentryBuster_BannerBuff Attributes SuppressFire Name "Action SuicideBomber" // STRING_JOKENAME Item "Exquisite Rack" Item "Robin Walkers" Item "Shin Shredders" CharacterAttributes { "head scale" 2 "torso scale" 0.3 "dmg from melee increased" 1.75 } } TFBot { Template T_TFBot_SentryBuster_BannerBattalion Attributes SuppressFire Name "Action SuicideBomber" // STRING_JOKENAME Item "The Grenadier's Softcap" Item "Robin Walkers" Item "Shin Shredders" CharacterAttributes { "head scale" 2 "torso scale" 0.3 "dmg from melee increased" 1.75 } } } } // Wave 02: Mini Buster Mission { Where spawnbot_rand Objective DestroySentries InitialCooldown 30 CooldownTime 45 DesiredCount 1 BeginAtWave 2 RunForThisManyWaves 1 TFBot { Template T_TFBot_SentryBuster_Reinforced Attributes SuppressFire Name "Common Buster" // Name "Small Buster" // STRING_JOKENAME Scale 1 Health 621 CharacterAttributes { "dmg from melee increased" 1.75 "move speed bonus" 1.25 "voice pitch scale" 4 } } } // Wave 03: Reinf Buster Mission { Where spawnbot_rand Objective DestroySentries // or SeekAndDestroy InitialCooldown 15 CooldownTime 45 DesiredCount 1 BeginAtWave 3 RunForThisManyWaves 1 TFBot { Template T_TFBot_SentryBuster_Reinforced Attributes SuppressFire Name "Action SuicideBomber" // STRING_JOKENAME Item "Exquisite Rack" Item "Robin Walkers" Item "Shin Shredders" CharacterAttributes { "head scale" 2 "torso scale" 0.3 "dmg from melee increased" 1.75 } } } // Wave 04: Mini Buster Mission { Where spawnbot_rand Objective DestroySentries InitialCooldown 30 CooldownTime 45 DesiredCount 1 BeginAtWave 3 RunForThisManyWaves 1 TFBot { Template T_TFBot_SentryBuster_Reinforced Attributes SuppressFire Name "Common Buster" // Name "Small Buster" // STRING_JOKENAME Scale 1 Health 621 CharacterAttributes { "dmg from melee increased" 1.75 "move speed bonus" 1.25 "voice pitch scale" 4 } } } // Wave 05: Reinf Buster Mission { Where spawnbot_rand Objective DestroySentries // or SeekAndDestroy InitialCooldown 15 CooldownTime 45 DesiredCount 1 BeginAtWave 5 RunForThisManyWaves 3 TFBot { Template T_TFBot_SentryBuster_Reinforced Attributes SuppressFire Name "Action SuicideBomber" // STRING_JOKENAME Item "Exquisite Rack" Item "Robin Walkers" Item "Shin Shredders" CharacterAttributes { "head scale" 2 "torso scale" 0.3 "dmg from melee increased" 1.75 } } } // Garbage Data / Code, thanks Ficool2, you're cute uwu~ // To reset bomb in VSCRIPT // FirstSpawnOutput // { // Target intel // Action ForceResetSilent // } // // How to do Annotation in VSCRIPT // // SpawnEntityFromTable(`training_annotation` , // { // targetname = `annotate` // display_text = `omg comf programmer socks owo` // lifetime = `15` // origin = `-810 1241 404` // } // ) // EntFire(`annotate`, `show`) // EntFire(`annotate`, `kill`, ``, 15) // // WOW // I love doing mission on metro when flank nav just kinda leak out and the arrows repeatedly flash // Whurr help me with the nav pls, im too stressed out rn /// // WAVE 1/6 (650$) /// Wave { WaitWhenDone 65 Checkpoint Yes InitWaveOutput { // Target wave_init_relay // Don't do anything on this map // Action Trigger // ClientPrint color = x08AARRGGBB in HEX. AA = Alpha Chann // I want you to know how long this took me to // Figure out myself. // Honestly don't look for hints in here, besides for metro stuff. I want to kill myself from vscript. Target gamerules Action RunScriptCode Param " SetSkyboxTexture (`sky_nightfall_01`) // Thanks ficool2. EntFire(`bombpath_clearall_relay`,`Trigger`,null,0.78) EntFire(`bombpath_arrows_clear_relay`,`Trigger`,null,0.78) EntFire(`bombpath_left`,`Trigger`,null,0.9) ClientPrint(null,3,`\x07FF1234Happy Halloween mortals,`) ClientPrint(null,3,`\x07FF1234Merasmus has cursed your weapons for a worse sidegrade!`) ClientPrint(null,3,`Pseudomachination v.b9 by SiF`) EntFire(`nav_prefer_flank_right`, `Kill`); EntFire(`nav_prefer_flank_left`, `Kill`); EntFire(`func_upgradestation`, `enable`); Convars.SetValue(`tf_airblast_cray_lose_footing_duration`, 0); // No more airblast Convars.SetValue(`tf_airblast_cray_power`, 150); Convars.SetValue(`tf_bot_taunt_victim_chance`, 100); Convars.SetValue(`tf_bot_pyro_always_reflect`, 1); // Convars.SetValue(`tf_bot_pyro_shove_away_range`, 1000); // This procs phlog Convars.SetValue(`tf_forced_holiday`, 2); // halloween Convars.SetValue(`tf_bot_fetch_lost_flag_time`, 66); // Trying to fix spies grabbing the bomb. Why are they so stupid Convars.SetValue(`tf_bot_melee_attack_abandon_range`, 250); // Giant Snipers are baited onto tunnels and got stuck. ha. Convars.SetValue(`tf_use_fixed_weaponspreads`, 1); " } StartWaveOutput { Target wave_start_endurance_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } WaveSpawn { Name Intro_Merasmus WaitBeforeStarting 2 FirstSpawnWarningSound "vo/halloween_merasmus/hall2015_fightmeras_01.mp3" // Here's a contract I'd like to call.. your DEATH! } // WaveSpawn { // Name Intro_Merasmus // WaitBeforeStarting 2 // FirstSpawnWarningSound "vo/halloween_merasmus/sf12_appears15.mp3" // Doom, all of you are doomed! // } WaveSpawn { Name yia1 // WaitForAllSpawned yia1 TotalCurrency 50 TotalCount 2 MaxActive 2 SpawnCount 1 WaitBeforeStarting 2 WaitBetweenSpawns 0.1 Where spawnbot_left FirstSpawnWarningSound "#music/mvm_start_wave.wav" RandomChoice { TFBot { Template T_TFBot_Soldier_Samurai ClassIcon demoknight_samurai_reflect Name "Honourable Duel" // STRING_JOKENAME Scale 1.4 Health 650 CharacterAttributes { "crit vs non burning players" 1 // pfffbbbbrt "minicrit vs burning player" 1 } } TFBot { Template T_TFBot_Soldier_Samurai_Parry ClassIcon demoknight_samurai_reflect Name "Honourable Duel" Scale 1.4 Health 650 } TFBot { Template T_TFBot_Soldier_Samurai_Parry ClassIcon demoknight_samurai_reflect Name "Honourable Duel" Scale 1.4 Health 650 } TFBot { Template T_TFBot_Soldier_Samurai_Parry ClassIcon demoknight_samurai_reflect Name "Honourable Duel" Scale 1.4 Health 650 } } } WaveSpawn { Name yia2 WaitForAllSpawned yia1 TotalCurrency 50 TotalCount 3 MaxActive 2 SpawnCount 1 // 2 WaitBeforeStarting 6 WaitBetweenSpawns 10 Where spawnbot_left // RandomChoice { TFBot { Template T_TFBot_Soldier_Zato Name "Shogun Soldier" ClassIcon demoknight_samurai_reflect } // TFBot { Template T_TFBot_DemoKnight_Zato Name "Shogun Demo" Health 150} // } } // WaveSpawn { // WaitBeforeStarting 15 //FirstSpawnWarningSound "ui/halloween_boss_tagged_other_it.wav" // FirstSpawnWarningSound "ui/tf_samurai_noisemaker_setb_03.wav" // FirstSpawnOutput // { // Target gamerules // Action RunScriptCode // Param // " // SpawnEntityFromTable(`training_annotation` , { // targetname = `sif_annot` // display_text = `This tune will be heard whenever bots spawns behind.` // lifetime = `12` // origin = `-789 -2393 250` // } // ) // EntFire(`sif_annot`, `show`) // EntFire(`sif_annot`, `kill`, ``, 12) // " // } // } WaveSpawn { // ml Horse Horizon gag or something Name yia1suppHelpMeMoonlightHeldMeAgainstMyWillToAddHorse Where Behind SpawnCount 1 MaxActive 1 TotalCount 621 WaitBeforeStarting 15 WaitBetweenSpawns 270 TotalCurrency 0 Support Limited Squad { TFBot { Name "Horse Event" Template T_Horse Scale 1.4 BehaviorModifiers Push ClassIcon soldier_backup } TFBot { Template T_TFBot_Soldier_Whipper Item "Armored Authority" Name "Horse Jockey" ClassIcon soldier_backup MaxVisionRange 450 } // It is mainly here to speed boost the horse. // Well unless you're trying to attack their horse // it basically turns hostile. } } WaveSpawn { Name yia2 WaitForAllDead yia1 TotalCurrency 75 TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 14 WaitBetweenSpawns 0 Where spawnbot_left TFBot { Template T_TFBot_Giant_Pyro_Scorch_RapidFire //Attributes AlwaysCrit //Name "1 Tour Pyro" // This is what your Name "Giant Fast Scorch Pyro" // STRING_JOKENAME // ClassIcon pyro_flare //_spammer // teammates do while you're ClassIcon pyro_scorch_spammer // pyro_flare // _rain_push Item "Ghastly Gibus" // doing Expert runs :c CharacterAttributes { "fire rate bonus" 0.8 "faster reload rate" 0.66 "damage penalty" 0.25 "crit vs non burning players" 1 // pfft "minicrit vs burning player" 1 // Scorchshit amirite? } } } WaveSpawn { Name yia2 WaitForAllDead yia1 TotalCurrency 20 TotalCount 16 // 26 // 20 MaxActive 10 SpawnCount 2 // 5 WaitBeforeStarting 2 WaitBetweenSpawns 1 // 10 Where spawnbot_left RandomChoice { TFBot { Template T_TFBot_Soldier_Zato ClassIcon demoknight_samurai_reflect } TFBot { Template T_TFBot_Soldier_Zato ClassIcon demoknight_samurai_reflect } TFBot { Template T_TFBot_Soldier_Zato ClassIcon demoknight_samurai_reflect } TFBot { Template T_TFBot_Soldier_Zato ClassIcon demoknight_samurai_reflect } TFBot { Template T_TFBot_Soldier_Zato ClassIcon demoknight_samurai_reflect } TFBot { Template T_TFBot_Soldier_Zato ClassIcon demoknight_samurai_reflect } TFBot { Template T_TFBot_Soldier_Zato ClassIcon demoknight_samurai_reflect } TFBot { Template T_TFBot_Soldier_Zato ClassIcon demoknight_samurai_reflect } TFBot { Template T_TFBot_Soldier_Zato ClassIcon demoknight_samurai_reflect } TFBot { Template T_TFBot_Soldier_Zato ClassIcon demoknight_samurai_reflect } TFBot { Template T_TFBot_Soldier_Zato ClassIcon demoknight_samurai_reflect } TFBot { Template T_TFBot_Soldier_Zato ClassIcon demoknight_samurai_reflect } TFBot { Template T_TFBot_Soldier_Zato ClassIcon demoknight_samurai_reflect } TFBot { Template T_TFBot_Soldier_Zato ClassIcon demoknight_samurai_reflect } TFBot { Template T_TFBot_Soldier_Zato ClassIcon demoknight_samurai_reflect } TFBot { Template T_TFBot_Soldier_Zato ClassIcon demoknight_samurai_reflect } TFBot { Template T_TFBot_Soldier_Zato ClassIcon demoknight_samurai_reflect } TFBot { Template T_TFBot_Soldier_Zato ClassIcon demoknight_samurai_reflect } TFBot { Template T_TFBot_Soldier_Zato ClassIcon demoknight_samurai_reflect } TFBot { Template T_TFBot_Soldier_Zato ClassIcon demoknight_samurai_reflect } TFBot { Template T_TFBot_Soldier_Zato ClassIcon demoknight_samurai_reflect } TFBot { Template T_TFBot_Soldier_Zato ClassIcon demoknight_samurai_reflect } TFBot { Template T_TFBot_Soldier_Zato ClassIcon demoknight_samurai_reflect } TFBot { Template T_TFBot_Soldier_Zato ClassIcon demoknight_samurai_reflect } TFBot { Template T_TFBot_Soldier_Zato ClassIcon demoknight_samurai_reflect } TFBot { Template T_TFBot_Soldier_Zato ClassIcon demoknight_samurai_reflect } TFBot { Template T_TFBot_Soldier_Zato ClassIcon demoknight_samurai_reflect } TFBot { Template T_TFBot_Soldier_Zato ClassIcon demoknight_samurai_reflect } TFBot { Template T_TFBot_Soldier_Zato ClassIcon demoknight_samurai_reflect } TFBot { Template T_TFBot_Soldier_Zato Template T_Banner_Conch ClassIcon demoknight_samurai_reflect } } // TFBot { Template T_TFBot_Soldier_Samurai_Parry // Name "Parry Shogun Soldier" // Template T_Banner_Conch // Scale 1.3 // ClassIcon demoknight_samurai_reflect // Attributes AutoJump // AutoJumpMin 5 // AutoJumpMax 10 // } // TFBot { // Template T_TFBot_Demoknight_Samurai_Parry // Name "I realise.." // Template T_Banner_Conch // ClassIcon demoknight_samurai // Attributes AirChargeOnly // Attributes AutoJump // AutoJumpMin 5 // AutoJumpMax 10 // } // TFBot { // Template T_TFBot_DemoKnight_Samurai // Template T_Banner_Conch // Name "Samurai Demo" // } } // WaveSpawn { // Name yia2 // WaitForAllDead yia1 // TotalCurrency 16 // TotalCount 8 // MaxActive 8 // SpawnCount 2 // 4 // WaitBeforeStarting 10 // WaitBetweenSpawns 4 // 8 // Where spawnbot_right // RandomChoice { // TFBot { Template T_TFBot_Heavy_Laugh_Champ // _Gauntlet Name "Laugh Gauntlet" Attributes AlwaysCrit Health 450 } // TFBot { Template T_TFBot_Heavy_Laugh_Gauntlet Name "Laugh Gauntlet" Attributes AlwaysCrit Health 450 } // TFBot { Template T_TFBot_Heavy_Laugh_Gauntlet Name "Laugh Gauntlet" Attributes AlwaysCrit Health 450 } // TFBot { Template T_TFBot_Heavy_Laugh_Champ Name "Laugh Champ" Attributes AlwaysCrit Health 60 } // } // } WaveSpawn { Name yib1 WaitForAllSpawned yia2 TotalCurrency 150 TotalCount 2 MaxActive 2 SpawnCount 1 WaitBeforeStarting 8 WaitBetweenSpawns 22 Where spawnbot_left TFBot { Template T_TFBot_Giant_Pyro_Flaregun_RapidFire Name "Giant Fast Flare Pyro" ClassIcon pyro_scorch_spammer // _flare // _rain_push Skill Hard CharacterAttributes { "damage penalty" 0.25 "crits_become_minicrits" 1 // Nerf request } } } // In case anyone is curious, mod weapon blocks healing was there when // loch-demos are used to be healed by bigheals. // But y'kno- for once I went soft for the jujs. WaveSpawn { Name yib1 WaitForAllSpawned yia2 TotalCurrency 24 TotalCount 24 MaxActive 13 SpawnCount 6 WaitBeforeStarting 8 WaitBetweenSpawns 6 Where spawnbot_left RandomChoice { // TFBot { // Template T_TFBot_Scout_SodaPopper // Template T_Equip_Cola // Skill Easy // Template T_Attributes_Jumper // User will go after players, a.k.a IgnoreFlag but less buggy // ClassIcon scout_cola // Name "Cola! Scout" // Attributes AutoJump // AutoJumpMin 0.2 // AutoJumpMax 0.8 // CharacterAttributes { // "damage bonus" 1.5 // :3 // "air dash count" 1 // "mod weapon blocks healing" 1 // "cannot pick up intelligence" 1 // } // } TFBot { Template T_TFBot_Scout_Blaster_PublicEnemy Skill Easy Name "Public Enemy Scout" MaxVisionRange 900 ClassIcon scout_cola Item "Crit-a-Cola" CharacterAttributes { "increased jump height" 1.3 "move speed bonus" 1.25 "gesture speed increase" 0.66 } } TFBot { Template T_TFBot_Scout_Blaster_PublicEnemy Skill Easy Name "Public Enemy Scout" MaxVisionRange 900 ClassIcon scout_cola Item "Crit-a-Cola" CharacterAttributes { "increased jump height" 1.3 "move speed bonus" 1.25 "gesture speed increase" 0.66 } } TFBot { Template T_TFBot_Scout_Blaster_PublicEnemy Skill Easy Name "Public Enemy Scout" MaxVisionRange 900 ClassIcon scout_cola Item "Crit-a-Cola" CharacterAttributes { "increased jump height" 1.3 "move speed bonus" 1.25 "gesture speed increase" 0.66 } } TFBot { Template T_TFBot_Scout_Cleaver ClassIcon scout_cola } // TFBot { Template T_TFBot_Scout_Blaster_PublicEnemy Skill Easy MaxVisionRange 900 ClassIcon scout_cola} // TFBot { Template T_TFBot_Scout_Blaster_PublicEnemy Skill Easy MaxVisionRange 900 ClassIcon scout_cola} // TFBot { Template T_TFBot_Scout_Blaster_Rush MaxVisionRange 900 ClassIcon scout_cola} // TFBot { Template T_TFBot_Scout_Cleaver ClassIcon scout_cola } TFBot { Template T_TFBot_Scout_MiniCrit WeaponRestrictions MeleeOnly ClassIcon scout_cola Name "Nightblind Scout" Item "Three-Rune Blade" } TFBot { Template T_TFBot_Scout_Sandman_Marks WeaponRestrictions MeleeOnly ClassIcon scout_cola Name "Nightblind Scout" } // TFBot { // Template T_TFBot_Scout_MiniCrit // _Markless // Template T_Equip_Cola // WeaponRestrictions MeleeOnly // ClassIcon scout_cola // Name "Nightblind Scout" // Item "Three-Rune Blade" // } } } WaveSpawn { Name yib1 WaitForAllSpawned yia2 TotalCurrency 1 TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 8 WaitBetweenSpawns 0 Where spawnbot_left // PointTemplate // { // IsCrit 1 // } TFBot { Template T_TFBot_Demoman_Loch_RapidFire // Name "Nightblind Demo" // Attributes AlwaysCrit Name "Loch-n-Miss Demo" // STRING_JOKENAME // ClassIcon demo_burst ClassIcon demo_lochnload_sif CharacterAttributes { "dmg pierces resists absorbs" 1 "damage penalty" 0.66 } } } WaveSpawn { Name yib1 WaitForAllSpawned yia2 TotalCurrency 20 TotalCount 20 MaxActive 12 SpawnCount 5 WaitBeforeStarting 12 WaitBetweenSpawns 8 Where spawnbot_left // RandomChoice { RandomChoice { TFBot { Template T_TFBot_Demoman_Loch_Burst Name "Nightblind Demo" MaxVisionRange 1 CharacterAttributes { "dmg pierces resists absorbs" 1 "damage penalty" 0.66 } } TFBot { Template T_TFBot_Demoman_Loch_Burst Name "Nightblind Demo" MaxVisionRange 1 CharacterAttributes { "dmg pierces resists absorbs" 1 "damage penalty" 0.66 } } TFBot { Template T_TFBot_Demoman_Loch_Burst Name "Nightblind Demo" MaxVisionRange 1 CharacterAttributes { "dmg pierces resists absorbs" 1 "damage penalty" 0.66 } } TFBot { Template T_TFBot_Demoman_Loch_Burst Name "Nightblind Demo" MaxVisionRange 1 CharacterAttributes { "dmg pierces resists absorbs" 1 "damage penalty" 0.66 } } TFBot { Template T_TFBot_Demoman_Loch_Burst Name "Nightblind Demo" Attributes AlwaysFireWeapon Attributes IgnoreEnemies CharacterAttributes { "dmg pierces resists absorbs" 1 "damage penalty" 0.66 } } TFBot { Template T_TFBot_Demoman_Loch_Burst Name "Nightblind Demo" MaxVisionRange 1 CharacterAttributes { "dmg pierces resists absorbs" 1 "damage penalty" 0.66 } } TFBot { Template T_TFBot_Demoman_Loch_Burst Name "Burst Loch Demo" Attributes IgnoreEnemies Attributes AlwaysFireWeapon CharacterAttributes { "dmg pierces resists absorbs" 1 "damage penalty" 0.66 } } TFBot { Template T_TFBot_Demoman_Loch_Burst Name "Burst Loch Demo" Attributes IgnoreEnemies Attributes AlwaysFireWeapon CharacterAttributes { "dmg pierces resists absorbs" 1 "damage penalty" 0.66 } } TFBot { Template T_TFBot_Demoman_Loch_Burst Name "Nightblind Demo" MaxVisionRange 1 CharacterAttributes { "dmg pierces resists absorbs" 1 "damage penalty" 0.66 } } TFBot { Template T_TFBot_Demoman_Loch_ExpertOrdinance Name "Cyclop PunchR Demo" ClassIcon demo_lochnload_sif Template T_Equip_Chargin } } // } } WaveSpawn { Name yib2 WaitForAllDead yib1 TotalCurrency 6 TotalCount 6 MaxActive 6 SpawnCount 6 WaitBeforeStarting 0 WaitBetweenSpawns 0 Where spawnbot_right FirstSpawnWarningSound "vo\mvm\norm\taunts\soldier_mvm_taunts12.mp3" // We have you surrounded, at least from this side! Squad { ShouldPreserveSquad 0 FormationSize 9999 NoWaitForFormation 1 TFBot { Template T_TFBot_Soldier_DirectHit_ExpertOrdinance // Hewwo Tindall~ Attributes AlwaysCrit // I adopted your Blind Hipfire sniper gag // Name "PointBlank Hit Soldier" // :3 Name "Direct Miss Soldier" // Name "ez clear" // STRING_JOKENAME // MaxVisionRange 10 ClassIcon soldier_burstfire_directhit_yoovy CharacterAttributes { "kill forces attacker to laugh" 1 } } TFBot { Template T_TFBot_Soldier_DirectHit_ExpertOrdinance Attributes AlwaysCrit Name "Direct Miss Soldier" ClassIcon soldier_burstfire_directhit_yoovy CharacterAttributes { "kill forces attacker to laugh" 1 } } TFBot { Template T_TFBot_Soldier_DirectHit_ExpertOrdinance Attributes AlwaysCrit Name "Direct Miss Soldier" ClassIcon soldier_burstfire_directhit_yoovy CharacterAttributes { "kill forces attacker to laugh" 1 } } TFBot { Template T_TFBot_Soldier_DirectHit_ExpertOrdinance Attributes AlwaysCrit Name "ez clear" ClassIcon soldier_burstfire_directhit_yoovy CharacterAttributes { "kill forces attacker to laugh" 1 } } TFBot { Template T_TFBot_Soldier_DirectHit_ExpertOrdinance Attributes AlwaysCrit Name "Direct Miss Soldier" ClassIcon soldier_burstfire_directhit_yoovy } TFBot { Template T_TFBot_Soldier_DirectHit_ExpertOrdinance Attributes AlwaysCrit Name "Peacebreaker Soldier" // MaxVisionRange 10 Name "ez clear" // STRING_JOKENAME ClassIcon soldier_burstfire_directhit_yoovy CharacterAttributes { "kill forces attacker to laugh" 1 } } } } WaveSpawn { Name yib2 WaitForAllDead yib1 TotalCurrency 16 TotalCount 16 MaxActive 16 SpawnCount 8 WaitBeforeStarting 12 WaitBetweenSpawns 8 Where spawnbot_right FirstSpawnWarningSound "vo\mvm\norm\taunts\soldier_mvm_taunts15.mp3" // Surrender NOW, maggots and you will not be harmed! RandomChoice { TFBot { // Template T_TFBot_Soldier_Jumper_Harmless Template T_TFBot_Soldier_DirectHit_ExpertOrdinance UseHumanAnimations 1 ItemAttributes { ItemName "The Direct Hit" "damage bonus" 0 "faster reload rate" 3 // slower "fire rate bonus" .33 "clip size upgrade atomic" .75 "fire input on kill" "!activator^$TauntFromItem^Taunt: The Fubar Fanfare" } Attributes AlwaysCrit Attributes AlwaysFireWeapon Name "Nightblind Soldier" UseHumanAnimations 1 ClassIcon soldier_burstfire_directhit_yoovy } TFBot { // Template T_TFBot_Soldier_Jumper_Harmless Template T_TFBot_Soldier_DirectHit_ExpertOrdinance ItemAttributes { ItemName "The Direct Hit" "damage bonus" 0 "faster reload rate" 3 // slower "fire rate bonus" .33 "clip size upgrade atomic" .75 "fire input on kill" "!activator^$TauntFromItem^Taunt: The Fubar Fanfare" } Attributes AlwaysCrit Attributes AlwaysFireWeapon Name "Nightblind Soldier" UseHumanAnimations 1 ClassIcon soldier_burstfire_directhit_yoovy ItemAttributes { ItemName "The Direct Hit" "damage bonus" 0 "faster reload rate" 3 // slower "fire rate bonus" .33 "clip size upgrade atomic" .75 "fire input on kill" "!activator^$TauntFromItem^Taunt: The Fubar Fanfare" } } TFBot { Template T_TFBot_Soldier_DirectHit_ExpertOrdinance Attributes AlwaysCrit Name "Peacebreaker Soldier" UseHumanAnimations 1 ClassIcon soldier_burstfire_directhit_yoovy ItemAttributes { ItemName "The Direct Hit" "faster reload rate" 3 // slower "fire rate bonus" .33 "clip size upgrade atomic" .75 "fire input on kill" "!activator^$TauntFromItem^Taunt: The Fubar Fanfare" } } TFBot { Template T_TFBot_Soldier_DirectHit_ExpertOrdinance Attributes AlwaysCrit UseHumanAnimations 1 Name "Nightblind Soldier" MaxVisionRange 10 ClassIcon soldier_burstfire_directhit_yoovy ItemAttributes { ItemName "The Direct Hit" "damage bonus" 0 "faster reload rate" 3 // slower "fire rate bonus" .33 "clip size upgrade atomic" .75 "fire input on kill" "!activator^$TauntFromItem^Taunt: The Fubar Fanfare" } } } } WaveSpawn { Name yib1 WaitForAllSpawned yia2 TotalCurrency 8 TotalCount 2 MaxActive 2 SpawnCount 2 WaitBeforeStarting 22 WaitBetweenSpawns 0 Where spawnbot_left // BotNPC // { // IsCrit 1 // } Squad { TFBot { Template T_TFBot_Demoman_Loch_RapidFire Name "Loch-n-Miss Demo" Attributes AlwaysCrit ClassIcon demo_lochnload_sif CharacterAttributes { "crit vs non burning players" 1 "minicrit vs burning player" 1 } } TFBot { Template T_TFBot_Medic_Uber_Blink ClassIcon medic_overheal_uber Attributes SpawnWithFullCharge Name "Booster Medic" Health 130 } } } WaveSpawn { Name yib3 WaitForAllSpawned yib2 TotalCurrency 300 TotalCount 6 MaxActive 6 SpawnCount 3 WaitBeforeStarting 22 WaitBetweenSpawns 15 Where spawnbot_right Squad { TFBot { Template T_TFBot_Giant_Pyro_ThirdDegree Attributes AlwaysCrit Name "Super Third Degree Pyro" Scale 1.8 Health 4500 //Attributes AlwaysCrit CharacterAttributes { "max health additive penalty" 4800 "fire rate bonus" 0.8 "move speed bonus" 0.66 } } TFBot { Template T_TFBot_Medic_Uber_Quick Attributes SpawnWithFullCharge ClassIcon medic_overheal_uber } // Template T_TFBot_Medic_Kritzkrieg_Blink TFBot { Template T_TFBot_Medic_Uber_Quick Attributes SpawnWithFullCharge ClassIcon medic_overheal_uber } } } WaveSpawn { Name yib4 WaitForAllSpawned yib2 TotalCurrency 18 TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 30 WaitBetweenSpawns 6 Where spawnbot_left TFBot { Template T_TFBot_Demoman_Samurai Name "Samurai Jumpscare" Item "Robin Walkers" Item "Shin Shredders" ClassIcon demoknight_samurai_reflect CharacterAttributes { "crit vs non burning players" 1 // pfffbbbbrt "minicrit vs burning player" 1 "charge time increased" 0.5 // 4 } } } /// WaveSpawn { // Name yib3 // WaitForAllSpawned yib2 // TotalCurrency 20 // TotalCount 10 // MaxActive 10 // SpawnCount 2 // WaitBeforeStarting 26 // WaitBetweenSpawns 3 // Where spawnbot_left // RandomChoice { // TFBot { Template T_TFBot_Heavy_Laugh_Champ Name "Scared Heavy Champ" Attributes AlwaysCrit } // TFBot { Template T_TFBot_Heavy_Laugh_Champ Name "Scared Champ" Attributes AlwaysCrit } // TFBot { // Template T_TFBot_Heavy_Laugh_Champ // Name "Scared Champ" // Attributes AlwaysCrit // // Scale 0.8 // CharacterAttributes { // "hand scale" 1.5 // } // } // TFBot { // Template T_TFBot_Heavy_Laugh_Champ // Name "Terrified Champ" // Attributes AlwaysCrit // // Scale 0.8 // Attributes AutoJump // AutoJumpMin 3 // AutoJumpMax 5 // CharacterAttributes { // "hand scale" 1.5 // "move speed bonus" 1.4 // } // } // TFBot { // Template T_TFBot_Heavy_Bread_Champ_Pull // Name "Startled Mutated Champ" // Attributes AlwaysCrit // Skill Expert // Health 150 // ClassIcon heavy_mittens // } // } // } WaveSpawn { Name yib3 WaitForAllSpawned yib2 TotalCurrency 12 TotalCount 12 MaxActive 8 SpawnCount 2 WaitBeforeStarting 22 WaitBetweenSpawns 2 Where spawnbot_right Squad { ShouldPreserveSquad 0 FormationSize 250 TFBot { Template T_TFBot_Scout_ForceANature_Push Template T_Equip_Bonk ClassIcon scout_cola Name "Hyper Cola! Scout" Item "Robin Walkers" } TFBot { Template T_TFBot_Scout_ForceANature_Push Template T_Equip_Cola ClassIcon scout_cola Name "Hyper Cola! Scout" Item "Robin Walkers" } } } WaveSpawn { Name yib3 WaitForAllSpawned yib2 TotalCurrency 0 TotalCount 42 MaxActive 15 SpawnCount 5 WaitBeforeStarting 20 WaitBetweenSpawns 5 Where spawnbot_right Support Limited RandomChoice { // hidden icons RandomChoice { TFBot { Template T_TFBot_Soldier_Whipper_Conch Name "Ext. Horse Jockey" ClassIcon soldier_backup } TFBot { Template T_TFBot_Soldier_Whipper_Backup Name "Ext. Horse Jockey" ClassIcon soldier_backup } TFBot { Template T_TFBot_Soldier_Whipper_Backup Attributes AlwaysFireWeapon Name "Ext. Horse Jockey" ClassIcon soldier_backup } } } } WaveSpawn { Name yib3 WaitForAllSpawned yib2 TotalCurrency 0 TotalCount 16 // 6 MaxActive 8 SpawnCount 4 WaitBeforeStarting 10 WaitBetweenSpawns 4 Where spawnbot_left Support Limited RandomChoice { TFBot { Template T_Soldier ClassIcon soldier_backup } TFBot { Template T_Soldier ClassIcon soldier_backup } TFBot { Template T_Soldier ClassIcon soldier_backup } TFBot { Template T_Soldier ClassIcon soldier_backup } TFBot { Template T_Soldier ClassIcon soldier_backup } TFBot { Template T_Soldier ClassIcon soldier_backup } TFBot { Template T_Soldier ClassIcon soldier_backup } TFBot { Template T_TFBot_Soldier_Jumper_Stun Name "I'm HELPING!" // STRING_JOKENAME ClassIcon soldier_backup } TFBot { Template T_TFBot_Soldier_Charged_Not // Name "Med Dropped!" // STRING_JOKENAME Name "Discharged Soldier" ClassIcon soldier_backup Item "Defiant Spartan" Item "Fancy Dress Uniform" } TFBot { Template T_TFBot_Soldier_Charged_Not // Name "Rocket from Hell" // STRING_JOKENAME // Name "Uncharged Soldier" Name "Discharged Soldier" ClassIcon soldier_backup //_directhit_upsidedown Item "Defiant Spartan" Item "Fancy Dress Uniform" } TFBot { Template T_TFBot_Soldier_Charged_Not // Name "Idle Soldier" Name "Discharged Soldier" // Name "RandomCrit such BS" // STRING_JOKENAME ClassIcon soldier_backup //_directhit_upsidedown Item "Defiant Spartan" Item "Fancy Dress Uniform" CharacterAttributes { "crit vs burning players" 1 "crit vs non burning players" 1 "crits_become_minicrits" 1 } } } // } WaveSpawn { Name Secret WaitForAllSpawned yib2 TotalCurrency 0 TotalCount 2 MaxActive 2 SpawnCount 2 WaitBeforeStarting 240 WaitBetweenSpawns 10 Where spawnbot_boss Support Limited RandomChoice { Squad { TFBot { Template T_TFBot_Giant_Heavy_BrassBeast Name "SiF's (Giant Brass Heavy)" Item "Misha's Maw" Health 5000 ItemAttributes { ItemName "The Brass Beast" "fire rate bonus" 0.4 "weapon spread bonus" 0.5 "heal on kill" 500 "killstreak tier" 1 } CharacterAttributes { "dmg taken from crit reduced" 0.1 "dmg from ranged reduced" 0.34 "max health additive bonus" 6500 } } TFBot { Template T_TFBot_Medic_Shield_Uber Name "SiFWolfie" Health 450 Scale 1.3 Item "Hundekopf" Item "Bunnyhopper's Ballistics Vest" Item "Surgical Survivalist" Item "Battery Canteens (MvM)" ItemAttributes { ItemName "TF_WEAPON_MEDIGUN" "ubercharge rate bonus" 12.3 "uber duration bonus" 6 "generate rage on heal" 2 "increase buff duration" 6 "overheal decay disabled" 1 } CharacterAttributes { "heal rate bonus" 10 "mod weapon blocks healing" 1 "dmg taken from crit reduced" 0.1 } } } // RNG } } } // Wave 1 Over /// // WAVE 2/6 (434$) /// Wave { WaitWhenDone 65 Checkpoint Yes InitWaveOutput { // Target wave_init_relay // Don't do anything on this map Target gamerules Action RunScriptCode Param " // DRG Styled Message SetSkyboxTexture (`sky_nightfall_01`) // Thanks ficool2. ClientPrint(null,3,`Trap-placing robots will sporadically spawn behind for this wave.`) // ClientPrint(null,3,`\x08FF5733FFWell done, team.`) // ClientPrint(null,3,`More to come! Combat positions and take them out, team!`) EntFire(`nav_prefer_flank_right`, `Kill`) EntFire(`nav_prefer_flank_left`, `Kill`) EntFire(`bombpath_clearall_relay`,`Trigger`,null,0.78) EntFire(`bombpath_arrows_clear_relay`,`Trigger`,null,0.78) EntFire(`bombpath_left`,`Trigger`,null,0.9) // EntFire(`func_upgradestation`, `enable`); Convars.SetValue(`tf_airblast_cray_lose_footing_duration`, 0); // No more airblast Convars.SetValue(`tf_airblast_cray_power`, 150); Convars.SetValue(`tf_bot_taunt_victim_chance`, 100); Convars.SetValue(`tf_bot_pyro_always_reflect`, 1); // Convars.SetValue(`tf_bot_pyro_shove_away_range`, 1000); // This procs phlog IncludeScript(`seel_ins.nut`, getroottable()) //S.I.N.S by Seelpit. " } StartWaveOutput { Target wave_start_endurance_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } WaveSpawn { Name era1 TotalCurrency 25 TotalCount 2 MaxActive 2 SpawnCount 2 WaitBeforeStarting 2 WaitBetweenSpawns 0 Where spawnbot_right Squad { TFBot { Template T_TFBot_Giant_Sniper_Piss Skill Normal Name "Bodyblock Challenge" } TFBot { Template T_TFBot_Medic_QuickFix_Heal // My ver of RapidQF Name "Quick-Heal Medic" Attributes IgnoreFlag Health 130 ClassIcon medic_pop CharacterAttributes { "move speed bonus" 1.3 } } } } WaveSpawn { Name era2 WaitForAllDead era1 TotalCurrency 50 TotalCount 4 MaxActive 2 SpawnCount 2 WaitBeforeStarting 40 WaitBetweenSpawns 8 Where spawnbot_right Squad { TFBot { Template T_TFBot_Giant_Sniper_Piss Skill Normal } TFBot { Template T_TFBot_Medic_QuickFix_Rapid Name "Rapid-QuickFix Medic" Health 130 Attributes IgnoreFlag ClassIcon medic_pop CharacterAttributes { "move speed bonus" 1.3 } // Template T_TFBot_Medic_QuickFix_BigHeal } } } // OLD REMNANT of W2 // Someone pointed out the issue that not that many people read my annot // //FirstSpawnOutput //{ // Target wave_start_relay // Action RunScriptCode // Param " // ClientPrint(null,3,`\x0799CCFFMelee those Alloy Steel Gauntlets to instantly kill them!`) // " //} WaveSpawn { Name era2 WaitForAllDead era1 WaitBeforeStarting 2 FirstSpawnOutput { Target gamerules Action RunScriptCode Param " SpawnEntityFromTable(`training_annotation` , { targetname = `sif_annot` display_text = `Alloy Gauntlet takes TRIPLE damage from melee!` lifetime = `15` origin = `-2259 2688 432` } ) EntFire(`sif_annot`, `show`) EntFire(`sif_annot`, `kill`, ``, 12) " } } WaveSpawn { Name era2s WaitForAllDead era1 TotalCurrency 14 TotalCount 7 MaxActive 7 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 9 Where spawnbot_right TFBot { Template T_TFBot_Heavy_Steel_Gauntlet_Reversed_Pusher Name "Alloyweight Pusher Gauntlet" // ClassIcon heavy_steelfist ClassIcon heavy_steelfist_nys } } WaveSpawn { Name era2 WaitForAllDead era1 TotalCurrency 48 TotalCount 32 // 48 MaxActive 16 SpawnCount 8 // 6 WaitBeforeStarting 5 WaitBetweenSpawns 2 Where spawnbot_right LastSpawnOutput { Target wave_start_endurance_relay Action RunScriptCode Param " SINS.ChangeIconByName(`pyro_gascann_explode`,`pyro_reflect_daan`) " } Squad { TFBot { Template T_TFBot_Soldier_Pickax_Backup //_Conch // T_TFBot_Soldier_Pickax_Buff Name "Ext. Equalizer Soldier" ClassIcon soldier_escape_conch // Name "Ext. Rallying Prospector" // STRING_JOKENAME // Attributes AlwaysCrit } TFBot { Template T_TFBot_Soldier_Pickax_Conch // T_TFBot_Soldier_Pickax_Buff Name "Ext. Equalizer Soldier" ClassIcon soldier_escape_conch // Name "Ext. Rallying Prospector" // STRING_JOKENAME // Attributes AlwaysCrit } TFBot { Template T_TFBot_Heavy_Steel_Champ_Reversed ClassIcon heavy_steelfist_nys} TFBot { Template T_TFBot_Heavy_Steel_Champ_Reversed ClassIcon heavy_steelfist_nys} } } WaveSpawn { Name era2s WaitForAllDead era1 TotalCurrency 0 TotalCount 30 MaxActive 4 SpawnCount 1 WaitBeforeStarting 15 // 10 // 4 WaitBetweenSpawns 10 Where spawnbot_boss Support 1 RandomChoice { TFBot { Template T_TFBot_Pyro_Gas_Explode UseHumanAnimations 1 Item "Ghastly Gibus" Item "The Special Eyes" Name "Talented Gambler" // STRING_JOKENAME CharacterAttributes { "airblast_give_teammate_speed_boost" 1 "dmg from melee increased" 1.75 "fire input on kill" "!activator^$TauntFromItem^Taunt: Cremator's Condolences" } } TFBot { Template T_TFBot_Pyro_Gas_Explode UseHumanAnimations 1 Item "Ghastly Gibus" Item "The Special Eyes" Name "Talented Gambler" // STRING_JOKENAME CharacterAttributes { "airblast_give_teammate_speed_boost" 1 "dmg from melee increased" 1.75 "fire input on kill" "!activator^$TauntFromItem^Taunt: Cremator's Condolences" } } TFBot { Template T_TFBot_Pyro_Gas_Explode UseHumanAnimations 1 Item "Ghastly Gibus" Name "Napalmer Pyro" Item "The Special Eyes" // Name "Napalmer Pyro" // STRING_JOKENAME CharacterAttributes { "airblast_give_teammate_speed_boost" 1 "dmg from melee increased" 1.75 "fire input on kill" "!activator^$TauntFromItem^Conga Taunt" } } TFBot { Template T_TFBot_Pyro_Gas_Explode UseHumanAnimations 1 Item "Ghastly Gibus" Item "The Special Eyes" // Name "Genuine Smooth Brain" // STRING_JOKENAME CharacterAttributes { "airblast_give_teammate_speed_boost" 1 "dmg from melee increased" 1.75 "fire input on kill" "!activator^$TauntFromItem^Conga Taunt" } } } } WaveSpawn { Name era2s TotalCurrency 0 TotalCount 621 MaxActive 2 SpawnCount 1 // 2 WaitBeforeStarting 15 // 10 // 4 WaitBetweenSpawns 40 // 30 Where Behind Support Limited RandomChoice { RandomChoice { TFBot { Template T_TFBot_Spy_YER_Saharan Name "sorry bro" Skill Expert Item "L'Etranger" MoveBehindEnemy 1 WeaponRestrictions PrimaryOnly ClassIcon Spy ItemAttributes { ItemName "L'Etranger" "add attributes on hit" "move speed penalty|0.75|15|allow friendly fire|1|30" "mark for death" 1 "minicrits become crits" 1 "slow enemy on hit major" 4 "is_passive_weapon" 1 "damage bonus" 0.01 "faster reload rate" -2 "fire rate penalty" 0.75 "auto fires when full" 1 "auto fires full clip" 1 } CharacterAttributes { "dmg taken from fire increased" 1.2 "crits_become_minicrits" 1 "damage penalty" 0.2 "dmg from melee increased" 1.75 "move speed bonus" 1.2 "active health degen" -10 "killstreak tier" 1 "cannot disguise" 1 "set cloak is feign death" 1 } ItemAttributes { ItemName "The Familiar Fez" "attach particle effect" 38 // Cloudy Moon } } } } } WaveSpawn { Name era2s TotalCurrency 0 TotalCount 621 MaxActive 4 SpawnCount 1 // 2 WaitBeforeStarting 45 // 10 // 4 WaitBetweenSpawns 20 // 30 Where Behind Support Limited RandomChoice { RandomChoice { // This soldier will spawn behind players, leaving rockets that will damage both teams. // Catmine = more damage, less knockback // Blastmine = Less damage, more knockback TFBot { Template T_TFBot_Soldier_Delayed Attributes DisableDodge MaxVisionRange 1 Name "Catmine" Item "Racc Mann" Health 100 Scale 0.8 Attributes AlwaysCrit BehaviorModifiers Push ClassIcon pyro_reflect_daan CharacterAttributes { "dmg penalty vs players" 2 "dmg from melee increased" 1.75 "crit vs burning players" 1 "crit vs non burning players" 1 "cannot pick up intelligence" 1 "torso scale" 0.5 "move speed bonus" 2 "active health degen" -10 } } TFBot { Template T_TFBot_Soldier_Delayed_Blast Attributes DisableDodge MaxVisionRange 1 Name "Blastmine" Item "Racc Mann" Health 100 Scale 0.8 BehaviorModifiers Push ClassIcon pyro_reflect_daan CharacterAttributes { "dmg penalty vs players" 0.2 "dmg from melee increased" 1.75 "damage causes airblast" 1 "cannot pick up intelligence" 1 "damage blast push" 25 "torso scale" 0.5 "move speed bonus" 2 "active health degen" -10 } } } } } WaveSpawn { Name erb1 WaitForAllDead era2 TotalCurrency 25 TotalCount 1 // 3 MaxActive 1 // 3 SpawnCount 1 // 3 WaitBeforeStarting 8 WaitBetweenSpawns 0 Where spawnbot_right // Squad { TFBot { Template T_TFBot_Giant_Demoman_Grenade_Push Name "Giant Blast Burst Demo" ItemAttributes { ItemName "TF_WEAPON_GRENADELAUNCHER" "custom projectile model" "models\weapons\w_models\w_cannonball.mdl" "fuse bonus" 0.5 } } // TFBot { // Template T_TFBot_Medic_QuickFix_BigHeal // ClassIcon medic // Health 130 // Name "Quick-Heal Medic" // } // TFBot { // Template T_TFBot_Medic_QuickFix_BigHeal // ClassIcon medic // Health 130 // Name "Quick-Heal Medic" // } // } } WaveSpawn { Name erb1 WaitForAllDead era2 TotalCurrency 25 TotalCount 1 // 3 MaxActive 1 // 3 SpawnCount 1 // 3 WaitBeforeStarting 25 WaitBetweenSpawns 0 Where spawnbot_right TFBot { Template T_TFBot_Giant_Demoman_RapidFire Name "Giant Blast Burst Demo" ClassIcon demo_blast ItemAttributes { ItemName "TF_WEAPON_GRENADELAUNCHER" "custom projectile model" "models\weapons\w_models\w_cannonball.mdl" "fuse bonus" 0.5 "damage penalty" 0.25 } } } // WaveSpawn { // Name erb2 // WaitForAllDead era2 // TotalCurrency 30 // TotalCount 30 // 36 // oh you feckin // MaxActive 15 // SpawnCount 6 // WaitBeforeStarting 8 // WaitBetweenSpawns 6 // Where spawnbot_right // RandomChoice { // TFBot { Template T_TFBot_Demoman_Loosecannon } // TFBot { Template T_TFBot_Demoman_Push_Single } // TFBot { Template T_TFBot_Demoman_Push_Single } // TFBot { Template T_TFBot_Demoman_Push_Single } // TFBot { Template T_TFBot_Demoman_Push_Single } // TFBot { Template T_TFBot_Demoman_Push_Single } // TFBot { Template T_TFBot_Demoman_Push_Single } // TFBot { Template T_TFBot_Demoman_Push_Single } // TFBot { Template T_TFBot_Demoman_Push_Single } // TFBot { Template T_TFBot_Demoman_Loosecannon_DoubleDonk } // } // } WaveSpawn { Name erb2 WaitForAllDead erb1 TotalCurrency 50 TotalCount 6 // 4 // 3 MaxActive 3 // 2 // 3 SpawnCount 3 // 2 // 3 WaitBeforeStarting 12 WaitBetweenSpawns 15 // 22 Where spawnbot_right Squad { TFBot { Template T_TFBot_Giant_Soldier_Charged_RapidFire ClassIcon soldier_charged_spammer Name "Giant Rapid Charged Soldier" Attributes AlwaysCrit } TFBot { Template T_TFBot_Medic_QuickFix_BigHeal ClassIcon medic_pop } TFBot { Template T_TFBot_Giant_Demoman_Cannon_Push ClassIcon demo_blast Name "Giant Grapeblast Demo" } } } WaveSpawn { Name erb2s // WaitForAllSpawned erb1 WaitForAllDead era2 TotalCurrency 60 TotalCount 60 // 60 // 54 MaxActive 15 // 12 // 18 SpawnCount 5 // 6 WaitBeforeStarting 15 // 10 WaitBetweenSpawns 10 // 12 // 2 Where spawnbot_left RandomChoice { TFBot { Template T_TFBot_Scout_Sandman Name "Bonk! Scout" Skill Normal ClassIcon scout_bonk } TFBot { Template T_Scout Template T_Equip_Bonk Skill Normal Name "Bonk! Scout" ClassIcon scout_bonk } // TFBot { Template T_TFBot_Scout_Backscatter_Vicious Skill Normal Template T_Equip_Bonk Name "Bonk! Scout" ClassIcon scout_bonk } TFBot { Template T_TFBot_Scout_Shortstop_Regular Skill Hard Template T_Equip_Bonk Name "Bonk! Scout" ClassIcon scout_bonk } TFBot { Template T_TFBot_Scout_Blaster_PublicEnemy Skill Normal Template T_Equip_Bonk Name "Bonk! Scout" ClassIcon scout_bonk } TFBot { Template T_TFBot_Scout_ForceANature Skill Normal Template T_Equip_Bonk Name "Bonk! Scout" ClassIcon scout_bonk } TFBot { Template T_TFBot_Scout_ForceANature Skill Normal Template T_Equip_Bonk Name "Bonk! Scout" Attributes IgnoreEnemies ClassIcon scout_bonk } TFBot { Template T_TFBot_Scout_SodaPopper Skill Hard Template T_Equip_Bonk Name "Bonk! Scout" ClassIcon scout_bonk } TFBot { Template T_TFBot_Scout_Sandman_Marks Skill Expert ClassIcon scout_bonk Name "Bonk! Scout" Action Mobber CharacterAttributes { "head scale" 0 // :3 } } TFBot { Template T_TFBot_Scout_Sandman_Marks Skill Expert ClassIcon scout_bonk Name "Bonk! Scout" Action Mobber CharacterAttributes { "head scale" 0 // :3 } } TFBot { Template T_TFBot_Demoknight_Stunball Name "Scout?" ClassIcon scout_bonk } } } WaveSpawn { Name erb2s // WaitForAllSpawned erb1 WaitForAllDead era2 TotalCurrency 24 TotalCount 12 // 60 // 54 MaxActive 5 // 18 SpawnCount 1 // 6 WaitBeforeStarting 15 // 10 WaitBetweenSpawns 5 // 12 // 2 Where spawnbot_right TFBot { Template T_TFBot_Scout_Backscatter_Vicious Skill Expert Template T_Equip_Bonk Name "Ambusher Scout" ClassIcon scout_bonk } } WaveSpawn { Name erb3s WaitForAllSpawned erb2s TotalCurrency 0 TotalCount 69 MaxActive 8 SpawnCount 4 WaitBeforeStarting 15 WaitBetweenSpawns 8 Where spawnbot_right Support 1 RandomChoice { // hidden icons RandomChoice { TFBot { Template T_TFBot_Heavy_Tomislav Skill Normal Name "T_Heavy" } TFBot { Template T_TFBot_Heavy_Tomislav Skill Normal Name "T_Heavy" } TFBot { Template T_TFBot_Heavy_Tomislav Skill Normal Name "T_Heavy" } TFBot { Template T_TFBot_Heavy_Tomislav Skill Hard Name "T_Heavy" } } } } WaveSpawn { Name erb3 WaitForAllDead erb2 TotalCurrency 1 TotalCount 1 // 6 MaxActive 1 SpawnCount 1 WaitBeforeStarting 30 WaitBetweenSpawns 0 Where spawnbot_right TFBot { Template T_TFBot_Heavy_Steel_Gauntlet_Reversed // Name "Avg. WFAD Experience" // Name "Am I too early?" Name "Sorry, Forgot to F4" } } WaveSpawn { Name erb3 WaitForAllDead erb2 TotalCurrency 112 TotalCount 3 // 5 // 6 MaxActive 3 // 5 SpawnCount 3 // 5 WaitBeforeStarting 15 WaitBetweenSpawns 0 Where spawnbot_left FirstSpawnWarningSound "vo\mvm\mght\soldier_mvm_m_robot21.mp3" // I am a ROBOT. I WAS built to scare you. FirstSpawnOutput { Target w2_boss_title_relay Action Trigger } LastSpawnOutput { Target wave_start_endurance_relay Action RunScriptCode Param " ClientPrint(null,3,`*) Potassium in sight.`) " } Squad { TFBot { Template T_TFBot_Giant_Soldier_Scatter_Blast ClassIcon soldier_rocketrain_blast Health 15000 Name "Sergeant Scatterslip" Item "Veterans Attire" Item "Potassium Bonnett" Item "Head Prize" Attributes UseBossHealthBar Attributes HoldFireUntilFullReload ItemAttributes { ItemName "Head Prize" "set item tint rgb" 15185211 } ItemAttributes { ItemName "TF_WEAPON_ROCKETLAUNCHER" "custom projectile model" "models\props_farm\scenes\bananana_peel.mdl" "item style override" 1 "is australium item" 1 "add cond on hit" 126 // Slips, loses traction "add cond on hit duration" 5 "Blast radius increased" 1.5 "Projectile speed increased" 0.66 "add cond on hit" 126 // Slips, loses traction "add cond on hit duration" 5 "projectile lifetime" 15 } ItemAttributes { ItemName TF_WEAPON_SHOTGUN_SOLDIER "is_passive_weapon" 1 "override projectile type" 3 // Grenade "damage penalty" 0.01 "faster reload rate" -1 "fire rate bonus" 0.2 "clip size penalty" 4 "fuse bonus" 621 "grenade no bounce" 1 "projectile lifetime" 15 "killstreak tier" 1 "add cond on hit" 126 // Slips, loses traction "add cond on hit duration" 5 "custom projectile model" "models\props_farm\scenes\bananana_peel.mdl" } FireInput { Target player Action $DisplayTextChat Param "{99CCFF}Sergeant Scatterslip {reset}: I am a ROBOT. I WAS built to scare you." Delay 1 Cooldown 99999 Repeats 0 } CharacterAttributes { // "hidden maxhealth non buffed" 8000 "move speed bonus" 0.5 "max health additive bonus" 8000 "damage bonus" 0.01 // it was a bluff. "damage causes airblast" 1 // WEEEEEEE :3 // "apply z velocity on damage" 1200 // "apply look velocity on damage" 200 // "damage blast push" 25 // thanks PDA for telling me this // "dmg taken increased" 0.05 // This was from Mo. // "dmg from melee increased" 20 // Uhh.. it nerfs medic shield // "dmg from ranged reduced" 20 // Why was this here if it doesn't jump? Err idk, tbh. } } TFBot { Template T_TFBot_Medic_QuickFix_BigHeal Name "Medic is Useless in MvM" // STRING_JOKENAME ClassIcon medic_pop } TFBot { Template T_TFBot_Medic_QuickFix_BigHeal ClassIcon medic_pop } } } WaveSpawn { Name erb3 WaitForAllSpawned erb2 TotalCurrency 0 TotalCount 2 // 3 // 6 MaxActive 2 SpawnCount 1 WaitBeforeStarting 45 // 60 // 40 WaitBetweenSpawns 5 Where spawnbot_right RandomChoice { TFBot { Template T_TFBot_Giant_Sniper_Piss // T_TFBot_Giant_Scout_Shortstop Name "Crazed Piss Thrower" // "Super Shortstop" Skill Expert Attributes AutoJump AutoJumpMin 3 AutoJumpMax 5 } TFBot { Template T_TFBot_Giant_Sniper_Piss // T_TFBot_Giant_Scout_Shortstop Name "Crazed Piss Thrower" // "Super Shortstop" Skill Expert Attributes AutoJump AutoJumpMin 6 AutoJumpMax 9 } TFBot { Template T_TFBot_Giant_Sniper_Piss // T_TFBot_Giant_Scout_Shortstop Name "Crazed Piss Thrower" // "Super Shortstop" Skill Expert Attributes AutoJump AutoJumpMin 5 AutoJumpMax 7 } } } } // Wave 2 Over /// // WAVE 3/6 (666$) /// Wave { WaitWhenDone 65 Checkpoint Yes InitWaveOutput { // Target wave_init_relay // Don't do anything on this map Target gamerules Action RunScriptCode Param " SetSkyboxTexture (`sky_nightfall_01`) // Thanks ficool2. // ClientPrint(null,3,`Good luck. You will need it.`) ClientPrint(null,3,`Remind yourself, that overconfidence is a slow and insidious killer.`) EntFire(`nav_prefer_flank_right`, `Kill`) EntFire(`nav_prefer_flank_left`, `Kill`) EntFire(`func_upgradestation`, `enable`); Convars.SetValue(`tf_airblast_cray_lose_footing_duration`, 0); // No more airblast Convars.SetValue(`tf_airblast_cray_power`, 150); Convars.SetValue(`tf_bot_taunt_victim_chance`, 0); Convars.SetValue(`tf_bot_pyro_always_reflect`, 1); Convars.SetValue(`tf_bot_pyro_shove_away_range`, 1000); // This procs phlog EntFire(`bombpath_clearall_relay`,`Trigger`,null,0.78) EntFire(`bombpath_arrows_clear_relay`,`Trigger`,null,0.78) EntFire(`bombpath_left`,`Trigger`,null,0.9) // IncludeScript(`seel_ins.nut`, getroottable()) //S.I.N.S by Seelpit. " } StartWaveOutput { Target wave_start_endurance_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } WaveSpawn { Name sana1 TotalCurrency 50 TotalCount 5 MaxActive 5 SpawnCount 5 WaitBeforeStarting 0 WaitBetweenSpawns 8 Where spawnbot_left FirstSpawnWarningSound "vo\mvm\mght\soldier_mvm_m_dominationsoldier06.mp3" // You are a disgrace to the uniform! LastSpawnOutput { Target wave_start_endurance_relay Action RunScriptCode Param " ClientPrint(null,3,`*) Desperation and worry envelops all of you.`) " } Squad { TFBot { Template T_TFBot_Giant_Soldier_Jumper_Burst Name "Minor T_Template Mistake" // Name "Giant Misinput" // STRING_JOKENAME Item "Ghastly Gibus" ItemAttributes { ItemName "Rocket Jumper" "damage penalty" 0.01 "add attributes on hit" "mod_maxhealth_drain_rate|10|5" } CharacterAttributes { "damage penalty" 0.01 "dmg taken increased" 0.05 // This was from Mo. "dmg from melee increased" 20 // Uhh.. it nerfs medic shield "dmg from ranged reduced" 20 } } TFBot { Template T_TFBot_Giant_Medic_QuickFix_Delayed Name "Giant Quick-Pop Medic" ClassIcon medic_pop_giant // Scale 1.3 // Item "The Crone's Dome" Item "The Scariest Mask EVER" Item "The Puffed Practitioner" FireInput { Target player Action $DisplayTextChat // Param "{99CCFF}(TEAM)Giant Quick-Pop Medic{reset} : Using Megaheal in 5s." Param "{99CCFF}(TEAM)Giant Quick-Pop Medic{reset} : Using Megaheal in 5s." Delay 0.01 Repeats 1 IfHealthBelow 2500 } CharacterAttributes { "bot medic uber health threshold" 2500 } } TFBot { Template T_TFBot_Pyro_Airblast MaxVisionRange 450 Attributes AlwaysFireWeapon Name "Pyro" ClassIcon scout_fast } TFBot { Template T_TFBot_Pyro_Airblast MaxVisionRange 450 Name "Pyro" ClassIcon heavy_mittens Attributes AlwaysCrit } TFBot { Template T_TFBot_Pyro_Airblast MaxVisionRange 450 Name "Pyro" ClassIcon pyro_ricochet_nys Attributes AlwaysCrit } } } WaveSpawn { WaitForAllDead sana2 WaitBeforeStarting 0 FirstSpawnWarningSound "vo/halloween_merasmus/hall2015_contractwin_06.mp3" // Outstanding, mortals! } ///// TANK 1 ///// WaveSpawn { Name Santank1 WaitForAllDead sana1 TotalCurrency 10 TotalCount 1 Where spawnbot_boss WaitBeforeStarting 3 Support Limited FirstSpawnWarningSound "ambient/alarms/razortrain_horn1.wav" FirstSpawnOutput { Target boss_spawn_relay Action Trigger } Tank { Health 4000 Name tankboss1 ClassIcon tankspeed Speed 150 // 1m 45s on this map Skin 0 StartingPathTrackNode "boss_path_1" OnKilledOutput { Target boss_dead_relay Action Trigger } OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn { WaitForAllDead sana1 WaitBeforeStarting 3 FirstSpawnWarningSound "Announcer.MVM_Tank_Alert_Spawn" FirstSpawnOutput { Target wave_start_relay Action RunScriptCode Param " ClientPrint(null,3,`\x0799CCFFFast Tank with 4k HP inbound!`) " } } WaveSpawn { WaitForAllSpawned Santank1 WaitBeforeStarting 4 FirstSpawnOutput { Target tankboss1 Action "setSpeed" Param "150" } } ///// TANK 1 OVER ///// ///// TANK 2 ///// WaveSpawn { Name Santank2 WaitForAllDead sana1 TotalCurrency 20 TotalCount 1 Where spawnbot_boss WaitBeforeStarting 5 // 18 Support Limited FirstSpawnWarningSound "Announcer.MVM_Tank_Alert_Multiple" FirstSpawnOutput { Target boss_spawn_relay Action Trigger } Tank { Health 5000 Name tankboss2 ClassIcon tankspeed Speed 150 // 1m 45s on this map Skin 0 StartingPathTrackNode "boss_path_1" OnKilledOutput { Target boss_dead_relay Action Trigger } OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn { WaitForAllSpawned Santank2 WaitBeforeStarting 0.05 FirstSpawnOutput { Target wave_start_relay Action RunScriptCode Param " ClientPrint(null,3,`\x0799CCFFFast Tank with 5k HP inbound!`) " } } WaveSpawn { WaitForAllSpawned Santank2 WaitBeforeStarting 4 FirstSpawnOutput { Target tankboss2 Action "setSpeed" Param "150" } } ///// TANK 2 OVER ///// ///// TANK 3 ///// WaveSpawn { Name Santank3 WaitForAllDead sana1 TotalCurrency 20 TotalCount 1 Where spawnbot_boss WaitBeforeStarting 7 Support Limited FirstSpawnWarningSound "Announcer.MVM_Tank_Alert_Spawn" Tank { Health 6000 Name tankboss3 ClassIcon tankspeed Speed 150 // 1m 45s on this map Skin 0 StartingPathTrackNode "boss_path_1" OnKilledOutput { Target boss_dead_relay Action Trigger } OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn { WaitForAllSpawned Santank3 WaitBeforeStarting 0.05 FirstSpawnOutput { Target wave_start_relay Action RunScriptCode Param " ClientPrint(null,3,`\x0799CCFFFast Tank with 6k HP inbound!`) " } } WaveSpawn { WaitForAllSpawned Santank3 WaitBeforeStarting 4 FirstSpawnOutput { Target tankboss3 Action "setSpeed" Param "150" } } ///// TANK 3 OVER ///// // 33 is such a weird number to divide // 21 + 12? WaveSpawn { Name sanas TotalCurrency 0 TotalCount 21 MaxActive 14 SpawnCount 3 WaitBeforeStarting 6 WaitBetweenSpawns 5 Where spawnbot_left // right // Support Limited TFBot { Template T_TFBot_Heavy_Laugh_Champ Action Mobber Name "Cuddly Champs" Health 66 Attributes AlwaysCrit } } WaveSpawn { Name sanas TotalCurrency 0 TotalCount 32 MaxActive 6 SpawnCount 6 WaitBeforeStarting 6 WaitBetweenSpawns 10 Where spawnbot_left // right // Support Limited TFBot { Template T_TFBot_Heavy_Laugh_Champ Action Mobber Name "Cuddly Champs" Health 66 Attributes AlwaysCrit } } WaveSpawn { Name san_SuperJumprolling_Birb1 TotalCurrency 0 TotalCount 2 MaxActive 2 SpawnCount 1 WaitForAllDead sana1 WaitBeforeStarting 20 // 30 WaitBetweenSpawns 6 Where spawnbot_left // Support Limited TFBot { Template T_TFBot_Scout_Quick Attributes IgnoreEnemies Name "Birds of a Feather" // STRING_JOKENAME } // TFBot { // Template T_TFBot_Scout_Quick // Name "Flock Together" // Name "Birds of a Feather" // } } WaveSpawn { Name san_SuperJumprolling_Birb2 TotalCurrency 0 TotalCount 6 MaxActive 3 SpawnCount 1 WaitForAllDead sana1 WaitBeforeStarting 32 // 30 WaitBetweenSpawns 6 Where spawnbot_left // Support Limited RandomChoice { TFBot { Template T_TFBot_Scout_Quick Attributes IgnoreEnemies } TFBot { Template T_TFBot_Scout_Quick Attributes IgnoreEnemies } TFBot { Template T_Scout Name "Nimble Scout" ClassIcon scout_fast Item "Unarmed Combat" WeaponRestrictions MeleeOnly Item "Batter's Beak" Item "Fowl Fists" Item "Talon Trotters" Attributes IgnoreEnemies } } } WaveSpawn { Name sanas WaitForAllDead Santank3 TotalCurrency 0 TotalCount 30 MaxActive 6 SpawnCount 2 WaitBeforeStarting 15 WaitBetweenSpawns 1 Where spawnbot_right RandomChoice { TFBot { Template T_TFBot_Heavy_Laugh_Champ Action Mobber Name "Cuddly Champs" Health 30 Attributes AlwaysCrit } TFBot { Template T_TFBot_Heavy_Laugh_Champ Action Mobber Name "Cuddly Champs" Health 30 Attributes AlwaysCrit } TFBot { Template T_TFBot_Heavy_Laugh_Champ Name "Cuddly Champs" Health 30 Attributes AlwaysCrit } } } WaveSpawn { Name sana2 TotalCurrency 50 TotalCount 1 MaxActive 1 SpawnCount 1 WaitForAllDead Santank3 WaitBeforeStarting 5 WaitBetweenSpawns 6 // FirstSpawnWarningSound "vo/mvm/mght/heavy_mvm_m_yell7" // Time to hide cowards! // FirstSpawnWarningSound "vo/mvm/mght/heavy_mvm_m_domination18" // Killing you is full time job, now! FirstSpawnWarningSound "vo/mvm/mght/heavy_mvm_m_domination13" // I promise you, pain without end. Where spawnbot_left FirstSpawnOutput { Target wave_start_relay Action RunScriptCode Param " SINS.ChangeIconByName(`pyro_reflect_hyper_lite`,`pyro_deflector_floro`) " } RandomChoice { TFBot { Template T_TFBot_Giant_Heavy_AA_Enrage ChangeAttributes // Default { Delay 0 // 4 Cooldown 20 Repeats 0 Name "Disengage" } ChangeAttributes // I saw something! Must.. wabada them all. { Delay 1 Repeats 0 Cooldown 10 IfSeeTarget 1 Name "InCombat" } ChangeAttributes // Quick. Must deliver the intel! { Delay 0.01 Repeats 0 IfSeeTarget 0 Name "Disengage" IfHealthBelow 3000 } FireInput // New Threat message { Target player Action $DisplayTextChat Param "{99CCFF}Giant Assault-Cannon Heavy{reset}: I promise you, pain without end." Delay 0.05 Cooldown 99999 Repeats 0 IfHealthBelow 16000 } FireInput // New Threat message { Target player Action $DisplayTextChat Param "{99CCFF}Giant Assault-Cannon Heavy{reset}: Da, You ARE stuck in this wave, with me!" Delay 4 // 5 Cooldown 99999 Repeats 0 IfHealthBelow 16000 } } TFBot { Template T_TFBot_Giant_Heavy_AA_Enrage ChangeAttributes // Default { Delay 0 // 4 Cooldown 20 Repeats 0 Name "Disengage" } ChangeAttributes // I saw something! Must.. wabada them all. { Delay 1 Repeats 0 Cooldown 10 IfSeeTarget 1 Name "InCombat" } ChangeAttributes // Quick. Must deliver the intel! { Delay 0.01 Repeats 0 IfSeeTarget 0 Name "Disengage" IfHealthBelow 3000 } FireInput // New Threat message { Target player Action $DisplayTextChat Param "{99CCFF}Giant Assault-Cannon Heavy{reset}: I promise you, pain without end." Delay 0.05 Cooldown 99999 Repeats 0 IfHealthBelow 16000 } FireInput // New Threat message { Target player Action $DisplayTextChat Param "{99CCFF}Giant Assault-Cannon Heavy{reset}: Da, You ARE stuck in this wave, with me!" Delay 4 // 5 Cooldown 99999 Repeats 0 IfHealthBelow 16000 } } TFBot { Template T_TFBot_Giant_Heavy_AA_Enrage ChangeAttributes // Default { Delay 0 // 4 Cooldown 20 Repeats 0 Name "Disengage" } ChangeAttributes // I saw something! Must.. wabada them all. { Delay 1 Repeats 0 Cooldown 10 IfSeeTarget 1 Name "InCombat" } ChangeAttributes // Quick. Must deliver the intel! { Delay 0.01 Repeats 0 IfSeeTarget 0 Name "Disengage" IfHealthBelow 3000 } FireInput // New Threat message { Target player Action $DisplayTextChat Param "{99CCFF}Giant Assault-Cannon Heavy{reset}: I promise you, pain without end." Delay 0.05 Cooldown 99999 Repeats 0 IfHealthBelow 16000 } FireInput // New Threat message { Target player Action $DisplayTextChat Param "{99CCFF}Giant Assault-Cannon Heavy{reset}: Da, You ARE stuck in this wave, with me!" Delay 4 // 5 Cooldown 99999 Repeats 0 IfHealthBelow 16000 } } TFBot { Template T_TFBot_Giant_Heavy_AA_Enrage ChangeAttributes // Default { Delay 0 // 4 Cooldown 20 Repeats 0 Name "Disengage" } ChangeAttributes // I saw something! Must.. wabada them all. { Delay 1 Repeats 0 Cooldown 10 IfSeeTarget 1 Name "InCombat" } ChangeAttributes // Quick. Must deliver the intel! { Delay 0.01 Repeats 0 IfSeeTarget 0 Name "Disengage" IfHealthBelow 3000 } FireInput // New Threat message { Target player Action $DisplayTextChat Param "{99CCFF}Giant Assault-Cannon Heavy{reset}: I promise you, pain without end." Delay 0.05 Cooldown 99999 Repeats 0 IfHealthBelow 16000 } FireInput // New Threat message { Target player Action $DisplayTextChat Param "{99CCFF}Giant Assault-Cannon Heavy{reset}: Da, You ARE stuck in this wave, with me!" Delay 4 // 5 Cooldown 99999 Repeats 0 IfHealthBelow 16000 } } TFBot { Template T_TFBot_Giant_Heavy_AA_Enrage ChangeAttributes // Default { Delay 0 // 4 Cooldown 20 Repeats 0 Name "Disengage" } ChangeAttributes // I saw something! Must.. wabada them all. { Delay 1 Repeats 0 Cooldown 10 IfSeeTarget 1 Name "InCombat" } ChangeAttributes // Quick. Must deliver the intel! { Delay 0.01 Repeats 0 IfSeeTarget 0 Name "Disengage" IfHealthBelow 3000 } FireInput // New Threat message { Target player Action $DisplayTextChat Param "{99CCFF}Giant Assault-Cannon Heavy{reset}: I promise you, pain without end." Delay 0.05 Cooldown 99999 Repeats 0 IfHealthBelow 16000 } FireInput // New Threat message { Target player Action $DisplayTextChat Param "{99CCFF}Giant Assault-Cannon Heavy{reset}: Da, You ARE stuck in this wave, with me!" Delay 4 // 5 Cooldown 99999 Repeats 0 IfHealthBelow 16000 } } TFBot { Template T_TFBot_Giant_Heavy_AA_Enrage ChangeAttributes // Default { Delay 0 // 4 Cooldown 20 Repeats 0 Name "Disengage" } ChangeAttributes // I saw something! Must.. wabada them all. { Delay 1 Repeats 0 Cooldown 10 IfSeeTarget 1 Name "InCombat" } ChangeAttributes // Quick. Must deliver the intel! { Delay 0.01 Repeats 0 IfSeeTarget 0 Name "Disengage" IfHealthBelow 3000 } FireInput // New Threat message { Target player Action $DisplayTextChat Param "{99CCFF}Giant Assault-Cannon Heavy{reset}: I promise you, pain without end." Delay 0.05 Cooldown 99999 Repeats 0 IfHealthBelow 16000 } FireInput // New Threat message { Target player Action $DisplayTextChat Param "{99CCFF}Giant Assault-Cannon Heavy{reset}: Da, You ARE stuck in this wave, with me!" Delay 4 // 5 Cooldown 99999 Repeats 0 IfHealthBelow 16000 } } TFBot { Template T_TFBot_Giant_Heavy_AA_Enrage ChangeAttributes // Default { Delay 0 // 4 Cooldown 20 Repeats 0 Name "Disengage" } ChangeAttributes // I saw something! Must.. wabada them all. { Delay 1 Repeats 0 Cooldown 10 IfSeeTarget 1 Name "InCombat" } ChangeAttributes // Quick. Must deliver the intel! { Delay 0.01 Repeats 0 IfSeeTarget 0 Name "Disengage" IfHealthBelow 3000 } FireInput // New Threat message { Target player Action $DisplayTextChat Param "{99CCFF}Giant Assault-Cannon Heavy{reset}: I promise you, pain without end." Delay 0.05 Cooldown 99999 Repeats 0 IfHealthBelow 16000 } FireInput // New Threat message { Target player Action $DisplayTextChat Param "{99CCFF}Giant Assault-Cannon Heavy{reset}: Da, You ARE stuck in this wave, with me!" Delay 4 // 5 Cooldown 99999 Repeats 0 IfHealthBelow 16000 } } TFBot { Template T_TFBot_Giant_Heavy_AA_Enrage ChangeAttributes // Default { Delay 0 // 4 Cooldown 20 Repeats 0 Name "Disengage" } ChangeAttributes // I saw something! Must.. wabada them all. { Delay 1 Repeats 0 Cooldown 10 IfSeeTarget 1 Name "InCombat" } ChangeAttributes // Quick. Must deliver the intel! { Delay 0.01 Repeats 0 IfSeeTarget 0 Name "Disengage" IfHealthBelow 3000 } FireInput // New Threat message { Target player Action $DisplayTextChat Param "{99CCFF}Giant Assault-Cannon Heavy{reset}: I promise you, pain without end." Delay 0.05 Cooldown 99999 Repeats 0 IfHealthBelow 16000 } FireInput // New Threat message { Target player Action $DisplayTextChat Param "{99CCFF}Giant Assault-Cannon Heavy{reset}: Da, You ARE stuck in this wave, with me!" Delay 4 // 5 Cooldown 99999 Repeats 0 IfHealthBelow 16000 } } TFBot { Template T_TFBot_Giant_Heavy_AA_Enrage ChangeAttributes // Default { Delay 0 // 4 Cooldown 20 Repeats 0 Name "Disengage" } ChangeAttributes // I saw something! Must.. wabada them all. { Delay 1 Repeats 0 Cooldown 10 IfSeeTarget 1 Name "InCombat" } ChangeAttributes // Quick. Must deliver the intel! { Delay 0.01 Repeats 0 IfSeeTarget 0 Name "Disengage" IfHealthBelow 3000 } FireInput // New Threat message { Target player Action $DisplayTextChat Param "{99CCFF}Giant Assault-Cannon Heavy{reset}: I promise you, pain without end." Delay 0.05 Cooldown 99999 Repeats 0 IfHealthBelow 16000 } FireInput // New Threat message { Target player Action $DisplayTextChat Param "{99CCFF}Giant Assault-Cannon Heavy{reset}: Da, You ARE stuck in this wave, with me!" Delay 4 // 5 Cooldown 99999 Repeats 0 IfHealthBelow 16000 } } TFBot { Template T_TFBot_Giant_Heavy_AA_Enrage ChangeAttributes // Default { Delay 0 // 4 Cooldown 20 Repeats 0 Name "Disengage" } ChangeAttributes // I saw something! Must.. wabada them all. { Delay 1 Repeats 0 Cooldown 10 IfSeeTarget 1 Name "InCombat" } ChangeAttributes // Quick. Must deliver the intel! { Delay 0.01 Repeats 0 IfSeeTarget 0 Name "Disengage" IfHealthBelow 3000 } FireInput // New Threat message { Target player Action $DisplayTextChat Param "{99CCFF}Giant Assault-Cannon Heavy{reset}: I promise you, pain without end." Delay 0.05 Cooldown 99999 Repeats 0 IfHealthBelow 16000 } FireInput // New Threat message { Target player Action $DisplayTextChat Param "{99CCFF}Giant Assault-Cannon Heavy{reset}: Da, You ARE stuck in this wave, with me!" Delay 4 // 5 Cooldown 99999 Repeats 0 IfHealthBelow 16000 } } TFBot { Template T_TFBot_Giant_Heavy_AA_Enrage ChangeAttributes // Default { Delay 0 // 4 Cooldown 20 Repeats 0 Name "Disengage" } ChangeAttributes // I saw something! Must.. wabada them all. { Delay 1 Repeats 0 Cooldown 10 IfSeeTarget 1 Name "InCombat" } ChangeAttributes // Quick. Must deliver the intel! { Delay 0.01 Repeats 0 IfSeeTarget 0 Name "Disengage" IfHealthBelow 3000 } FireInput // New Threat message { Target player Action $DisplayTextChat Param "{99CCFF}Giant Assault-Cannon Heavy{reset}: I promise you, pain without end." Delay 0.05 Cooldown 99999 Repeats 0 IfHealthBelow 16000 } FireInput // New Threat message { Target player Action $DisplayTextChat Param "{99CCFF}Giant Assault-Cannon Heavy{reset}: Da, You ARE stuck in this wave, with me!" Delay 4 // 5 Cooldown 99999 Repeats 0 IfHealthBelow 16000 } } TFBot { Template T_TFBot_Giant_Heavy_AA_Enrage ChangeAttributes // Default { Delay 0 // 4 Cooldown 20 Repeats 0 Name "Disengage" } ChangeAttributes // I saw something! Must.. wabada them all. { Delay 1 Repeats 0 Cooldown 10 IfSeeTarget 1 Name "InCombat" } ChangeAttributes // Quick. Must deliver the intel! { Delay 0.01 Repeats 0 IfSeeTarget 0 Name "Disengage" IfHealthBelow 3000 } FireInput // New Threat message { Target player Action $DisplayTextChat Param "{99CCFF}Giant Assault-Cannon Heavy{reset}: I promise you, pain without end." Delay 0.05 Cooldown 99999 Repeats 0 IfHealthBelow 16000 } FireInput // New Threat message { Target player Action $DisplayTextChat Param "{99CCFF}Giant Assault-Cannon Heavy{reset}: Da, You ARE stuck in this wave, with me!" Delay 4 // 5 Cooldown 99999 Repeats 0 IfHealthBelow 16000 } } TFBot { Template T_TFBot_Giant_Heavy_AA_Enrage ChangeAttributes // Default { Delay 0 // 4 Cooldown 20 Repeats 0 Name "Disengage" } ChangeAttributes // I saw something! Must.. wabada them all. { Delay 1 Repeats 0 Cooldown 10 IfSeeTarget 1 Name "InCombat" } ChangeAttributes // Quick. Must deliver the intel! { Delay 0.01 Repeats 0 IfSeeTarget 0 Name "Disengage" IfHealthBelow 3000 } FireInput // New Threat message { Target player Action $DisplayTextChat Param "{99CCFF}Giant Assault-Cannon Heavy{reset}: I promise you, pain without end." Delay 0.05 Cooldown 99999 Repeats 0 IfHealthBelow 16000 } FireInput // New Threat message { Target player Action $DisplayTextChat Param "{99CCFF}Giant Assault-Cannon Heavy{reset}: Da, You ARE stuck in this wave, with me!" Delay 4 // 5 Cooldown 99999 Repeats 0 IfHealthBelow 16000 } } TFBot { Template T_TFBot_Giant_Heavy_AA_Enrage ChangeAttributes // Default { Delay 0 // 4 Cooldown 20 Repeats 0 Name "Disengage" } ChangeAttributes // I saw something! Must.. wabada them all. { Delay 1 Repeats 0 Cooldown 10 IfSeeTarget 1 Name "InCombat" } ChangeAttributes // Quick. Must deliver the intel! { Delay 0.01 Repeats 0 IfSeeTarget 0 Name "Disengage" IfHealthBelow 3000 } FireInput // New Threat message { Target player Action $DisplayTextChat Param "{99CCFF}Giant Assault-Cannon Heavy{reset}: I promise you, pain without end." Delay 0.05 Cooldown 99999 Repeats 0 IfHealthBelow 16000 } FireInput // New Threat message { Target player Action $DisplayTextChat Param "{99CCFF}Giant Assault-Cannon Heavy{reset}: Da, You ARE stuck in this wave, with me!" Delay 4 // 5 Cooldown 99999 Repeats 0 IfHealthBelow 16000 } } TFBot { Template T_TFBot_Giant_Heavy_AA_Enrage ChangeAttributes // Default { Delay 0 // 4 Cooldown 20 Repeats 0 Name "Disengage" } ChangeAttributes // I saw something! Must.. wabada them all. { Delay 1 Repeats 0 Cooldown 10 IfSeeTarget 1 Name "InCombat" } ChangeAttributes // Quick. Must deliver the intel! { Delay 0.01 Repeats 0 IfSeeTarget 0 Name "Disengage" IfHealthBelow 3000 } FireInput // New Threat message { Target player Action $DisplayTextChat Param "{99CCFF}Giant Assault-Cannon Heavy{reset}: I promise you, pain without end." Delay 0.05 Cooldown 99999 Repeats 0 IfHealthBelow 16000 } FireInput // New Threat message { Target player Action $DisplayTextChat Param "{99CCFF}Giant Assault-Cannon Heavy{reset}: Da, You ARE stuck in this wave, with me!" Delay 4 // 5 Cooldown 99999 Repeats 0 IfHealthBelow 16000 } } TFBot { Template T_TFBot_Giant_Heavy_AA_Enrage ChangeAttributes // Default { Delay 0 // 4 Cooldown 20 Repeats 0 Name "Disengage" } ChangeAttributes // I saw something! Must.. wabada them all. { Delay 1 Repeats 0 Cooldown 10 IfSeeTarget 1 Name "InCombat" } ChangeAttributes // Quick. Must deliver the intel! { Delay 0.01 Repeats 0 IfSeeTarget 0 Name "Disengage" IfHealthBelow 3000 } FireInput // New Threat message { Target player Action $DisplayTextChat Param "{99CCFF}Giant Assault-Cannon Heavy{reset}: I promise you, pain without end." Delay 0.05 Cooldown 99999 Repeats 0 IfHealthBelow 16000 } FireInput // New Threat message { Target player Action $DisplayTextChat Param "{99CCFF}Giant Assault-Cannon Heavy{reset}: Da, You ARE stuck in this wave, with me!" Delay 4 // 5 Cooldown 99999 Repeats 0 IfHealthBelow 16000 } } TFBot { Template T_TFBot_Giant_Heavy_AA_Enrage ChangeAttributes // Default { Delay 0 // 4 Cooldown 20 Repeats 0 Name "Disengage" } ChangeAttributes // I saw something! Must.. wabada them all. { Delay 1 Repeats 0 Cooldown 10 IfSeeTarget 1 Name "InCombat" } ChangeAttributes // Quick. Must deliver the intel! { Delay 0.01 Repeats 0 IfSeeTarget 0 Name "Disengage" IfHealthBelow 3000 } FireInput // New Threat message { Target player Action $DisplayTextChat Param "{99CCFF}Giant Assault-Cannon Heavy{reset}: I promise you, pain without end." Delay 0.05 Cooldown 99999 Repeats 0 IfHealthBelow 16000 } FireInput // New Threat message { Target player Action $DisplayTextChat Param "{99CCFF}Giant Assault-Cannon Heavy{reset}: Da, You ARE stuck in this wave, with me!" Delay 4 // 5 Cooldown 99999 Repeats 0 IfHealthBelow 16000 } } TFBot { Template T_TFBot_Giant_Heavy_AA_Enrage ChangeAttributes // Default { Delay 0 // 4 Cooldown 20 Repeats 0 Name "Disengage" } ChangeAttributes // I saw something! Must.. wabada them all. { Delay 1 Repeats 0 Cooldown 10 IfSeeTarget 1 Name "InCombat" } ChangeAttributes // Quick. Must deliver the intel! { Delay 0.01 Repeats 0 IfSeeTarget 0 Name "Disengage" IfHealthBelow 3000 } FireInput // New Threat message { Target player Action $DisplayTextChat Param "{99CCFF}Giant Assault-Cannon Heavy{reset}: I promise you, pain without end." Delay 0.05 Cooldown 99999 Repeats 0 IfHealthBelow 16000 } FireInput // New Threat message { Target player Action $DisplayTextChat Param "{99CCFF}Giant Assault-Cannon Heavy{reset}: Da, You ARE stuck in this wave, with me!" Delay 4 // 5 Cooldown 99999 Repeats 0 IfHealthBelow 16000 } } TFBot { Template T_TFBot_Giant_Heavy_AA_Enrage ChangeAttributes // Default { Delay 0 // 4 Cooldown 20 Repeats 0 Name "Disengage" } ChangeAttributes // I saw something! Must.. wabada them all. { Delay 1 Repeats 0 Cooldown 10 IfSeeTarget 1 Name "InCombat" } ChangeAttributes // Quick. Must deliver the intel! { Delay 0.01 Repeats 0 IfSeeTarget 0 Name "Disengage" IfHealthBelow 3000 } FireInput // New Threat message { Target player Action $DisplayTextChat Param "{99CCFF}Giant Assault-Cannon Heavy{reset}: I promise you, pain without end." Delay 0.05 Cooldown 99999 Repeats 0 IfHealthBelow 16000 } FireInput // New Threat message { Target player Action $DisplayTextChat Param "{99CCFF}Giant Assault-Cannon Heavy{reset}: Da, You ARE stuck in this wave, with me!" Delay 4 // 5 Cooldown 99999 Repeats 0 IfHealthBelow 16000 } } TFBot { Template T_TFBot_Giant_Heavy_AA_Enrage_Owo Name "Giant Assauwult-Cannon Heavy" ChangeAttributes // Default { Delay 0 // 4 Cooldown 20 Repeats 0 Name "Disengage" } FireInput // New Threat message { Target player Action $DisplayTextChat Param "{99CCFF}Giant Assault-Cannon Heavy{reset}: I promise to umm.. send you hugs?" Delay 2 Cooldown 99999 Repeats 0 IfHealthBelow 16000 } FireInput // New Threat message { Target player Action $DisplayTextChat Param "{99CCFF}Giant Assault-Cannon Heavy{reset}: I forgot my line." // Was it to help you lowmann?" Delay 5 Cooldown 99999 Repeats 0 IfHealthBelow 16000 } } // he uhh forgor his intro } FirstSpawnOutput { Target wave_start_relay Action RunScriptCode Param " SINS.ChangeIconByName(`pyro_reflect_hyper_lite`,`pyro_deflector_floro`) SINS.ChangeIconByName(`soldier_blast_spammer`,`soldier_burstfire_hyper_lite`) " } DoneOutput { Target wave_start_relay Action RunScriptCode Param " SINS.ChangeIconByName(`pyro_deflector_floro`,`pyro_reflect_hyper_lite`) " } } WaveSpawn { Name sanb2s TotalCurrency 0 TotalCount 32 // 32 MaxActive 8 SpawnCount 4 WaitForAllDead sana1 WaitBeforeStarting 45 WaitBetweenSpawns 2 Support Limited Where spawnbot_right RandomChoice { TFBot { Template T_TFBot_Soldier_Bison ClassIcon soldier_bison_spammer // _hyper // Name "Bi-Thoughts Inducing Rays" // STRING_JOKENAME Name "Bi-Son Soldier" Skill Easy // Attributes AlwaysCrit ItemAttributes { ItemName "The Righteous Bison" "damage bonus" 4 // "set item tint RGB" 16738740 // Pink "set item tint RGB" 14025328 // Pink-ish } } TFBot { Template T_TFBot_Soldier_Bison ClassIcon soldier_bison_spammer // _hyper // Name "Bi-Thoughts Inducing Rays" // STRING_JOKENAME Name "Bi-Son Soldier" Skill Hard // Attributes AlwaysCrit ItemAttributes { ItemName "The Righteous Bison" "damage bonus" 4 // "set item tint RGB" 5801378 // Blue "set item tint RGB" 14504 // Dark Blue } } TFBot { Template T_TFBot_Soldier_Bison Skill Hard ClassIcon soldier_bison_spammer // _hyper // Name "Bi-Thoughts Inducing Rays" // STRING_JOKENAME Name "Bi-Son Soldier" // Attributes AlwaysCrit ItemAttributes { ItemName "The Righteous Bison" "damage bonus" 4 // "set item tint RGB" 8208497 // Purple "set item tint RGB" 10178454 // Pale Purple-ish? } } } } WaveSpawn { Name sanb1 TotalCurrency 60 TotalCount 2 MaxActive 2 SpawnCount 2 WaitForAllDead Santank3 WaitBeforeStarting 32 WaitBetweenSpawns 6 Where spawnbot_left Squad { TFBot { Template T_TFBot_Giant_Soldier_Push_RapidFire Name "Giant Red Glare Soldier" ClassIcon soldier_burstfire_hyper_lite // Name "Medic Obliterator Device" // STRING_JOKENAME ItemAttributes { ItemName "The Liberty Launcher" "damage bonus" 0.7 "Projectile speed increased" 1.8 "fire rate bonus" 0.5 "Reload time increased" 4 //10s reload "projectile gravity" 350 "mark for death" 1 "add cond on hit" 80 // Forced to parachute "add cond on hit duration" 5 } CharacterAttributes { "mod mini-crit airborne" 1 "minicrits become crits" 1 "apply z velocity on damage" 500 "apply look velocity on damage" -200 } } TFBot { Template T_TFBot_Medic_Uber_Quick Name "Quick-Uber Medic" } } } WaveSpawn { Name sanb1s TotalCurrency 27 TotalCount 9 MaxActive 9 SpawnCount 3 WaitForAllDead Santank3 WaitBeforeStarting 10 WaitBetweenSpawns 4 Where spawnbot_left Where spawnbot_right RandomChoice { TFBot { Template T_Pyro Name "Frontburn Pyro" Skill Easy Attributes AlwaysCrit ItemAttributes { ItemName "TF_WEAPON_FLAMETHROWER" "flame_speed" 1750 } Attributes AlwaysFireWeapon ClassIcon pyro_ricochet_nys } TFBot { Template T_TFBot_Pyro_Backburn Name "Backburn Pyro" ClassIcon pyro_ricochet_nys } TFBot { Template T_TFBot_Pyro_Backburn_Hyper Name "Coyoticburn Pyro" ClassIcon pyro_ricochet_nys } TFBot { Template T_TFBot_Pyro_Volcanic Name "Volcanic Pyro" ClassIcon pyro_ricochet_nys } } } WaveSpawn { Name sanb2 TotalCurrency 60 TotalCount 2 MaxActive 2 SpawnCount 2 WaitForAllSpawned sanb1 WaitBeforeStarting 22 // 32 WaitBetweenSpawns 6 Where spawnbot_left Squad { TFBot { Template T_TFBot_Giant_Pyro_Airblast_Hyper // ClassIcon pyro_reflect_daan ClassIcon pyro_deflector_floro // ClassIcon pyro_reflect_hyper_lite Name "Giant Bazinga Pyro" ExtAttr AlwaysFireWeaponAlt ItemAttributes { ItemName "Powerhouse_flamethrower_turbinetorcher" "damage bonus" 0.1 "airblast_destroy_projectile" 1 } } TFBot { Template T_TFBot_Medic_Uber_Quick } } } WaveSpawn { Name sanb1s TotalCurrency 0 TotalCount 20 MaxActive 6 SpawnCount 3 WaitForAllSpawned sana2 WaitBeforeStarting 30 WaitBetweenSpawns 4 Where spawnbot_boss Where spawnbot_right Support Limited RandomChoice { TFBot { Template T_TFBot_Sniper_Bowman_Nerfed ClassIcon sniper_bow_bleed3 Attributes AlwaysCrit } TFBot { Template T_TFBot_Sniper_Bowman_Nerfed ClassIcon sniper_bow_bleed3 Attributes AlwaysCrit } TFBot { Template T_TFBot_Sniper_Bowman_Nerfed ClassIcon sniper_bow_bleed3 Attributes AlwaysCrit } TFBot { Template T_TFBot_Sniper_Bowman_Nerfed ClassIcon sniper_bow_bleed3 Attributes AlwaysCrit } TFBot { Template T_TFBot_Sniper_Bowman_Nerfed ClassIcon sniper_bow_bleed3 Attributes AlwaysCrit } TFBot { Template T_TFBot_Sniper_Bowman_Nerfed ClassIcon sniper_bow_bleed3 Attributes AlwaysCrit } TFBot { Template T_TFBot_Sniper_Bowman_Nerfed ClassIcon sniper_bow_bleed3 Attributes AlwaysCrit } TFBot { Template T_TFBot_Sniper_Bowman_Nerfed ClassIcon sniper_bow_bleed3 Attributes AlwaysCrit } TFBot { Template T_TFBot_Sniper_Bowman_Nerfed ClassIcon sniper_bow_bleed3 Attributes AlwaysCrit } TFBot { Template T_TFBot_Sniper_Bowman_Nerfed ClassIcon sniper_bow_bleed3 Attributes AlwaysCrit } TFBot { Template T_TFBot_Sniper_Bowman_Nerfed ClassIcon sniper_bow_bleed3 Attributes AlwaysCrit } TFBot { Template T_TFBot_Sniper_Bowman_Nerfed ClassIcon sniper_bow_bleed3 Attributes AlwaysCrit } TFBot { Template T_TFBot_Sniper_Bowman_Nerfed ClassIcon sniper_bow_bleed3 Attributes AlwaysCrit } TFBot { Template T_TFBot_Sniper_Bowman_Nerfed ClassIcon sniper_bow_bleed3 Attributes AlwaysCrit } TFBot { Template T_TFBot_Sniper_Bowman_Nerfed ClassIcon sniper_bow_bleed3 Attributes AlwaysCrit } TFBot { Template T_TFBot_Sniper_Bowman_Nerfed ClassIcon sniper_bow_bleed3 Attributes AlwaysCrit } TFBot { Template T_TFBot_Sniper_Bowman_Nerfed ClassIcon sniper_bow_bleed3 Attributes AlwaysCrit } TFBot { Template T_TFBot_Sniper_Bowman_Nerfed ClassIcon sniper_bow_bleed3 Attributes AlwaysCrit } TFBot { Template T_TFBot_Sniper_Bowman_Nerfed ClassIcon sniper_bow_bleed3 Attributes AlwaysCrit } TFBot { Template T_TFBot_Sniper_Bowman_Bleed ClassIcon sniper_bow_bleed3 Attributes AlwaysCrit } } } WaveSpawn { Name sanb3 TotalCurrency 60 TotalCount 4 MaxActive 4 SpawnCount 2 WaitForAllSpawned sanb2 WaitBeforeStarting 22 // 32 WaitBetweenSpawns 15 // 18 Where spawnbot_left FirstSpawnOutput { Target wave_start_relay Action RunScriptCode Param " SINS.ChangeIconByName(`pyro_reflect_daan`,`pyro_deflector_floro`) " } Squad { TFBot { Template T_TFBot_Giant_Pyro_Deflector //ClassIcon pyro_reflect_daan //ClassIcon pyro_deflector_sif ClassIcon pyro_deflector_floro Name "Giant Deflector Pyro" ExtAttr AlwaysFireWeaponAlt CharacterAttributes { "minicrits become crits" 1 "mult airblast refire time" 1.5 } } TFBot { // Template T_TFBot_Giant_Soldier_Push_RapidFire Template T_TFBot_Giant_Soldier_Burst_Hyper // Name "Giant Rapid Blast Soldier" ClassIcon soldier_burstfire_hyper_lite CharacterAttributes { "minicrits become crits" 1 "damage causes airblast" 0 } } } } WaveSpawn { Name sanb2s TotalCurrency 0 TotalCount 32 // 32 MaxActive 8 SpawnCount 4 WaitForAllSpawned sanb1 WaitBeforeStarting 45 WaitBetweenSpawns 2 Support Limited Where spawnbot_right RandomChoice { TFBot { Template T_TFBot_Soldier_Bison ClassIcon soldier_bison_spammer // _hyper // Name "Bi-Thoughts Inducing Rays" // STRING_JOKENAME Name "Bi-Son Soldier" Skill Easy // Attributes AlwaysCrit ItemAttributes { ItemName "The Righteous Bison" "damage bonus" 4 // "set item tint RGB" 16738740 // Pink "set item tint RGB" 14025328 // Pink-ish } } TFBot { Template T_TFBot_Soldier_Bison ClassIcon soldier_bison_spammer // _hyper // Name "Bi-Thoughts Inducing Rays" // STRING_JOKENAME Name "Bi-Son Soldier" Skill Hard // Attributes AlwaysCrit ItemAttributes { ItemName "The Righteous Bison" "damage bonus" 4 // "set item tint RGB" 5801378 // Blue "set item tint RGB" 14504 // Dark Blue } } TFBot { Template T_TFBot_Soldier_Bison Skill Hard ClassIcon soldier_bison_spammer // _hyper // Name "Bi-Thoughts Inducing Rays" // STRING_JOKENAME Name "Bi-Son Soldier" // Attributes AlwaysCrit ItemAttributes { ItemName "The Righteous Bison" "damage bonus" 4 // "set item tint RGB" 8208497 // Purple "set item tint RGB" 10178454 // Pale Purple-ish? } } } } WaveSpawn { Name sanb1s TotalCurrency 54 TotalCount 18 MaxActive 6 SpawnCount 3 WaitForAllSpawned sanb1 WaitBeforeStarting 40 // 32 WaitBetweenSpawns 6 // 4 Where spawnbot_left Where spawnbot_right RandomChoice { TFBot { Template T_Pyro Name "Frontburn Pyro" Skill Easy Attributes AlwaysCrit ItemAttributes { ItemName "TF_WEAPON_FLAMETHROWER" "flame_speed" 1750 } Attributes AlwaysFireWeapon ClassIcon pyro_ricochet_nys } TFBot { Template T_TFBot_Pyro_Backburn Name "Backburn Pyro" ClassIcon pyro_ricochet_nys } TFBot { Template T_TFBot_Pyro__FlameDrag Name "Ricochet Pyro" ClassIcon pyro_ricochet_nys } TFBot { Template T_TFBot_Pyro__FlameDrag Name "Ricochet Pyro" ClassIcon pyro_ricochet_nys } TFBot { Template T_TFBot_Pyro_Backburn_Hyper Name "Coyoticburn Pyro" ClassIcon pyro_ricochet_nys } // TFBot { Template T_TFBot_Pyro_Volcanic Name "Volcanic Pyro" ClassIcon pyro_ricochet_nys } } } WaveSpawn { Name sanb1s TotalCurrency 0 TotalCount 621 MaxActive 8 SpawnCount 4 WaitForAllSpawned sanb3 WaitBeforeStarting 45 WaitBetweenSpawns 6 Where spawnbot_left Where spawnbot_right Support Limited RandomChoice { TFBot { Template T_Scout Skill Easy Name "Ext. Scout" WeaponRestrictions MeleeOnly Item "Batsaber" Item "The Cross-comm Express" Item "Biomech Backpack" ClassIcon banner_buff_conch CharacterAttributes { "damage bonus" 1.35 "mod weapon blocks healing" 1 "speed_boost_on_kill" 6 "ragdolls become ash" 0 // incinerate "turn to gold" 1 // gold! "set item tint rgb" 15185211 // aussie gold "mark for death" 1 } } TFBot { Template T_Pyro Skill Easy Attributes AlwaysFireWeapon Name "Dominant Toaster" Attributes SpawnWithFullCharge Item "Head Prize" Item "Bread Biter" Item "Loaf Loafers" Item "The Buff Banner" CharacterAttributes { "deploy time increased" .5 "increase buff duration" 9.0 } ClassIcon banner_buff_conch } TFBot { Template T_TFBot_Pyro_Airblast_Reversed Skill Easy Name "Speedy Toaster" Attributes SpawnWithFullCharge Item "Breadcrab" Item "Bread Biter" Item "Loaf Loafers" Item "The Concheror" CharacterAttributes { "deploy time increased" .5 "increase buff duration" 9.0 } ClassIcon banner_buff_conch } TFBot { Template T_TFBot_Soldier_DirectHit_Buff Skill Expert Name "Ext. Soldier" Attributes SpawnWithFullCharge ClassIcon banner_buff_conch } } } WaveSpawn { Name sanb1s TotalCurrency 0 TotalCount 621 MaxActive 2 SpawnCount 2 WaitForAllSpawned sanb2 WaitBeforeStarting 35 WaitBetweenSpawns 3 Where spawnbot_boss Where spawnbot_right Support Limited RandomChoice { RandomChoice { TFBot { Template T_TFBot_Sniper_Bowman_Bleed ClassIcon sniper_bow_bleed3 } TFBot { Template T_TFBot_Sniper_Bowman_Bleed ClassIcon sniper_bow_bleed3 } TFBot { Template T_TFBot_Sniper_Bowman_Bleed ClassIcon sniper_bow_bleed3 } TFBot { Template T_TFBot_Sniper_Bowman_Bleed ClassIcon sniper_bow_bleed3 } TFBot { Template T_TFBot_Sniper_Bowman_Bleed ClassIcon sniper_bow_bleed3 } TFBot { Template T_TFBot_Sniper_Bowman_Bleed ClassIcon sniper_bow_bleed3 } TFBot { Template T_TFBot_Sniper_Bowman_Bleed ClassIcon sniper_bow_bleed3 } TFBot { Template T_TFBot_Sniper_Bowman_Bleed ClassIcon sniper_bow_bleed3 } TFBot { Template T_TFBot_Sniper_Bowman_Bleed ClassIcon sniper_bow_bleed3 } TFBot { Template T_TFBot_Sniper_Bowman_Bleed ClassIcon sniper_bow_bleed3 } TFBot { Template T_TFBot_Sniper_Bowman_Bleed ClassIcon sniper_bow_bleed3 } TFBot { Template T_TFBot_Sniper_Bowman_Bleed ClassIcon sniper_bow_bleed3 } TFBot { Template T_TFBot_Sniper_Bowman_Bleed ClassIcon sniper_bow_bleed3 } TFBot { Template T_TFBot_Sniper_Bowman_Bleed ClassIcon sniper_bow_bleed3 } TFBot { Template T_TFBot_Sniper_Bowman_Nerfed ClassIcon sniper_bow_bleed3 } TFBot { Template T_TFBot_Sniper_Bowman_Nerfed ClassIcon sniper_bow_bleed3 } TFBot { Template T_TFBot_Sniper_Bowman_Nerfed ClassIcon sniper_bow_bleed3 } TFBot { Template T_TFBot_Sniper_Bowman_Nerfed ClassIcon sniper_bow_bleed3 } TFBot { Template T_TFBot_Sniper_Bowman_Nerfed ClassIcon sniper_bow_bleed3 } TFBot { Template T_TFBot_Sniper_Armored_Bowman_Penetrate Name "Rapid Fire Puncture Bowman" ClassIcon sniper_bow_bleed3 } } } } WaveSpawn { Name sanb5s WaitForAllDead sana1 TotalCurrency 0 TotalCount 25 MaxActive 3 SpawnCount 1 WaitBeforeStarting 45 WaitBetweenSpawns 30 Where { Relative Behind MaxDistance 5000 MinDistance 2000 } Support Limited RandomChoice { TFBot { Template T_TFBot_Engineer_MiniDropper ClassIcon mini_sentry Name "Brute-Force Engineer" } // TFBot { Template T_TFBot_Engineer_MiniSentry ClassIcon mini_sentry Name "Brute-Force Engineer" } } } WaveSpawn { Name sanb5s WaitForAllDead sana1 TotalCurrency 0 TotalCount 69 MaxActive 2 SpawnCount 1 WaitBeforeStarting 10 WaitBetweenSpawns 15 Where spawnbot_right Support Limited RandomChoice { TFBot { Template T_TFBot_Engineer_Battle_MiniSentry_Gunsling ClassIcon mini_sentry Name "Brute-Force Engineer" } TFBot { Template T_TFBot_Engineer_Battle_Frontier ClassIcon mini_sentry Name "Brute-Force Engineer" } TFBot { Template T_TFBot_Engineer_Battle_MiniSentry ClassIcon mini_sentry Name "Brute-Force Engineer" } TFBot { Template T_TFBot_Engineer_MiniSentry ClassIcon mini_sentry Name "Brute-Force Engineer" } } } WaveSpawn { Name sanb4 TotalCurrency 255 TotalCount 4 MaxActive 4 SpawnCount 4 WaitForAllDead sanb3 WaitBeforeStarting 15 // 32 WaitBetweenSpawns 0 // 4 Where spawnbot_right Squad { TFBot { Template T_TFBot_Giant_Heavy_Enrage Health 5000 ClassIcon heavy_penetrate_hyper Item "Heavy Heating" MaxVisionRange 1200 ItemAttributes { ItemName "Iron Curtain" "accuracy scales damage" 1.5 "fire rate bonus" 0.8 "fire rate bonus with reduced health" 0.7 "spread penalty" 6 "continous accuracy mult" 0.5 "continous accuracy time" 4 "mult_spread_scales_consecutive" 1 "killstreak tier" 1 } } TFBot { Template T_TFBot_Medic_Uber_Quick Name "Quick-Uber Medic" } TFBot { Template T_TFBot_Medic_Uber_Quick Name "Quick-Uber Medic" } TFBot { Template T_TFBot_Medic_Uber_Quick Name "Quick-Uber Medic" } } } WaveSpawn { Name san_SuperJumprolling_Birb3 TotalCurrency 0 TotalCount 10 MaxActive 6 SpawnCount 2 // 1 WaitForAllSpawned sanb2 WaitBeforeStarting 60 // 30 WaitBetweenSpawns 6 // 6 Where spawnbot_left // Support Limited RandomChoice { TFBot { Template T_Scout Name "Nimble Scout" ClassIcon scout_fast Item "Unarmed Combat" WeaponRestrictions MeleeOnly Item "Batter's Beak" Item "Fowl Fists" Item "Talon Trotters" Attributes IgnoreEnemies } TFBot { Template T_Scout Name "Nimble Scout" ClassIcon scout_fast Item "Unarmed Combat" WeaponRestrictions MeleeOnly Item "Batter's Beak" Item "Fowl Fists" Item "Talon Trotters" Attributes IgnoreEnemies } TFBot { Template T_Scout Name "Nimble Scout" ClassIcon scout_fast Item "Unarmed Combat" WeaponRestrictions MeleeOnly Item "Batter's Beak" Item "Fowl Fists" Item "Talon Trotters" Attributes IgnoreEnemies } TFBot { Template T_Scout Name "Nimble Scout" ClassIcon scout_fast Item "Unarmed Combat" WeaponRestrictions MeleeOnly Item "Batter's Beak" Item "Fowl Fists" Item "Talon Trotters" Attributes IgnoreEnemies } TFBot { Template T_Scout Name "Nimble Scout" ClassIcon scout_fast Item "Unarmed Combat" WeaponRestrictions MeleeOnly Item "Batter's Beak" Item "Fowl Fists" Item "Talon Trotters" Attributes IgnoreEnemies } TFBot { Template T_TFBot_Scout_Quick Attributes IgnoreEnemies Name "Birds of a Feather" // STRING_JOKENAME } // TFBot { // Template T_TFBot_Scout_Quick // Name "Flock Together" // Name "Birds of a Feather" } } ///// TANK Train ///// WaveSpawn { Name Santanktrain WaitForAllDead sanb3 TotalCurrency 0 TotalCount 3 Where spawnbot_boss WaitBeforeStarting 8 // 10 WaitBetweenSpawns 3 Support Limited FirstSpawnWarningSound "ambient/alarms/razortrain_horn1.wav" FirstSpawnOutput { Target boss_spawn_relay Action Trigger } Tank { Health 15000 Name tankboss1 ClassIcon tankspeed Speed 60 // 1m 45s on this map Skin 0 StartingPathTrackNode "boss_path_1" OnKilledOutput { Target boss_dead_relay Action Trigger } OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn { WaitForAllSpawned Santanktrain WaitBeforeStarting 0.05 FirstSpawnWarningSound "Announcer.MVM_Tank_Alert_Spawn" FirstSpawnOutput { Target wave_start_relay Action RunScriptCode Param " ClientPrint(null,3,`\x0799CCFFTank Train with 3x15k HP inbound!`) " } } ///// TANK 1 OVER ///// } // Wave 3 Over /// // WAVE 4/6 (650$) /// Wave { WaitWhenDone 65 Checkpoint Yes InitWaveOutput { // Target wave_init_relay // Don't do anything on this map Target gamerules Action RunScriptCode Param " SetSkyboxTexture (`sky_nightfall_01`) // Thanks ficool2. EntFire(`nav_prefer_flank_right`, `Kill`) EntFire(`nav_prefer_flank_left`, `Kill`) EntFire(`func_upgradestation`, `enable`); ClientPrint(null,3,`Time attack! Support will only spawn after a set amount of time.`) ClientPrint(null,3,`Merasmus will help cue in when they do!`) ClientPrint(null,3,`\x07fbeccbDon't stick around for too long, Merasmus may become bored and try to kill you.`) Convars.SetValue(`tf_airblast_cray_lose_footing_duration`, 0); // No more airblast Convars.SetValue(`tf_airblast_cray_power`, 150); Convars.SetValue(`tf_bot_taunt_victim_chance`, 0); Convars.SetValue(`tf_bot_pyro_always_reflect`, 1); Convars.SetValue(`tf_bot_pyro_shove_away_range`, 1000); // This procs phlog Convars.SetValue(`tf_bot_engineer_mvm_hint_min_distance_from_bomb`, 500); Convars.SetValue(`tf_bot_engineer_mvm_sentry_hint_bomb_forward_range`, 2750); Convars.SetValue(`tf_bot_engineer_mvm_sentry_hint_bomb_backward_range`, 250); // PRECACHE: // Precache() IncludeScript(`seel_ins.nut`, getroottable()) //S.I.N.S by Seelpit. " } StartWaveOutput { Target wave_start_endurance_relay Action Trigger } WaveSpawn { Name sanc1 WaitBeforeStarting 0 FirstSpawnOutput { Target wave_start_relay Action RunScriptCode Param " SINS.ChangeIconByName(`heavy_apocofist`,`timer_lite`) SINS.ChangeIconByName(`demoknight_headtaker_nys`,`timer_lite`) SINS.ChangeIconByName(`pyro_dragon_fury_swordstone`,`timer_lite`) SINS.ChangeIconByName(`soldier_crit_banner_sif`,`timer_lite`) SINS.ChangeIconByName(`demoknight_headtaker_nys`,`timer_lite`) " } } DoneOutput { Target wave_finished_relay Action Trigger } WaveSpawn { Name sanc1 WaitBeforeStarting 0 FirstSpawnWarningSound "vo/halloween_merasmus/sf14_merasmus_minigame_overtime_02.mp3" // You BORE merasmus! Time to make this more interesting. FirstSpawnOutput { Target gamerules Action RunScriptCode Param " SpawnEntityFromTable(`training_annotation` , { targetname = `sif_annot` display_text = `Deadly Supports will be enabled in 30s.` lifetime = `15` origin = `-2259 2688 432` } ) EntFire(`sif_annot`, `show`) EntFire(`sif_annot`, `kill`, ``, 12) " } } WaveSpawn { Name sia1 TotalCurrency 97 TotalCount 6 MaxActive 6 SpawnCount 3 WaitBeforeStarting 4 WaitBetweenSpawns 30 Where spawnbot_left Squad { TFBot { Template T_TFBot_Scout_SodaPopper // Name "Watch yo tone, bro" // Name "Hyper Milk Scout" Name "Damage Scout Subclass" // Attributes AlwaysCrit Item "Battery Canteens" UseHumanAnimations 1 ItemAttributes { ItemName "The Soda Popper" "fire rate bonus" 0.5 "clip size bonus" 2 "fire input on kill" "!activator^$TauntFromItem^Taunt: The Killer Signature" } CharacterAttributes { "max health additive bonus" 310 } } TFBot { Template T_TFBot_Medic_OverHeal_Quickfix // Name "Big-Heal Medic" Name "Healthmancer Immortalis" Attributes IgnoreFlag ClassIcon medic_overheal_2 } TFBot { Template T_TFBot_Medic_OverHeal_Quickfix // Name "Big-Heal Medic" Name "Healthmancer Immortalis" Attributes IgnoreFlag ClassIcon medic_overheal_2 } } } WaveSpawn { Name sia2 // WaitForAllSpawned sia1 TotalCurrency 18 TotalCount 18 MaxActive 12 SpawnCount 6 WaitBeforeStarting 2 // 2 WaitBetweenSpawns 8 Where spawnbot_left Squad { FormationSize 999 NoWaitForFormation 1 TFBot { Template T_TFBot_Sniper_Armored_Piss ClassIcon sniper_jarate_bushwacka Name "Crocodilian Jarjurer" Health 625 CharacterAttributes { "move speed bonus" 0.8 } } TFBot { Template T_TFBot_Sniper_Bushwacka Name "Crocodilead" ClassIcon sniper_jarate_bushwacka } TFBot { Template T_TFBot_Sniper_Bushwacka Name "Crocodilead" ClassIcon sniper_jarate_bushwacka } TFBot { Template T_TFBot_Pyro_Neon Name "Neon Shark" ClassIcon sniper_jarate_bushwacka CharacterAttributes { "crit vs burning players" 1 "crit vs non burning players" 1 "mod shovel speed boost" 1 } } TFBot { Template T_TFBot_Pyro_Neon Name "Short-lived Neon META Pyro" ClassIcon sniper_jarate_bushwacka CharacterAttributes { "crit vs burning players" 1 "crit vs non burning players" 1 "mod shovel speed boost" 1 } } TFBot { Template T_TFBot_Sniper_Bushwacka_Crocostyle Name "Crocodilianer" ClassIcon sniper_jarate_bushwacka CharacterAttributes { "crit vs burning players" 1 // oh no~ "crit vs non burning players" 1 "slow enemy on hit major" 1.5 } } } } WaveSpawn { Name sia3 // WaitForAllSpawned sia1 TotalCurrency 28 TotalCount 30 // 28 MaxActive 10 SpawnCount 6 // 4 WaitBeforeStarting 8 // 2 WaitBetweenSpawns 8 Where spawnbot_left TFBot { Template T_TFBot_Demoman_RapidFire // T_TFBot_Pyro_Neon // Name "Neon Shark" Name "Rapid Ultimatum" Item "The Jarmaments" UseHumanAnimations 1 CharacterAttributes { "dmg penalty vs players" 0.66 // "mod shovel speed boost" 1 "grenade explode on impact" 1 "add cond on hit" 24 "add cond on hit duration" 5 "custom projectile model" "models/weapons/c_models/urinejar.mdl" "fire input on kill" "!activator^$TauntFromItem^Taunt: Scotsmann's Stagger" } } } WaveSpawn { Name sia3 WaitForAllSpawned sia2 TotalCurrency 15 TotalCount 15 MaxActive 10 SpawnCount 5 WaitBeforeStarting 8 WaitBetweenSpawns 8 Where spawnbot_left Squad { FormationSize 999 NoWaitForFormation 1 TFBot { Template T_TFBot_Pyro_Armored_Gas_Explode ClassIcon sniper_jarate_bushwacka Name "Shark Gasjurer" Item "Neptune's Nightmare" Health 625 Scale 1.4 CharacterAttributes { "move speed bonus" 0.8 "dmg penalty vs players" 0.22 // 100 dmg } } TFBot { Template T_TFBot_Demoman_RapidFire // T_TFBot_Pyro_Neon // Name "Neon Shark" Name "Rapid Bomblet" Item "The Jarmaments" UseHumanAnimations 1 CharacterAttributes { "fire input on kill" "!activator^$TauntFromItem^Oblooterated Taunt" "dmg penalty vs players" 1 // "mod shovel speed boost" 1 // "custom projectile model" "models/weapons/c_models/urinejar.mdl" } } TFBot { Template T_TFBot_Demoman_RapidFire // T_TFBot_Pyro_Neon // Name "Neon Shark" Name "Rapid Bomblet" Item "The Jarmaments" UseHumanAnimations 1 CharacterAttributes { "fire input on kill" "!activator^$TauntFromItem^Oblooterated Taunt" "dmg penalty vs players" 1 // "mod shovel speed boost" 1 // "custom projectile model" "models/weapons/c_models/urinejar.mdl" } } TFBot { Template T_TFBot_Demoman_RapidFire // T_TFBot_Pyro_Neon // Name "Neon Shark" Name "Rapid Bomblet" Item "The Jarmaments" UseHumanAnimations 1 CharacterAttributes { "fire input on kill" "!activator^$TauntFromItem^Oblooterated Taunt" "dmg penalty vs players" 1 // "mod shovel speed boost" 1 "custom projectile model" "models/weapons/c_models/urinejar.mdl" } } TFBot { Template T_TFBot_Pyro_Neon Name "Neon Shark" ClassIcon sniper_jarate_bushwacka CharacterAttributes { "crit vs burning players" 1 "crit vs non burning players" 1 "mod shovel speed boost" 1 } } } } WaveSpawn { Name sia3 WaitForAllDead sia2 TotalCurrency 12 TotalCount 12 MaxActive 6 SpawnCount 2 WaitBeforeStarting 15 WaitBetweenSpawns 7 Where spawnbot_left Squad { TFBot { Template T_TFBot_Medic_QuickFix_Shield_Extend WeaponRestrictions SecondaryOnly Name "Bullet Jammer" } TFBot { // Template T_TFBot_Heavy_Natascha_Push // Template T_TFBot_Heavy_HuoLong Template T_TFBot_Heavy_Laser Name "Ignis Wisp" //ClassIcon heavy_deflector //ClassIcon heavy_slow ClassIcon heavy_nail Scale 1.2 Skill Hard CharacterAttributes { "minicrits become crits" 1 } } } } WaveSpawn { Name sia3s WaitForAllDead sia2 TotalCurrency 30 TotalCount 21 MaxActive 7 SpawnCount 3 // 7 WaitBeforeStarting 16 WaitBetweenSpawns 10 Where spawnbot_left TFBot { Template T_TFBot_Demoman_RapidFire // T_TFBot_Pyro_Neon // Name "Neon Shark" Name "Rapid Bomblet" UseHumanAnimations 1 CharacterAttributes { "fire input on kill" "!activator^$TauntFromItem^Oblooterated Taunt" "dmg penalty vs players" 1 // "mod shovel speed boost" 1 // "custom projectile model" "models/weapons/c_models/urinejar.mdl" } } } WaveSpawn { Name sia3 WaitForAllDead sia2 TotalCurrency 30 TotalCount 21 MaxActive 7 SpawnCount 3 // 7 WaitBeforeStarting 8 WaitBetweenSpawns 3.5 Where spawnbot_left RandomChoice { TFBot { Template T_TFBot_Heavy_Nail Name "Gun Nut" // ClassIcon heavy_deflector ClassIcon heavy_nail Skill Hard // Normal CharacterAttributes { "minicrits become crits" 1 } } TFBot { Template T_TFBot_Heavy_Nail Name "Gun Nut" // ClassIcon heavy_deflector ClassIcon heavy_nail Skill Hard // Normal CharacterAttributes { "minicrits become crits" 1 } } TFBot { Template T_TFBot_Heavy_Nail Name "Gun Nut" // ClassIcon heavy_deflector ClassIcon heavy_nail Skill Hard // Normal CharacterAttributes { "minicrits become crits" 1 } } TFBot { Template T_TFBot_Heavy_HealOnHit Name "Bullet Maniac" // ClassIcon heavy_deflector ClassIcon heavy_nail Skill Hard CharacterAttributes { "minicrits become crits" 1 } } } } WaveSpawn { Name sia4 WaitForAllSpawned sia2 TotalCurrency 50 TotalCount 6 MaxActive 3 SpawnCount 1 WaitBeforeStarting 10 WaitBetweenSpawns 6 Where spawnbot_left TFBot { Template T_TFBot_Scout_SodaPopper // Name "Watch yo tone, bro" // Name "Hyper Milk Scout" Name "Damage Scout Subclass" // Attributes AlwaysCrit Item "Battery Canteens" UseHumanAnimations 1 ItemAttributes { ItemName "The Soda Popper" "fire rate bonus" 0.5 "clip size bonus" 2 "fire input on kill" "!activator^$TauntFromItem^Deep Fried Desire Taunt" } ItemAttributes { ItemName "Battery Canteens" "refill_ammo" 3 "powerup charges" 1 } CharacterAttributes { "max health additive bonus" 310 } } } WaveSpawn { Name sib1 WaitForAllDead sia3 TotalCurrency 50 TotalCount 2 MaxActive 2 SpawnCount 2 WaitBeforeStarting 5 WaitBetweenSpawns 22 Where spawnbot_left Squad { TFBot { Template T_TFBot_Heavy_Steel_Gauntlet_Reversed_Pusher Name "Alloy Blockner" ClassIcon heavy_steelfist_push_yoovy CharacterAttributes { "mod medic healed damage bonus" 2.28 "minicrits become crits" 1 "max health additive bonus" 1337 } } TFBot { Template T_TFBot_Medic_OverHeal_Quickfix Name "Healthmancer Immortalis" Attributes IgnoreFlag ClassIcon medic_overheal_2 } } } WaveSpawn { Name sib1 WaitForAllDead sia3 TotalCurrency 120 TotalCount 12 MaxActive 10 SpawnCount 4 WaitBeforeStarting 8 WaitBetweenSpawns 12 Where spawnbot_left Squad { FormationSize 250 TFBot { Template T_TFBot_Sniper_Armored_Bowman_Penetrate Name "Shield Piercer Beast" ClassIcon sniper_bow_multi_penetrator CharacterAttributes { "minicrits become crits" 1 "max health additive bonus" 2000 } } TFBot { Template T_TFBot_Heavy_Steel_Gauntlet_Reversed_Pusher Name "Alloy Blockner" ClassIcon heavy_steelfist_push_yoovy CharacterAttributes { "mod medic healed damage bonus" 2.28 "minicrits become crits" 1 "max health additive bonus" 1337 } } TFBot { Template T_TFBot_Heavy_Steel_Gauntlet_Reversed_Pusher Name "Alloy Blockner" ClassIcon heavy_steelfist_push_yoovy CharacterAttributes { "mod medic healed damage bonus" 2.28 "minicrits become crits" 1 "max health additive bonus" 1337 } } TFBot { Template T_TFBot_Heavy_Steel_Gauntlet_Reversed_Pusher Name "Alloy Blockner" ClassIcon heavy_steelfist_push_yoovy CharacterAttributes { "mod medic healed damage bonus" 2.28 "minicrits become crits" 1 "max health additive bonus" 1337 } } } } WaveSpawn { Name sib2 WaitForAllDead sib1 TotalCurrency 60 TotalCount 6 MaxActive 6 SpawnCount 2 WaitBeforeStarting 5 WaitBetweenSpawns 5 // 6 Where spawnbot_left Squad { TFBot { Template T_TFBot_Sniper_Armored_Bowman_Penetrate Name "Shield Piercer Beast" ClassIcon sniper_bow_multi_penetrator CharacterAttributes { "minicrits become crits" 1 "max health additive bonus" 2000 } } TFBot { Template T_TFBot_Medic_OverHeal_Quickfix Name "Healthmancer Immortalis" Attributes IgnoreFlag ClassIcon medic_overheal_2 } } } WaveSpawn { Name sib2 WaitForAllSpawned sib1 TotalCurrency 70 TotalCount 6 MaxActive 6 SpawnCount 2 WaitBeforeStarting 22 WaitBetweenSpawns 2 Where spawnbot_left Squad { TFBot { Template T_TFBot_Medic_QuickFix_Shield_Extend Health 450 Scale 1.2 Name "Bullet Jammer" } } TFBot { Template T_TFBot_Sniper_Armored_Bowman_Penetrate Name "Shield Piercer Beast" ClassIcon sniper_bow_multi_penetrator CharacterAttributes { "minicrits become crits" 1 "max health additive bonus" 2000 } } } WaveSpawn { Name sib3 WaitForAllSpawned sib2 TotalCurrency 70 TotalCount 16 MaxActive 10 SpawnCount 2 // 4 WaitBeforeStarting 5 WaitBetweenSpawns 5 Where spawnbot_left Squad { TFBot { Template T_TFBot_Heavy_Steel_Gauntlet_Reversed_Pusher Name "Alloy Blockner" ClassIcon heavy_steelfist_push_yoovy CharacterAttributes { "mod medic healed damage bonus" 2.28 "minicrits become crits" 1 "max health additive bonus" 1337 } } TFBot { Template T_TFBot_Medic_Uber_Quick Attributes SpawnWithFullCharge // ClassIcon medic_kritz_flash Name "Uber-Jammer" // Name "Blinking Blitz-Jammer" } } } // // STUPID ASS TIMER. REFUSING to sync with WaitBeforeStarting // why- aaaaa ;w; // // ong, this FLUFFING sucks fr // - May 5 // So basically, // After 4 minutes (This was already tested) // - 4min -> Crit GRU / Apoc // - 7min -> Backup BlackBox // - 9min -> The boss spawns // - June 1 WaveSpawn { Name YapYapYap! WaitBeforeStarting 99999 WaitBetweenSpawns 99999 Support 1 TFBot { // Template T_TFFakePlayer_Medic_HardCarry Template T_TFBot_Giant_Heavy_BrassBeast Name "Timer" ClassIcon timer_lite Attributes AlwaysCrit } } WaveSpawn { Name SiFTimer Where Behind //Where Anywhere // didn't work. Neither does " " WaitBeforeStarting 1 WaitBetweenSpawns 99999 Support 1 TFBot { // Template T_TFFakePlayer_Medic_HardCarry Template T_TFBot_Giant_Heavy_BrassBeast // Health 600 // Urgh 300s, a.k.a 5 minutes. +10 for delay Health 590 // // Health 1080 // Nerf. Ughh JUJ were right, I need to mind the randoms. Name "Timer Expired!" // Geez, can't have a harder adv these days. Scale 0.01 Attributes UseBossHealthBar Attributes IgnoreFlag Attributes IgnoreEnemies // Attributes AlwaysFireWeapon Attributes AlwaysCrit ClassIcon timer_lite CharacterAttributes { "move speed bonus" 0.0001 "no_jump" 1 "health drain" -2 "dmg from ranged reduced" 0.001 "dmg from melee increased" 0 "ignored by enemy sentries" 1 } } } WaveSpawn { Name SiFSupport1 WaitBeforeStarting 30 // E WaitBetweenSpawns 5 // 10 TotalCount 21 // 60 MaxActive 6 SpawnCount 3 TotalCurrency 0 Where spawnbot_right Support Limited FirstSpawnWarningSound "vo/halloween_merasmus/sf14_merasmus_general_purpose_23.mp3" // What are you doing? Attack them! FirstSpawnOutput { Target wave_start_relay Action RunScriptCode Param " SINS.ChangeIconByName(`heavy_apocofist`,`timer_lite`) " } // RandomChoice { // RandomChoice { TFBot { Template T_TFBot_Heavy_Apoco_Champ Name "Jammed Apocalypse Champ" ClassIcon heavy_apocofist Attributes AlwaysCrit UseHumanAnimations 1 CharacterAttributes { "fire input on kill" "!activator^$TauntFromItem^Taunt: The Proletariat Showoff" } } FirstSpawnOutput { Target wave_start_relay Action RunScriptCode Param " ClientPrint(null,3,`Apocalypse Supports have spawned.`) " } // } // } } WaveSpawn { Name SiFSupport2 WaitBeforeStarting 90 // E WaitBetweenSpawns 8 // 10 TotalCount 52 // 60 MaxActive 9 SpawnCount 3 // 6 TotalCurrency 0 Where spawnbot_right Support Limited FirstSpawnWarningSound "vo/halloween_merasmus/sf14_merasmus_general_purpose_23.mp3" // What are you doing? Attack them! FirstSpawnOutput { Target wave_start_relay Action RunScriptCode Param " SINS.ChangeIconByName(`heavy_apocofist`,`pyro_dragon_fury_swordstone`) " } // RandomChoice { // RandomChoice { TFBot { Template T_TFBot_Pyro_Dragon Name "Jammed Dwagon Pyro" Skill Easy ClassIcon pyro_dragon_fury_swordstone Attributes AlwaysCrit UseHumanAnimations 1 CharacterAttributes { "fire input on kill" "!activator^$TauntFromItem^Taunt: Cremator's Condolences" } } FirstSpawnOutput { Target wave_start_relay Action RunScriptCode Param " ClientPrint(null,3,`Dragon Supports have spawned..`) " } // } // } } WaveSpawn { Name SiFSupport2 WaitBeforeStarting 240 // E WaitBetweenSpawns 10 TotalCount 30 // 20 MaxActive 9 SpawnCount 3 TotalCurrency 0 Where spawnbot_right Support Limited FirstSpawnWarningSound "vo/halloween_merasmus/sf14_merasmus_general_purpose_23.mp3" // What are you doing? Attack them! FirstSpawnOutput { Target wave_start_relay Action RunScriptCode Param " SINS.ChangeIconByName(`pyro_dragon_fury_swordstone`,`soldier_crit_banner_sif`) " } // RandomChoice { // RandomChoice { TFBot { Template T_TFBot_Soldier_Buff Name "Jammed Dominant Soldier" ClassIcon soldier_crit_banner_sif Skill Normal Attributes AlwaysCrit UseHumanAnimations 1 CharacterAttributes { "fire input on kill" "!activator^$TauntFromItem^Taunt: Can It!" } ItemAttributes { "Projectile speed increased HIDDEN" 0.66 "mark for death" 1 } } FirstSpawnOutput { Target wave_start_relay Action RunScriptCode Param " ClientPrint(null,3,`Crit Banner Support have spawned.`) " } // } // } } WaveSpawn { Name SiFSupportEngineers TotalCurrency 0 TotalCount 621 MaxActive 3 SpawnCount 1 WaitBeforeStarting 45 // 90 WaitBetweenSpawns 30 // 30 Where spawnbot_right Support Limited TFBot { Template T_TFBot_Engineer_FastBuild TeleportWhere spawnbot_right ClassIcon engineer // _wrench_golden_sif Name "PDQ Engineer" Attributes AlwaysFireWeapon ExtAttr BuildDispenserAsSentryGun ItemAttributes { ItemName "TF_WEAPON_WRENCH" "engy dispenser radius increased" 3 "mult dispenser rate" 2 "voice pitch scale" 0 } } } WaveSpawn { Name SiFSupportBoss WaitBeforeStarting 300 // E WaitBetweenSpawns 10 TotalCount 1 MaxActive 1 SpawnCount 1 TotalCurrency 0 // 2000 Where spawnbot_left Support Limited // FirstSpawnWarningSound "vo/halloween_merasmus/sf14_merasmus_minigame_soccer_hhh_08" // You're taking longer to kill each other than Merasmus hoped. Kill them all, Horsemann! FirstSpawnWarningSound "vo/halloween_merasmus/sf14_merasmus_minigame_soccer_hhh_05" // Death to all of you! Death! Horsemann, kill them! FirstSpawnOutput { Target wave_start_relay Action RunScriptCode Param " SINS.ChangeIconByName(`soldier_crit_banner_sif`,`demoknight_headtaker_nys`) " } RandomChoice { RandomChoice { // BOSS OPTION 1 "Horseless Horsemann -- Flarat" TFBot // Thanks for the base template Stardust! { Template T_Giant_Demoman Name "Headless Horseless Horsemann" ClassIcon demoknight_headtaker_nys Scale 1.75 Health 40000 Attributes UseBossHealthBar WeaponRestrictions MeleeOnly Attributes IgnoreFlag // BehaviorModifiers Push Action Mobber Item "The Horseless Headless Horseman's Headtaker" Item "The Horsemann's Hand-Me-Down" Item "Horseless Headless Horseman's Head" ItemAttributes { ItemName "The Horseless Headless Horseman's Headtaker" "damage bonus hidden" 0.01 "fire rate penalty" 1.25 "max health additive penalty" 0 "melee range multiplier" 2 "decapitate type" 0 "dmg missing health" 0.9 } CharacterAttributes { "head scale" 0 "move speed bonus" 0.6 "voice pitch scale" 0 "SPELL: set Halloween footstep type" 2 // PURPLE! } } // BOSS OPTION 2 "Crit Flare Rain -- Flarat" TFBot { Template T_TFBot_Giant_Pyro_Dragon_RapidFire Name "Jammed Flarat" Item "Pyro the Flamedeer" Item "the scorch shot" Attributes AlwaysCrit Action Mobber Attributes UseBossHealthBar Health 40000 ItemAttributes { ItemName "the scorch shot" "fire rate bonus" .1 "projectile spread angle penalty" 9 "damage penalty" 2.5 "Projectile speed increased" .11 "is_passive_weapon" 1 } } // BOSS OPTION 3 "Flare Shotgunner -- Gunreaper" TFBot { Class Pyro Skill Expert ClassIcon pyro_deflector_sif Attributes AlwaysCrit Attributes UseBossHealthBar Attributes MiniBoss Health 40000 Action Mobber WeaponRestrictions MeleeOnly Item "The Wraith Wrap" Item "The Sub Zero Suit" Item "The Back Scratcher" CharacterAttributes { "weapon burn dmg reduced" 0.1 "weapon burn time reduced" 0.1 "mult airblast refire time" .85 "move speed bonus" .5 "gesture speed increase" 2.0 "damage force reduction" 0.3 "airblast vulnerability multiplier" 0 "airblast vertical vulnerability multiplier" 0 "override footstep sound set" 6 } } } } FirstSpawnOutput { Target wave_start_relay Action RunScriptCode Param " ClientPrint(null,3,`Time's out. May Kaliber save you.`) " } } } // Wave 4 Over /// // WAVE 5/6 (1000$) /// Wave { WaitWhenDone 65 Checkpoint Yes InitWaveOutput { // Target wave_init_relay // Don't do anything on this map Target gamerules Action RunScriptCode Param " SetSkyboxTexture (`sky_halloween_night_01`) // Thanks ficool2. EntFire(`nav_prefer_flank_right`, `Kill`) EntFire(`nav_prefer_flank_left`, `Kill`) EntFire(`func_upgradestation`, `enable`); // ClientPrint(null,3,`Player-like robots will be sent out to hunt you, this wave.`) ClientPrint(null,3,`Ammonomicon Tip: The TWIN.`) ClientPrint(null,3,`If HOK Deflector left alive -> AttackType: HOK Shotgun. Heals 50%`) ClientPrint(null,3,`If KOK Deflector left alive -> Ignores Bomb, Gain 50% faster firing speed.`) Convars.SetValue(`tf_airblast_cray_lose_footing_duration`, 0); // No more airblast Convars.SetValue(`tf_airblast_cray_power`, 150); Convars.SetValue(`tf_bot_taunt_victim_chance`, 0); EntFire(`bombpath_clearall_relay`,`Trigger`,null,0.78) EntFire(`bombpath_arrows_clear_relay`,`Trigger`,null,0.78) EntFire(`bombpath_right`,`Trigger`,null,0.9) // Convars.SetValue(`tf_bot_pyro_always_reflect`, 1); Convars.SetValue(`tf_bot_pyro_shove_away_range`, 1000); // This procs phlog Convars.SetValue(`tf_bot_engineer_mvm_hint_min_distance_from_bomb`, 500); Convars.SetValue(`tf_bot_engineer_mvm_sentry_hint_bomb_forward_range`, 2750); Convars.SetValue(`tf_bot_engineer_mvm_sentry_hint_bomb_backward_range`, 250); " } StartWaveOutput { Target wave_start_endurance_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } // WaveSpawn { // WaitBeforeStarting 0.5 // FirstSpawnOutput // { // Target gamerules // Action RunScriptCode // Param // " // SpawnEntityFromTable(`training_annotation` , { // targetname = `sif_annot` // display_text = `Welcome to x-1 Reverse MvM!` // lifetime = `6` // origin = `-2889 2055 404` // } // ) // EntFire(`sif_annot`, `show`) // EntFire(`sif_annot`, `kill`, ``, 12) // " // } // } WaveSpawn { WaitBeforeStarting 0 FirstSpawnOutput { Target gamerules Action RunScriptCode Param " SpawnEntityFromTable(`training_annotation` , { targetname = `sif_annot` // display_text = `Possessed unusual-wearing robots will attack you relentlessly!` display_text = `Hear ye, Hear ye.` lifetime = `2` origin = `-2889 2055 404` } ) EntFire(`sif_annot`, `show`) EntFire(`sif_annot`, `kill`, ``, 3) ClientPrint(null,3,`Haunted bots will have unusual effect(s).`) ClientPrint(null,3,`Keep an eye out, they will attempt to escort their giants.`) " } } WaveSpawn { WaitBeforeStarting 4 FirstSpawnOutput { Target gamerules Action RunScriptCode Param " SpawnEntityFromTable(`training_annotation` , { targetname = `sif_annot` display_text = `Angered testers have haunted the robots .. and they WANT justice.` lifetime = `8` origin = `-2889 2055 404` } ) EntFire(`sif_annot`, `show`) EntFire(`sif_annot`, `kill`, ``, 12) " } } WaveSpawn { Name saygex TotalCurrency 0 WaitForAllDead wua1 LastSpawnWarningSound "vo/halloween_merasmus/sf14_merasmus_general_purpose_15" // Why? Why would you do that? } // WaveSpawn { // Name wua1 // TotalCurrency 0 // TotalCount 0 // MaxActive 0 // SpawnCount 0 // WaitForAllDead wua0 // WaitBeforeStarting 4 // FirstSpawnWarningSound "vo\mvm\mght\scout_mvm_m_domination13.mp3" // Hit the bricks pal, you're done. // Support Limited // TFBot { // Template T_Scout // Attributes DisableDodge // MaxVisionRange 1 // Name "Pacifist Scout META" // Item "Batter's Beak" // Item "Fowl Fists" // Item "Talon Trotters" // Item "The Candy Cane" // ClassIcon scout_bonk // Health 100 // Scale 0.8 // Attributes AlwaysCrit // BehaviorModifiers Push // WeaponRestrictions MeleeOnly // Attributes AlwaysFireWeapon // ItemAttributes { // ItemName "Batter's Beak" // "attach particle effect" 9 // } // ItemAttributes { // ItemName TF_WEAPON_SCATTERGUN // "is_passive_weapon" 1 // "override projectile type" 3 // Grenade // "damage penalty" 0.01 // "faster reload rate" -1 // "fire rate bonus" 0.9 // "clip size penalty" 4 // // "fuse bonus" 621 // "grenade no bounce" 1 // "projectile lifetime" 10 // // "add cond on hit" 126 // Slips, loses traction // "add cond on hit duration" 5 // // "custom projectile model" "models\props_farm\scenes\bananana_peel.mdl" // } // CharacterAttributes { // "dmg penalty vs players" 2 // :3 // "dmg from melee increased" 1.75 // "crit vs burning players" 1 // oh no~ // "crit vs non burning players" 1 // not these hidden crits again~ // "cannot pick up intelligence" 1 // "active health degen" -25 // } // } // } // FireInput // { // Target "player_fakeuber_relay" // Action Trigger // Repeats 0 // Delay 2 // Cooldown 10 // } // EventChangeAttributes // { // DefinitelyThrowing { // // CharacterAttributes { // "crit does no damage" 1 // "voice pitch scale" 2.5 // } // VoiceCommand // { // Delay 5 // Cooldown 8 // Repeats 0 // Type "Battle cry" // } // } // IdleMoron // { // CharacterAttributes { // "crit does no damage" 1 // "fire rate bonus" 0.66 // } // } // } // Taunt // Doesn't work, using basic PT above // { // IfSeeTarget 0 // Delay 1 // Repeats 0 // Duration 30 // Name "Taunt: Kazotsky Kick" // } // ClassIcon scout_bonk // Item "Conga Taunt" // } // } // WaveSpawn { // Name wus // WaitBeforeStarting 8 // FirstSpawnOutput { // Target wave_start_relay // Action RunScriptCode // Param // " // ClientPrint(null,3,`unconnected joined team ROBOTs`) // " // } // } WaveSpawn { Name "FakeIcon_SupportRandomChoice" WaitBeforeStarting 99999 WaitBetweenSpawns 99999 Support 1 TFBot { // Template T_TFFakePlayer_Medic_HardCarry Template T_TFBot_Sniper_Headshot Name "SiF said, I'm not supposed to spawn" ClassIcon medic_crossbow_bleed_v2 // Attributes AlwaysCrit } } WaveSpawn { Name "FakeIcon_SupportRandomChoice" WaitBeforeStarting 99999 WaitBetweenSpawns 99999 Support 1 TFBot { // Template T_TFFakePlayer_Medic_HardCarry Template T_TFBot_Sniper_Headshot ClassIcon engineer_eureka_sif // Attributes AlwaysCrit } } WaveSpawn { Name wua1 TotalCurrency 0 TotalCount 16 // 8 MaxActive 8 // 4 SpawnCount 2 WaitBeforeStarting 20 // 12 WaitBetweenSpawns 1 Where spawnbot_left // Support Limited FirstSpawnWarningSound "vo\mvm\mght\scout_mvm_m_domination13.mp3" // Hit the bricks pal, you're done. RandomChoice { // TFBot { Template T_TFBot_Scout_Quick Action Mobber Attributes IgnoreEnemies Name "Flock Together!" Item "Unarmed Combat" Skill Easy Attributes AlwaysCrit ClassIcon scout_bonk // // CharacterAttributes { "crit does no damage" 1} // } // TFBot { Template T_TFBot_Scout_Quick Attributes AlwaysFireWeapon Name "Flock Together!" Item "Unarmed Combat" Attributes AlwaysCrit ClassIcon scout_bonk // CharacterAttributes { "crit does no damage" 1 } // } TFBot { Template T_TFBot_Scout_Phase Scale 1.1 Attributes AlwaysFireWeapon WeaponRestrictions MeleeOnly Name "Flock Together!" Item "Unarmed Combat" Attributes AlwaysCrit ClassIcon scout_bonk Item "Batter's Beak" Item "Fowl Fists" Item "Talon Trotters" CharacterAttributes { "crit does no damage" 1 } } } } WaveSpawn { Name wua1s TotalCurrency 16 TotalCount 4 // 6 MaxActive 4 SpawnCount 2 // WaitForAllDead wua1 WaitBeforeStarting 45 // 26 WaitBetweenSpawns 8 Where spawnbot_left // Support Limited // RandomChoice { TFBot { Template T_TFBot_Demoknight_Eyelander ClassIcon demo_sticky_split } // } } WaveSpawn { Name wua2s TotalCurrency 24 TotalCount 28 // 24 MaxActive 8 SpawnCount 4 WaitForAllDead wua1s WaitBeforeStarting 10 WaitBetweenSpawns 8 Where spawnbot_left // Support Limited RandomChoice { TFBot { Template T_TFBot_Demoknight_Persuader ClassIcon demo_sticky_split } TFBot { Template T_TFBot_Demoknight_Eyelander ClassIcon demo_sticky_split } TFBot { Template T_TFBot_Demoknight_Eyelander ClassIcon demo_sticky_split } TFBot { Template T_TFBot_Demoknight_Eyelander ClassIcon demo_sticky_split } TFBot { Template T_TFBot_Demoknight_Eyelander ClassIcon demo_sticky_split } TFBot { Template T_TFBot_Demoknight_Eyelander ClassIcon demo_sticky_split } TFBot { Template T_TFBot_Demoknight_Eyelander ClassIcon demo_sticky_split } TFBot { Template T_TFBot_Demoknight_Eyelander ClassIcon demo_sticky_split } TFBot { Template T_TFBot_Demoknight_Eyelander ClassIcon demo_sticky_split } // TFBot { Template T_TFBot_Demoknight_Eyelander ClassIcon demoknight_persian_nys } TFBot { Template T_TFBot_Demoknight_Golf ClassIcon demo_sticky_split } // TFBot { Template T_TFBot_Demoknight_Zato_Parry Name "Parryknight" ClassIcon demo_sticky_split } } } WaveSpawn { Name wua0 TotalCurrency 6 TotalCount 3 // 4 MaxActive 3 SpawnCount 3 WaitBeforeStarting 5 WaitBetweenSpawns 15 Where spawnbot_left // LastSpawnWarningSound "vo/halloween_merasmus/sf14_merasmus_general_purpose_15" // Why? Why would you do that? // FirstSpawnWarningSound "vo\mvm\nom\heavy_mvm_cartstaycloseoffense06.mp3" // Cart is friend, come visit friend! Squad { TFBot { Template T_TFBot_Heavy_Laugh_Champ Health 900 Name "Friendly Hoovy" ClassIcon heavy_deflector_healonkill Item "Legendary Lid" Item "The Razorback" DropWeapon 1 UseHumanAnimations 1 CharacterAttributes { "ignored by enemy sentries" 1 "dmg taken from crit reduced" 2.5 "health regen" 4 } ItemAttributes { ItemName "Legendary Lid" "set item tint rgb" 3329330 // Lime "attach particle effect" 9 // Also FUCKING lime } ItemAttributes { ItemName "The Holiday Punch" "damage bonus" 0 "no_attack" 1 "fire rate bonus" 621 } ChangeAttributes { Delay 45 Repeats 0 IfSeeTarget 0 Name "FakeSwing" } ChangeAttributes { Delay 0.05 Repeats 0 IfSeeTarget 0 Name "FakeSwing" IfHealthBelow 450 } FireInput { Target !self Action $SetLocalOrigin Param "-2261 16445 75" Delay 15 Repeats 1 } EventChangeAttributes { FakeSwing { Item "TF_WEAPON_MINIGUN" ActionOverride Mobber WeaponRestrictions PrimaryOnly ItemAttributes { ItemName "TF_WEAPON_MINIGUN" "damage bonus" 1.5 "attack projectiles" 2 "item style override" 1 "is australium item" 1 "killstreak tier" 1 "turn to gold" 1 "stay after regenerate" 1 "heal on kill" 50 "spread penalty" 1.33 "max bullet range" 900 // 1200 "reduced damage rampup" 1 } } } Taunt { Delay 30 Cooldown 6.21 Repeats 1 IfSeeTarget 1 IfHealthBelow 299 } // FireInput // { // Target player // Action $DisplayTextChat // Param "{99CCFF}Friendly Hoovy {reset}:Heavy is friend! Come to friend!" // Delay 1 // Cooldown 99999 // Repeats 0 // } // FireInput // { // Target player // Action $DisplayTextChat // Param "{99CCFF}Hoovy {reset}:Not good! Don't shoot!" // Delay 1 // Cooldown 99999 // Repeats 0 // IfHealthBelow 250 // } VoiceCommand { Delay 2 Cooldown 5 Repeats 0 Type "Medic" } // FireInput // This makes them turn around, well sometimes. // { // Target !self // Action $SetLocalOrigin // Param "-1693 1320 426" // Delay 0 // Repeats 1 // } FireInput { Target !self Action $tauntfromitem Param "RPS Taunt" Delay 10 Cooldown 2 Repeats 10 } } TFBot { Template T_TFBot_Medic_QuickFix_BigHeal Name "Friendly Medic" ClassIcon medic_uber_critcanteen ExtAttr SuppressCanteenUse Item "Robin Walkers" Item "The Crone's Dome" ItemAttributes { ItemName "The Crone's Dome" "set item tint RGB" 16738740 // Pink } ItemAttributes { ItemName "Battery Canteens" "ubercharge" 2 "powerup charges" 1 } FireWeapon { Delay 30 Repeats 1 Type "Action" } } TFBot { Template T_TFBot_Medic_QuickFix_BigHeal Name "UnFriendly Medic" ClassIcon medic_uber_critcanteen // ExtAttr SuppressCanteenUse Item "The Puffed Practitioner" Item "Herzensbrecher" Item "Kriegsmaschine-9000" // Item "Hundekopf" Item "The Crusader's Crossbow" Item "The Hat With No Name" Item "The Merc's Muffler" AimAt Head ItemAttributes { ItemName "The Merc's Muffler" "set item tint RGB" 15132390 // Abundange of Tinge. White } ItemAttributes { ItemName "The Hat With No Name" "attach particle effect" 59 // Aces H } ItemAttributes { ItemName "Battery Canteens" "critboost" 3 "powerup charges" 1 } FireWeapon { Delay 15 Repeats 99 Type "Action" } ChangeAttributes { Delay 17 Repeats 0 IfSeeTarget 0 Name "FakeSwing" } EventChangeAttributes { FakeSwing { Item "The Crusader's Crossbow" ActionOverride Mobber WeaponRestrictions PrimaryOnly attributes AlwaysFireWeapon ItemAttributes { ItemName "The Crusader's Crossbow" "damage bonus" 1.5 "killstreak tier" 1 "fires milk bolt" 2 "projectile penetration" 2 "grenade bounce speed" 1.5 // this works for arrow apparently "grenade bounce damage" 2 "can headshot" 1 "revolver use hit locations" 1 "stay after regenerate" 1 } } } } } } WaveSpawn { Name wua2 TotalCurrency 100 TotalCount 3 // 2 // 1 // 3 MaxActive 3 // 2 // 1 // 3 SpawnCount 3 // 2 // 1 // 3 WaitForAllDead wua0 WaitBeforeStarting 10 WaitBetweenSpawns 2 Where spawnbot_left // FirstSpawnWarningSound "vo/halloween_merasmus/sf14_merasmus_general_purpose_15" // Why? Why would you do that? Squad { // FormationSize 650 TFBot { Template T_TFBot_Giant_Heavy_Shotgun_HOK Name "How HUNGRY?" } TFBot { Template T_TFBot_Medic_Vacci_Bullet Health 300 Scale 1.3 ClassIcon medic_vac_duo_bb Name "Bulletproof Medic" Item "Battery Canteens" ItemAttributes { ItemName "The Vaccinator" "uber duration bonus" 2 } CharacterAttributes { "active health degen" -8 "dmg from melee increased" 4 } } // TFBot { Template T_TFBot_Medic_Vacci_Bullet // T_TFBot_Medic_Armored_Vacci_Bullet // Naah, too strong. // ClassIcon medic_vac_duo_bb // blastbullet blocker // Name "Bulletproof Medic" // Item "Battery Canteens" // Item "The Crusader's Crossbow" /// ItemAttributes { // ItemName "Das Ubersternmann" // "attach particle effect" 9 // } // CharacterAttributes { // "uber duration bonus" 621 // "Projectile speed increased" 1.4 // } // ChangeAttributes // { // Delay 5 // Repeats 0 // IfSeeTarget 1 // Name "BattleMedic" // } // EventChangeAttributes { // BattleMedic // { // ActionOverride Mobber // WeaponRestrictions PrimaryOnly // ItemAttributes { // ItemName "The Crusader's Crossbow" // "fire rate bonus" 0.1 // "faster reload rate" 0.5 // "clip size upgrade atomic" 3.0 // "auto fires full clip" 1 // "auto fires when full" 1 // } // } // } // FireInput // { // Target player // Action $DisplayTextChat // Param "{99CCFF}Vacc Medic {reset}: Denying bullet damage." // Delay 4 // Cooldown 99999 // Repeats 0 // } // FireInput // { // Target player // Action $PlaySoundToSelf // Param "=35|mvm/mvm_used_powerup.wav" // Delay 0.5 // Cooldown 99999 // Repeats 0 // } // FireInput // { // Target player // Action $DisplayTextChat // Param "{99CCFF}Bulletproof Medic {FBEBCA}has shared their {99CCFF}HASTE{reset} Power Up Canteen!" // Delay 0.5 // Cooldown 99999 // Repeats 0 // } // TFBot { Template T_TFBot_Medic_Vacci_Blast Health 450 Scale 1.3 ClassIcon medic_vac_duo_bb Name "Blastproof Medic" Item "Battery Canteens" TFBot { Template T_TFBot_Medic_Uber_Quick Health 130 ClassIcon medic_uber_critcanteen Name "Idle Medic" Item "Hazardous Environment Vest" // ItemAttributes { // ItemName "The Vaccinator" // "uber duration bonus" 2 // } // CharacterAttributes { // "active health degen" -50 // "health regen" -50 // } CharacterAttributes { "heal rate bonus" 5 } ItemAttributes { ItemName "Vintage Tyrolean" "attach particle effect" 9 } FireInput { Target player Action $DisplayTextChat Param "TIP: Enemy with {99CCFF}blue {reset}bubble resists {99CCFF}BULLET {reset}damage." Delay 2 Cooldown 99999 Repeats 0 } FireInput { Target player Action $DisplayTextChat Param "..and {9BBF4D}BLAST {reset}is reduced on those with {9BBF4D}green {reset}bubble." Delay 2.5 Cooldown 99999 Repeats 0 } } } // // } } WaveSpawn { Name wua2 TotalCurrency 200 TotalCount 2 MaxActive 2 SpawnCount 2 WaitForAllDead wua0 // wua1 WaitBeforeStarting 20 WaitBetweenSpawns 2 Where spawnbot_left Squad { TFBot { Template T_TFBot_Giant_Soldier_RapidFire_Conch // Name "Trust in Ranks" Name "Trust the Team" } TFBot { Template T_TFBot_Medic_Vacci_Blast Health 300 Scale 1.3 ClassIcon medic_vac_duo_bb Name "Blastproof Medic" Item "Battery Canteens" ItemAttributes { ItemName "The Vaccinator" "uber duration bonus" 2 } CharacterAttributes { "active health degen" -8 "dmg from melee increased" 4 } } } } SpawnTemplate CanteenIfClipSizeIsEmpty WaveSpawn { Name wua3 TotalCurrency 96 TotalCount 9 MaxActive 6 SpawnCount 3 WaitForAllDead wua2 WaitBeforeStarting 12 WaitBetweenSpawns 15 Where spawnbot_left Squad { TFBot { Template T_TFBot_Giant_Demoman_Burst ClassIcon demo_burst_ammocanteen CharacterAttributes { "add attributes on kill" "reload full clip at once|1|0.15" } ChangeAttributes { Delay 7 Cooldown 10 Repeats 3 IfSeeTarget 1 Name "ActionCanteen" } ChangeAttributes { Delay 9 Cooldown 0.05 Repeats 999 IfSeeTarget 0 Name "Default" } // ChangeAttributes // { // Delay 20 // Cooldown 8 // Repeats 2 // IfSeeTarget 0 // Name "ActionCanteen" // } // EventChangeAttributes // { // ActionCanteen // { // ActionOverride Mobber // CharacterAttributes { // "reload full clip at once" 1 // "self add attributes on hit" "reload full clip at once|1|1" // } // } // Default // { // ActionOverride FetchFlag // CharacterAttributes { // "reload full clip at once" 0 // } // } // } FireInput { Target player Action $PlaySoundToSelf Param "=35|mvm/mvm_used_powerup.wav" Delay 7 Cooldown 99999 Repeats 0 IfSeeTarget 1 } FireInput { Target player Action $DisplayTextChat Param "{99CCFF}Giant Burst Demo {FBEBCA}has used their {9BBF4D}AMMO REFILL{reset} Power Up Canteen!" Delay 7 Cooldown 99999 Repeats 0 IfSeeTarget 1 } FireInput { Target player Action $PlaySoundToSelf Param "=35|mvm/mvm_used_powerup.wav" Delay 20 Cooldown 8 Repeats 2 IfSeeTarget 1 } FireInput { Target player Action $DisplayTextChat Param "{99CCFF}Giant Burst Demo {FBEBCA}has used their {9BBF4D}AMMO REFILL{reset} Power Up Canteen!" Delay 20 Cooldown 8 Repeats 2 IfSeeTarget 1 } } TFBot { Template T_TFBot_Medic_Kritzkrieg_Rapid ClassIcon medic_kritz_ubercanteen } TFBot { Template T_TFBot_Medic_Kritzkrieg_Rapid ClassIcon medic_kritz_ubercanteen Name "Kritz Medic" Item "Battery Canteens" ItemAttributes { ItemName "Battery Canteens" "ubercharge" 1 "powerup charges" 1 } ItemAttributes { ItemName "Blighted Beak" "attach particle effect" 9 } } } } WaveSpawn { Name wua3 TotalCurrency 100 TotalCount 32 // 30 MaxActive 14 SpawnCount 8 WaitForAllDead wua2 WaitBeforeStarting 2 WaitBetweenSpawns 3 Where spawnbot_right RandomChoice { // TFBot { Template T_TFBot_Demoknight_Caber_Atomic Health 102 Name "Sacrificial" ClassIcon demo_sticky_split } // TFBot { Template T_TFBot_Demoknight_Caber_Atomic Health 102 Name "Sacrificial" ClassIcon demo_sticky_split } TFBot { Template T_TFBot_Demoknight_Caber_Atomic Health 102 Name "Bold Sacrifice" ClassIcon demo_sticky_split } TFBot { Template T_TFBot_Demoknight_Caber_Thrower Name "Legalize Nukes" ClassIcon demo_sticky_split } // Were too annoying TFBot { Template T_TFBot_Demoman_Sticky Name "Gunboat Demo" ClassIcon demo_sticky_split Item "The Sole Saviors" CharacterAttributes { "rocket jump damage reduction" 0.34 "dmg taken from blast reduced" 0.66 } } TFBot { Template T_TFBot_Demoman_Sticky_Barrage Name "Gunboat Demo" ClassIcon demo_sticky_split Item "The Sole Saviors" CharacterAttributes { "rocket jump damage reduction" 0.34 "dmg taken from blast reduced" 0.66 } } TFBot { Template T_TFBot_Demoman_Burst_Bounce Skill Hard Name "Precursor Demo" ClassIcon demo_sticky_split } TFBot { Template T_TFBot_Demoman_Burst_Bounce Skill Hard Name "Precursor Demo" ClassIcon demo_sticky_split } TFBot { Template T_TFBot_Demoman_RapidFire Skill Easy Name "Tour Grinding Demo" ClassIcon demo_sticky_split CharacterAttributes { "dmg penalty vs players" 1 } } TFBot { Template T_TFBot_Demoman_Push_Single Name "Tour Grinding Demo" ClassIcon demo_sticky_split } TFBot { Template T_TFBot_Demoman_Loch_RapidFire Skill Easy Name "Tour Grinding Demo" ClassIcon demo_sticky_split CharacterAttributes { "dmg penalty vs players" 1 } } } } // WaveSpawn { // Name wua3 // TotalCurrency 100 // TotalCount 25 // 30 // MaxActive 10 // SpawnCount 5 // WaitForAllDead wua2 // WaitBeforeStarting 4 // WaitBetweenSpawns 6 // Where spawnbot_right // RandomChoice { // TFBot { Template T_TFBot_Demoknight_Caber_Atomic Health 102 Name "Sacrificial" ClassIcon demo_sticky_split } // TFBot { Template T_TFBot_Demoknight_Caber_Atomic Health 102 Name "Sacrificial" ClassIcon demo_sticky_split } // TFBot { Template T_TFBot_Demoknight_Caber_Atomic Health 102 Name "Sacrificial" ClassIcon demo_sticky_split } // TFBot { Template T_TFBot_Demoknight_Caber_Thrower Name "Legalize Nukes" ClassIcon demo_sticky_split } // Were too annoying // TFBot { Template T_TFBot_Demoman_Push_Single Name "Legalize Nukes" ClassIcon demo_sticky_split } // TFBot { Template T_TFBot_Demoman_RapidFire Name "Rapid Bomblet" ClassIcon demo_sticky_split // CharacterAttributes { "dmg penalty vs players" 1 } // } // } // } // WaveSpawn { // Name wua3 // TotalCurrency 0 // TotalCount 6 // 10 // MaxActive 4 // SpawnCount 2 // WaitForAllDead wua2 // WaitBeforeStarting 4 // WaitBetweenSpawns 2 // Where spawnbot_right // Squad { // TFBot { // Template T_TFBot_Demoman_RapidFire // ClassIcon demo_sticky_split // Name "Rapid Bomblet" // CharacterAttributes { // "dmg penalty vs players" 1 // "mod shovel speed boost" 1 // } // } // TFBot { // Template T_TFBot_Medic_Uber_Quick // ClassIcon medic_uber_critcanteen // Name "Uber Medic" // Item "Battery Canteens" // ItemAttributes { // ItemName "Battery Canteens" // "critboost" 1 // "powerup charges" 1 // } // ItemAttributes { // ItemName "Vintage Tyrolean" // "attach particle effect" 9 // } // } // } // } WaveSpawn { Name wua4 TotalCurrency 108 TotalCount 36 // 32 MaxActive 16 SpawnCount 4 WaitForAllSpawned wua3 WaitBeforeStarting 12 WaitBetweenSpawns 2 Where spawnbot_right RandomChoice { TFBot { Template T_TFBot_Soldier_Mortar Skill Expert Name "Spliced Demoman" ClassIcon soldier_banner_trio } TFBot { Template T_TFBot_Demoman_Mortar Skill Expert Name "Spliced Soldier" ClassIcon soldier_banner_trio } // Consider this a collab with int ig TFBot { Template T_TFBot_Soldier_Bazooka_Conch Skill Expert Name "Tour Grinder Soldier" ClassIcon soldier_banner_trio } // TFBot { Template T_TFBot_Soldier_Bazooka_Backup Skill Expert Name "Tour Grinder Soldier" ClassIcon soldier_banner_trio } TFBot { Template T_TFBot_Soldier_Bazooka_Buff Skill Expert Name "Tour Grinder Soldier" ClassIcon soldier_banner_trio } // TFBot { Template T_TFBot_Soldier_RapidFire_Conch Skill Easy Name "Tour Grinder Soldier" ClassIcon soldier_banner_trio } // TFBot { Template T_TFBot_Soldier_RapidFire_Backup Skill Easy Name "Tour Grinder Soldier" ClassIcon soldier_banner_trio } // TFBot { Template T_TFBot_Soldier_Charged_Buff Skill Normal Name "Tour Grinder Soldier" ClassIcon soldier_banner_trio } TFBot { Template T_TFBot_Soldier_Charged_Conch Skill Normal Name "Tour Grinder Soldier" ClassIcon soldier_banner_trio } // TFBot { Template T_TFBot_Soldier_Charged_Backup Skill Normal Name "Tour Grinder Soldier" ClassIcon soldier_banner_trio } // TFBot { Template T_TFBot_Soldier_BlackBox_Buff Skill Normal Name "Tour Grinder Soldier" ClassIcon soldier_banner_trio } TFBot { Template T_TFBot_Soldier_BlackBox_Conch Skill Normal Name "Tour Grinder Soldier" ClassIcon soldier_banner_trio } TFBot { Template T_TFBot_Soldier_BlackBox_Backup Skill Normal Name "Tour Grinder Soldier" ClassIcon soldier_banner_trio } // TFBot { Template T_TFBot_Soldier_BlackBox_Buff Skill Normal Name "Tour Grinder Soldier" ClassIcon soldier_banner_trio } TFBot { Template T_TFBot_Soldier_BlackBox_Conch Skill Normal Name "Tour Grinder Soldier" ClassIcon soldier_banner_trio } TFBot { Template T_TFBot_Soldier_BlackBox_Backup Skill Normal Name "Tour Grinder Soldier" ClassIcon soldier_banner_trio } TFBot { Template T_TFBot_Soldier_DirectHit_Buff Skill Normal Name "Tour Grinder Soldier" ClassIcon soldier_banner_trio } // TFBot { Template T_TFBot_Soldier_DirectHit_Conch Skill Normal Name "Tour Grinder Soldier" ClassIcon soldier_banner_trio } // TFBot { Template T_TFBot_Soldier_DirectHit_Backup Skill Normal Name "Tour Grinder Soldier" ClassIcon soldier_banner_trio } } } WaveSpawn { Name wua4 TotalCurrency 90 // 64 TotalCount 18 MaxActive 9 SpawnCount 6 WaitForAllDead wua2 WaitBeforeStarting 25 WaitBetweenSpawns 4.5 Where spawnbot_right RandomChoice { TFBot { Template T_TFBot_Heavy_HealOnHit Skill Normal Name "Tour Grinder Heavy" Item "The U-Clank-a" ClassIcon heavy_deflector_healonkill } TFBot { Template T_TFBot_Heavy_HealOnKill Skill Normal Name "Tour Grinder Heavy" Item "The U-Clank-a" ClassIcon heavy_deflector_healonkill } TFBot { Template T_TFBot_Heavy_KritOnKill Skill Easy Name "Tour Grinder Heavy" Item "The U-Clank-a" ClassIcon heavy_deflector_healonkill } TFBot { Template T_TFBot_Heavy_Enrage Skill Normal Name "Tour Grinder Heavy" Item "The U-Clank-a" ClassIcon heavy_deflector_healonkill } } } WaveSpawn { Name wua5 TotalCurrency 0 TotalCount 72 // 32 MaxActive 12 SpawnCount 6 WaitForAllSpawned wua4 WaitBeforeStarting 12 WaitBetweenSpawns 4 Where spawnbot_right Support Limited TFBot { Template T_TFBot_Demoknight_Eyelander ClassIcon demo_sticky_split } // RandomChoice { // RandomChoice { // TFBot { Template T_TFBot_Scout_Phase_Anchor WeaponRestrictions MeleeOnly Name "Anchored Scout" Item "Sun-on-a-Stick" Item "Batter's Beak" Item "Fowl Fists" Item "Talon Trotters" // ItemAttributes { ItemName "Sun-on-a-Stick" "minicrit vs burning player" 1 "damage bonus vs burning" 2 "fire rate bonus" 0.6 } // } // TFBot { Template T_TFBot_Scout_Phase_Anchor WeaponRestrictions MeleeOnly Name "Anchored Scout" Item "Sun-on-a-Stick" Item "Batter's Beak" Item "Fowl Fists" Item "Talon Trotters" // ItemAttributes { ItemName "Sun-on-a-Stick" "minicrit vs burning player" 1 "damage bonus vs burning" 2 "fire rate bonus" 0.6 } // } // TFBot { Template T_TFBot_Scout_Phase_Anchor WeaponRestrictions MeleeOnly Name "Anchored Scout" Item "Sun-on-a-Stick" Item "Batter's Beak" Item "Fowl Fists" Item "Talon Trotters" // ItemAttributes { ItemName "Sun-on-a-Stick" "minicrit vs burning player" 1 "damage bonus vs burning" 2 "fire rate bonus" 0.6 } // } // TFBot { Template T_TFBot_Scout_Phase_Anchor WeaponRestrictions MeleeOnly Name "Anchored Scout" Item "Sun-on-a-Stick" Item "Batter's Beak" Item "Fowl Fists" Item "Talon Trotters" // ItemAttributes { ItemName "Sun-on-a-Stick" "minicrit vs burning player" 1 "damage bonus vs burning" 2 "fire rate bonus" 0.6 } // } // TFBot { Template T_TFBot_Scout_Phase Scale 1.1 Attributes AlwaysFireWeapon WeaponRestrictions MeleeOnly Name "Flock Together!" Item "Unarmed Combat" Attributes AlwaysCrit ClassIcon scout_bonk // Item "Batter's Beak" Item "Fowl Fists" Item "Talon Trotters" // CharacterAttributes { "crit does no damage" 1 } // } // } // } } WaveSpawn { Name wub1 TotalCurrency 200 TotalCount 12 // 32 MaxActive 12 SpawnCount 3 WaitForAllSpawned wua4 WaitBeforeStarting 12 WaitBetweenSpawns 12 // 15 Where spawnbot_left Squad { TFBot { Template T_TFBot_Giant_HeavyBox_Maul Name "Super Maulweight" Item "Big Steel Jaw of Summer Fun" Item "The K-9 Mane" Attributes AlwaysCrit } TFBot { Template T_TFBot_Medic_Armored_Vacci_Bullet Name "Bulletproof Medic" ClassIcon medic_vac_duo_bb CharacterAttributes { "dmg from melee increased" 4 } } TFBot { Template T_TFBot_Medic_Armored_Vacci_Blast Name "Blastproof Medic" ClassIcon medic_vac_duo_bb CharacterAttributes { "dmg from melee increased" 4 } } } } WaveSpawn { Name wub1 TotalCurrency 60 TotalCount 6 MaxActive 4 SpawnCount 2 WaitForAllSpawned wua4 WaitBeforeStarting 22 WaitBetweenSpawns 15 // 18 Where spawnbot_left Squad { TFBot { Template T_TFBot_Giant_Pyro_Afterburn Name "Giant Ext. Afterburner" ClassIcon pyro_gascann } TFBot { Template T_TFBot_Medic_Uber_Quick Name "Uber Medic" ClassIcon medic_uber_critcanteen Item "Battery Canteens" ItemAttributes { ItemName "Battery Canteens" "critboost" 1 "powerup charges" 1 } ItemAttributes { ItemName "Vintage Tyrolean" "attach particle effect" 9 } } } } } // Wave 5 Over /// // WAVE 6/6 (1000$) /// Wave { WaitWhenDone 65 Checkpoint Yes InitWaveOutput { // Target wave_init_relay // Don't do anything on this map Target gamerules Action RunScriptCode Param " SetSkyboxTexture (`sky_halloween_night_01`) // Thanks ficool2. EntFire(`nav_prefer_flank_right`, `Kill`) EntFire(`nav_prefer_flank_left`, `Kill`) EntFire(`func_upgradestation`, `enable`); // ClientPrint(null,3,`Player copies will now be allowed to control the giants.`) // ClientPrint(null,3,`Expect shenanigans.`) Convars.SetValue(`tf_airblast_cray_lose_footing_duration`, 0); // No more airblast Convars.SetValue(`tf_airblast_cray_power`, 150); Convars.SetValue(`tf_bot_taunt_victim_chance`, 0); EntFire(`bombpath_clearall_relay`,`Trigger`,null,0.78) EntFire(`bombpath_arrows_clear_relay`,`Trigger`,null,0.78) EntFire(`bombpath_right`,`Trigger`,null,0.9) // Convars.SetValue(`tf_bot_pyro_always_reflect`, 1); Convars.SetValue(`tf_bot_pyro_shove_away_range`, 1000); // This procs phlog Convars.SetValue(`tf_bot_engineer_mvm_hint_min_distance_from_bomb`, 500); Convars.SetValue(`tf_bot_engineer_mvm_sentry_hint_bomb_forward_range`, 2750); Convars.SetValue(`tf_bot_engineer_mvm_sentry_hint_bomb_backward_range`, 250); " } StartWaveOutput { Target wave_start_endurance_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } WaveSpawn { WaitBeforeStarting 1 FirstSpawnOutput { Target wave_start_relay Action runscriptcode Param " IncludeScript(`tankextensions_main`, getroottable()) if(!(`SetDropTank` in self.GetScriptScope()))IncludeScript(`global_paratank_lite`) if(!(Entities.FindByName(null,`droptank_1`))) { CreateDropTankPath([ `-2760 2079 1652|droptank_1`, `-2154 1932 870|droptank_2`, `-1485 315 870|droptank_3`, `251 -662 571|droptank_4`, `332 -1044 450|droptank_5`, `332 -1044 300|droptank_6_ground`, `366 -1950 350|droptank_7`, `-607 -2280 500|droptank_8`,])} " } } WaveSpawn { Name liua1 TotalCurrency 25 TotalCount 1 // 4 MaxActive 1 SpawnCount 1 WaitBeforeStarting 2 WaitBetweenSpawns 15 Where spawnbot_left FirstSpawnWarningSound "items/powerup_pickup_resistance.wav" // FirstSpawnWarningSound "vo\mvm\nom\heavy_mvm_cartstaycloseoffense06.mp3" // Cart is friend, come visit friend! // RandomChoice { RandomChoice { TFBot { Template T_TFBoss_Tank // _Rocket // _Cannonball Name "Brigand 5 Pounder" Health 30000 Attributes IgnoreEnemies Attributes UseBossHealthBar ClassIcon "Tank" CharacterAttributes { "dmg taken increased" 0.5 "dmg from melee increased" 2 "dmg taken from crit reduced" 0.5 "Projectile speed increased" .5 } } } // } FirstSpawnOutput { Target wave_start_relay Action RunScriptCode Param " ClientPrint(null,3,`\x0799CCFFBrigand Tank with 30k HP inbound!`) " } } WaveSpawn { Name liua1s TotalCurrency 0 TotalCount 22 MaxActive 12 SpawnCount 2 // WaitForAllDead liua1 WaitBeforeStarting 8 WaitBetweenSpawns 5 Where spawnbot_left Support Limited // FirstSpawnWarningSound "vo/halloween_merasmus/sf14_merasmus_general_purpose_15" // Why? Why would you do that? // FirstSpawnOutput // { // Target gamerules // Action RunScriptCode // Param // " // SpawnEntityFromTable(`training_annotation` , { // targetname = `sif_annot` // display_text = `You have alerted the HORDE.` // lifetime = `8` // origin = `-2889 2055 404` // } // ) // EntFire(`sif_annot`, `show`) // EntFire(`sif_annot`, `kill`, ``, 8) // " // } Squad { FormationSize 6210 TFBot { Template T_TFBot_Spy_Tranquil Attributes AlwaysFireWeapon Action FetchFlag CharacterAttributes { "cannot disguise" 1 "mark for death" 1 "minicrits become crits" 1 "add attributes on hit" "move speed penalty|0.75|3|allow friendly fire|1|30" } Name "Tranquilizing Inquisitor" ClassIcon spy_revolver_mark_lite } TFBot { Template T_TFBot_Spy_Ambassador Attributes AlwaysFireWeapon // Action FetchFlag Name "Headhunting Scorned" ClassIcon spy_revolver_mark_lite CharacterAttributes { "cannot disguise" 1 "mark for death" 1 "add attributes on hit" "move speed penalty|0.75|3|allow friendly fire|1|30" "minicrits become crits" 1 } } } FirstSpawnOutput { Target wave_start_relay Action RunScriptCode Param " ClientPrint(null,3,`Prevent them from trying to escort various tank payloads.`) " } } WaveSpawn { Name liua1s // Hah! You can't play spy now, huh? TotalCurrency 0 TotalCount 60 MaxActive 4 // 4 SpawnCount 1 WaitBeforeStarting 20 WaitBetweenSpawns 4 // 12 Where spawnbot_boss Where spawnbot_right Support Limited RandomChoice { TFBot { Template T_TFBot_Pyro_Afterburn Skill Hard Name "Cauterizing Toaster" Attributes AlwaysFireWeapon Item "Breadcrab" Item "Bread Biter" Item "Loaf Loafers" } TFBot { Template T_TFBot_Pyro_Afterburn Skill Hard Name "Cauterizing Toaster" Attributes AlwaysFireWeapon Item "Breadcrab" Item "Bread Biter" Item "Loaf Loafers" } TFBot { Template T_TFBot_Pyro_Afterburn Skill Hard Name "Cauterizing Toaster" Attributes AlwaysFireWeapon Item "Breadcrab" Item "Bread Biter" Item "Loaf Loafers" } TFBot { Template T_TFBot_Pyro_Afterburn Skill Hard Name "Cauterizing Toaster" Attributes AlwaysFireWeapon Item "Breadcrab" Item "Bread Biter" Item "Loaf Loafers" } TFBot { Template T_TFBot_Pyro_Afterburn Skill Hard Name "Cauterizing Toaster" Attributes AlwaysFireWeapon Item "Breadcrab" Item "Bread Biter" Item "Loaf Loafers" } TFBot { Template T_TFBot_Pyro_Afterburn Skill Hard Name "Cauterizing Toaster" Attributes AlwaysFireWeapon Item "Breadcrab" Item "Bread Biter" Item "Loaf Loafers" } TFBot { Template T_TFBot_Pyro_Afterburn Skill Hard Name "Cauterizing Toaster" Attributes AlwaysFireWeapon Item "Breadcrab" Item "Bread Biter" Item "Loaf Loafers" } TFBot { Template T_TFBot_Pyro_Afterburn Skill Hard Name "Cauterizing Toaster" Attributes AlwaysFireWeapon Item "Breadcrab" Item "Bread Biter" Item "Loaf Loafers" } TFBot { Template T_TFBot_Pyro_Afterburn Skill Hard Name "Cauterizing Toaster" Attributes AlwaysFireWeapon Item "Breadcrab" Item "Bread Biter" Item "Loaf Loafers" } TFBot { Template T_TFBot_Pyro_Afterburn Skill Easy Name "Cauterizing Toaster" Attributes AlwaysFireWeapon Tag pyro_spinner Item "Breadcrab" Item "Bread Biter" Item "Loaf Loafers" } } } WaveSpawn { Name liuBOSSs // How about now? TotalCurrency 0 TotalCount 621 MaxActive 12 // 4 SpawnCount 1 WaitForAllSpawned liua4 WaitBeforeStarting 15 WaitBetweenSpawns 5 // 12 Where spawnbot_boss Where spawnbot_right Support Limited RandomChoice { TFBot { Template T_TFBot_Pyro_Dragon Skill Easy Name "Sentinel Toaster" Item "Breadcrab" Item "Bread Biter" Item "Loaf Loafers" ClassIcon pyro_dragon_fury_swordstone} TFBot { Template T_TFBot_Pyro_Dragon Skill Easy Name "Sentinel Toaster" Item "Breadcrab" Item "Bread Biter" Item "Loaf Loafers" ClassIcon pyro_dragon_fury_swordstone} TFBot { Template T_TFBot_Pyro_Dragon Skill Easy Name "Sentinel Toaster" Item "Breadcrab" Item "Bread Biter" Item "Loaf Loafers" ClassIcon pyro_dragon_fury_swordstone} TFBot { Template T_TFBot_Pyro_Dragon Skill Easy Name "Sentinel Toaster" Item "Breadcrab" Item "Bread Biter" Item "Loaf Loafers" ClassIcon pyro_dragon_fury_swordstone} TFBot { Template T_TFBot_Pyro_Dragon Skill Easy Name "Sentinel Toaster" Item "Breadcrab" Item "Bread Biter" Item "Loaf Loafers" ClassIcon pyro_dragon_fury_swordstone} TFBot { Template T_TFBot_Pyro_Afterburn Skill Hard Name "Cauterizing Toaster" Attributes AlwaysFireWeapon Item "Breadcrab" Item "Bread Biter" Item "Loaf Loafers" } TFBot { Template T_TFBot_Pyro_Afterburn Skill Hard Name "Cauterizing Toaster" Attributes AlwaysFireWeapon Item "Breadcrab" Item "Bread Biter" Item "Loaf Loafers" } TFBot { Template T_TFBot_Pyro_Afterburn Skill Hard Name "Cauterizing Toaster" Attributes AlwaysFireWeapon Item "Breadcrab" Item "Bread Biter" Item "Loaf Loafers" } TFBot { Template T_TFBot_Pyro_Afterburn Skill Hard Name "Cauterizing Toaster" Attributes AlwaysFireWeapon Item "Breadcrab" Item "Bread Biter" Item "Loaf Loafers" } TFBot { Template T_TFBot_Pyro_Afterburn Skill Easy Name "Cauterizing Toaster" Attributes AlwaysFireWeapon Tag pyro_spinner Item "Breadcrab" Item "Bread Biter" Item "Loaf Loafers" } } } WaveSpawn { Name liua3s TotalCurrency 0 TotalCount 30 MaxActive 5 // 4 SpawnCount 1 // 4 WaitForAllSpawned liua2 WaitBeforeStarting 10 WaitBetweenSpawns 5 Where spawnbot_right Support Limited RandomChoice { TFBot { Template T_TFBot_Pyro_Dragon Skill Easy Name "Sentinel Toaster" Item "Breadcrab" Item "Bread Biter" Item "Loaf Loafers" ClassIcon pyro_dragon_fury_swordstone} TFBot { Template T_TFBot_Pyro_Dragon Skill Easy Name "Sentinel Toaster" Item "Breadcrab" Item "Bread Biter" Item "Loaf Loafers" ClassIcon pyro_dragon_fury_swordstone} TFBot { Template T_TFBot_Pyro_Dragon Skill Normal Name "Sentinel Toaster" Item "Breadcrab" Item "Bread Biter" Item "Loaf Loafers" ClassIcon pyro_dragon_fury_swordstone} TFBot { Template T_TFBot_Pyro_Dragon Skill Expert Name "Sentinel Toaster" Item "Breadcrab" Item "Bread Biter" Item "Loaf Loafers" ClassIcon pyro_dragon_fury_swordstone} TFBot { Template T_TFBot_Pyro_Airblast_Reversed Skill Expert Attributes AlwaysFireWeapon Tag pyro_spinner Name "Wavesucking Toaster" Attributes AlwaysCrit ClassIcon pyro_gascann Item "Breadcrab" Item "Bread Biter" Item "Loaf Loafers" } TFBot { Template T_TFBot_Pyro_Airblast_NoPush Skill Easy Attributes AlwaysFireWeapon Tag pyro_spinner Name "Sentinel Toaster" Attributes AlwaysCrit ClassIcon pyro_gascann Item "Breadcrab" Item "Bread Biter" Item "Loaf Loafers" } } } ///// TANK 1 ///// WaveSpawn { Name liua1 //_tank // WaitForAllDead liua1 TotalCurrency 0 TotalCount 1 Where spawnbot_boss WaitBeforeStarting 0 // Support Limited FirstSpawnWarningSound "Announcer.MVM_Tank_Alert_Spawn" FirstSpawnOutput { Target boss_spawn_relay Action Trigger } Tank { Health 30000 Name tankboss1 ClassIcon tank // speed Speed 250 // 1m 45s on this map Skin 0 StartingPathTrackNode "boss_path_1" OnKilledOutput { Target boss_dead_relay Action Trigger } OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn { // WaitForAllSpawned liua1 WaitBeforeStarting 1 FirstSpawnOutput { Target wave_start_relay Action RunScriptCode Param " ClientPrint(null,3,`\x0799CCFFTank with 30k HP inbound!`) " } } WaveSpawn { // WaitForAllSpawned liua1 WaitBeforeStarting 4 FirstSpawnOutput { Target tankboss1 Action "setSpeed" Param "80" } } ///// TANK 1 OVER ///// WaveSpawn { Name liua2 TotalCurrency 25 TotalCount 10 MaxActive 6 // 4 SpawnCount 2 // 4 WaitForAllDead liua1 WaitBeforeStarting 2 WaitBetweenSpawns 7 Where spawnbot_right Support Limited RandomChoice { TFBot { Template T_TFBot_Heavy_Shotgun_Burst Name "Brigand Hunter" ClassIcon heavy_shotgun_burst_lite } TFBot { Template T_TFBot_Heavy_Shotgun_Burst Name "Brigand Hunter" ClassIcon heavy_shotgun_burst_lite} } } WaveSpawn { Name liua4 TotalCurrency 32 TotalCount 32 MaxActive 12 // 4 SpawnCount 4 // 4 WaitForAllDead liua3 WaitBeforeStarting 5 WaitBetweenSpawns 3.5 Where spawnbot_right RandomChoice { // So uhh flare spam sucks ass, we're using scouts. TFBot { Template T_TFBot_Scout_Scattergun_FastFire Attributes AlwaysCrit Item "Hat With No Name" Skill Easy Name "Pillager Runner" ClassIcon scout_spammer } TFBot { Template T_TFBot_Scout_Nailgun_Passive Attributes AlwaysCrit Skill Easy Item "Hat With No Name" Name "Bloodletter Runner" ClassIcon scout_spammer } TFBot { Template T_TFBot_Scout_Scattergun_FastFire Attributes AlwaysCrit Item "Hat With No Name" Skill Easy Name "Pillager Runner" ClassIcon scout_spammer } TFBot { Template T_TFBot_Scout_Scattergun_FastFire Attributes AlwaysCrit Item "Hat With No Name" Skill Easy Name "Pillager Runner" ClassIcon scout_spammer } // TFBot { Template T_TFBot_Pyro_Flare_Heal Attributes AlwaysCrit Skill Easy Name "Firemaw" ClassIcon pyro_flare_spammer } // TFBot { Template T_TFBot_Pyro_Flare_RapidFire Attributes AlwaysCrit Skill Easy Name "Firemaw" ClassIcon pyro_flare_spammer } // TFBot { Template T_TFBot_Pyro_Flare_Burst Attributes AlwaysCrit Skill Easy Name "Firemaw" ClassIcon pyro_flare_spammer } } } WaveSpawn { Name liua2s TotalCurrency 0 TotalCount 8 MaxActive 4 // 4 SpawnCount 2 // 4 WaitForAllDead liua1 WaitBeforeStarting 50 WaitBetweenSpawns 5 Where spawnbot_right Support Limited RandomChoice { TFBot { Template T_TFBot_Pyro_Flare_Heal Attributes AlwaysCrit Skill Easy Name "Firemaw" ClassIcon pyro_gascann } TFBot { Template T_TFBot_Pyro_Flare_RapidFire Attributes AlwaysCrit Skill Easy Name "Firemaw" ClassIcon pyro_gascann } // TFBot { Template T_TFBot_Pyro_Flare_Burst Attributes AlwaysCrit Skill Easy Name "Firemaw" ClassIcon pyro_flare_spammer } } } WaveSpawn { Name liua2 TotalCurrency 150 TotalCount 2 // 4 // I wanted to have a different medic variant MaxActive 2 SpawnCount 2 WaitForAllDead liua1 WaitBeforeStarting 40 WaitBetweenSpawns 22 Where spawnbot_left Squad { TFBot { Template T_TFBot_Giant_Soldier_Charged_Atomic Name "Ordained Atomic Kiloton" Attributes AlwaysCrit ShootTemplate { Name AtomRocket AttachToProjectile 1 ItemName "The Original" // This thing spawns sideways } } TFBot { Template T_TFBot_Giant_Medic_Uber_Pop Name "Ordained Flickering FleshWeaver" ClassIcon medic_uber CharacterAttributes { "health regen" 40 "bot medic uber health threshold" 2500 "bot medic uber deploy delay duration" 4 } FireInput { Target player Action $DisplayTextChat Param "{99CCFF}Ordained Flickering FleshWeaver{reset} : Uber in 4s." Delay 0.01 Repeats 1 IfHealthBelow 2500 } } } } WaveSpawn { Name liua2 TotalCurrency 150 TotalCount 2 // 4 // I wanted to have a different medic variant MaxActive 2 SpawnCount 2 WaitForAllDead liua1 WaitBeforeStarting 20 WaitBetweenSpawns 0 Where spawnbot_left Squad { TFBot { Template T_TFBot_Giant_Soldier_Charged_Atomic Name "Ordained Atomic Kiloton" Attributes AlwaysCrit ItemAttributes { ItemName "Tyrant's Helm" "attach particle effect" 38 // Cloudy Moon } CharacterAttributes { "add attributes on hit" "teleport instead of die|1|9999" "Blast radius decreased" 0.25 "damage bonus" 11 // die :3 } FireInput { Target player Action $PlaySoundToSelf Param "=35|mvm/mvm_used_powerup.wav" Delay 0.5 Cooldown 99999 Repeats 0 } FireInput { Target player Action $DisplayTextChat Param "{99CCFF}Ordained Atomic Kiloton {FBEBCA}has used their {9BBF4D}RECALL TARGET{reset} Power Up Canteen!" Delay 0.5 Cooldown 99999 Repeats 0 } ShootTemplate { Name AtomRocket AttachToProjectile 1 ItemName "The Original" // This thing spawns sideways } } TFBot { Template T_TFBot_Giant_Medic_Uber_Pop CharacterAttributes { "bot medic uber health threshold" 62100 "bot medic uber deploy delay duration" 0.5 } Name "Ordained FleshWeaver" ClassIcon medic_uber FireInput { Target player Action $DisplayTextChat Param "{99CCFF}Ordained FleshWeaver{reset} : Uber in 4s." Delay 0.01 Repeats 1 IfHealthBelow 2500 } } } } WaveSpawn { Name liua3 TotalCurrency 160 TotalCount 8 MaxActive 8 // 4 SpawnCount 4 WaitForAllDead liua2 WaitBeforeStarting 2 WaitBetweenSpawns 22 Where spawnbot_left // Support Limited Squad { TFBot { Template T_TFBot_Giant_Demoman_RapidFire_Burst Name "Ordained Ultimatum Scatterer" ClassIcon demo_burst_spammer ItemAttributes { ItemName "TF_WEAPON_GRENADELAUNCHER" "grenade explode on impact" 1 "dmg penalty vs players" 0.1 // 0.34 // 0.66 "add cond on hit" 24 "add cond on hit duration" 5 "custom projectile model" "models/weapons/c_models/urinejar.mdl" } CharacterAttributes { "move speed bonus" 0.66 } } TFBot { Template T_TFBot_Medic_QuickFix_BigHeal Name "Marching Medic" Item "Lo-Fi Longwave" Classicon medic_speedcanteen Item "The Overdose" ItemAttributes { ItemName "The Overdose" "add cond on hit" 24 // Jarate "add cond on hit duration" 5 "clip size penalty" 0.25 "fire rate bonus HIDDEN" 0.25 "Reload time increased" 0.5 "dmg penalty vs players" 0.1 // 2.5 } ItemAttributes { ItemName "The Quick-Fix" "medigun passive attributes" "move speed bonus|0.6|mod medic healed damage bonus|1.5" "medigun passive attributes owner" "damage force reduction|0.2|mult medigun range|1.5" } FireInput { Target player Action $PlaySoundToSelf Param "=35|mvm/mvm_used_powerup.wav" Delay 0.5 Cooldown 99999 Repeats 0 } FireInput { Target player Action $DisplayTextChat Param "{99CCFF}Marching Medic {FBEBCA}has shared their {9BBF4D}HASTE{reset} Power Up Canteen!" Delay 0.5 Cooldown 99999 Repeats 0 } } TFBot { Template T_TFBot_Giant_Soldier_Burst MaxVisionRange 1600 Name "Ordained Volley Rainer" ClassIcon soldier_burstfire_ammocanteen} TFBot { Template T_TFBot_Giant_Soldier_Burst_CanteenAmmo MaxVisionRange 900 Name "Ordained Focus Volley" ClassIcon soldier_burstfire_ammocanteen} } } WaveSpawn { Name liua4 TotalCurrency 50 TotalCount 10 MaxActive 6 // 3 SpawnCount 2 WaitForAllDead liua3 WaitBeforeStarting 10 WaitBetweenSpawns 8 Where spawnbot_left Squad { // TFBot { Template T_TFBot_Giant_Scout_MiniCrit Name "Brigand Runner" TFBot { Template T_TFBot_Giant_Demoknight_Caber_Atomic Name "Brigand Sacrificial" Attributes AlwaysCrit Item "Breadcrab" Item "Bread Biter" Item "Loaf Loafers" Skill Hard Attributes DisableDodge ItemAttributes { Item "The Force-a-Nature" ItemName "The Ullapool Caber" "damage bonus" 50 "blast dmg to self increased" 621 // it dies. "killstreak tier" 1 } ChangeAttributes { Delay 0 Cooldown 0 Repeats 1 IfHealthBelow 2000 Name "ape" } EventChangeAttributes { ape { CustomEyeGlowColor "255 95 31" Attributes DisableDodge ActionOverride Mobber ItemColor { ItemName "The Ullapool Caber" Red 255 Green 95 Blue 31 } ItemColor { ItemName "Sober Stuntman" Red 255 Green 95 Blue 31 } CharacterAttributes { "cannot pick up intelligence" 1 "attach particle effect" 3130 } // Cremation } } // WeaponRestrictions MeleeOnly // ItemAttributes { // ItemName "The Force-a-Nature" // "item style override" 1 // "is australium item" 1 // // "fire rate bonus" .001 // "bullets per shot bonus" 3 // "faster reload rate" 4 // "scattergun has knockback" 5 // "scattergun knockback mult" 2.5 // default is 1.6 // "apply z velocity on damage" 200 // It sends you up instead. :3 // // "killstreak tier" 1 // } CharacterAttributes { "damage force reduction" 0.3 "cancel falling damage" 1 "increased jump height" 1.3 // "air dash count" 1 } } // TFBot { Template T_TFBot_Giant_Scout_MiniCrit Name "Brigand Runner" // WeaponRestrictions MeleeOnly Item "Three-Rune Blade" // ItemAttributes { // ItemName "Three-Rune Blade" // "hit self on miss" 0 // "fire rate bonus" 0.66 // // "bleeding duration" 5 // "damage penalty" 0.34 // "dmg penalty vs players" 2.5 // // "killstreak tier" 1 // } // Item "Breadcrab" Item "Bread Biter" Item "Loaf Loafers" } TFBot { Template T_TFBot_Medic_QuickFix_Heal Name "Marching Medic" Item "Lo-Fi Longwave" Classicon medic_speedcanteen Item "The Overdose" ItemAttributes { ItemName "The Overdose" "add cond on hit" 24 // Jarate "add cond on hit duration" 5 "clip size penalty" 0.25 "fire rate bonus HIDDEN" 0.25 "Reload time increased" 0.5 "dmg penalty vs players" 0.1 // 2.5 } ItemAttributes { ItemName "The Quick-Fix" "medigun passive attributes" "move speed bonus|1|mod medic healed damage bonus|1.5" "medigun passive attributes owner" "damage force reduction|0.2|mult medigun range|1.5" } FireInput { Target player Action $PlaySoundToSelf Param "=35|mvm/mvm_used_powerup.wav" Delay 0.5 Cooldown 99999 Repeats 0 } FireInput { Target player Action $DisplayTextChat Param "{99CCFF}Marching Medic {FBEBCA}has shared their {9BBF4D}HASTE{reset} Power Up Canteen!" Delay 0.5 Cooldown 99999 Repeats 0 } } } } WaveSpawn { Name liua5 TotalCurrency 50 TotalCount 1 MaxActive 1 SpawnCount 1 WaitForAllSpawned liua4 WaitBeforeStarting 15 WaitBetweenSpawns 8 Where spawnbot_left DoneMessage "Their admiral is down, Major Healvy is JAMMED!" TFBot { Template T_TFBot_Giant_Heavy_Deflector_HOK Health 8000 Attributes UseBossHealthBar // Name "Ordained Deflector Healvy" Name "Major Healvy" Skill Hard SpawnTemplate "KOKAngered" SpawnTemplate "HOKDeflectorThink" RemoveAttribute { Item "Deflector" Name "health regen" Delay 1 Cooldown 4 Repeats 0 IfHealthAbove 2499 } RemoveAttribute { Item "TF_WEAPON_SHOTGUN_HWG" Name "health regen" Delay 1 Cooldown 4 Repeats 0 IfHealthAbove 2499 } VoiceCommand { Delay 2 Cooldown 5 Repeats 1 Type "Thanks" } VoiceCommand { Delay 1 Cooldown 5 Repeats 0 IfHealthBelow 2500 Type "Jeers" } EventChangeAttributes { DontFear { WeaponRestrictions SecondaryOnly Name "Jammed Admiral Booster" Skill Expert CustomEyeGlowColor "255 95 31" ItemAttributes { ItemName "TF_WEAPON_SHOTGUN_HWG" "heal on kill" 5000 "bullets per shot bonus" 10 "damage penalty" 0.5 "faster reload rate" 0.1 "projectile penetration" 1 "attack projectiles" 1 // force ability to shoot down projectiles "health regen" 400 "SPELL: Halloween voice modulation" 1 "killstreak tier" 1 } ItemColor { ItemName "Deflector" Red 255 Green 95 Blue 31 } ItemColor { ItemName "The Tungsten Toque" Red 255 Green 95 Blue 31 } CharacterAttributes { "attach particle effect" 3130 } // Cremation } HOKPhase2 { WeaponRestrictions SecondaryOnly Name "Jammed Admiral Booster" Skill Expert ItemAttributes { ItemName "Deflector" "move speed bonus" 0.6 "health regen" 2500 } ItemAttributes { ItemName "TF_WEAPON_SHOTGUN_HWG" "move speed bonus" 0.6 "health regen" 2500 } } } CharacterAttributes { "health regen" 40 "mod weapon blocks healing" 1 "voice pitch scale" 0 } } FirstSpawnOutput { Target w6_boss_title_relay Action Trigger } } WaveSpawn { Name liua5 TotalCurrency 50 TotalCount 1 MaxActive 1 SpawnCount 1 WaitForAllSpawned liua4 WaitBeforeStarting 18 WaitBetweenSpawns 8 Where spawnbot_right DoneMessage "They lost their only friend, Admiral Booster is ENRAGED!" TFBot { Template T_TFBot_Giant_Heavy_Deflector_KOK Health 8000 Attributes UseBossHealthBar // Name "Ordained Deflector Critvy" Name "Admiral Booster" Skill Normal SpawnTemplate "HOKAngered" SpawnTemplate "KOKDeflectorThink" RemoveAttribute { Item "Deflector" Name "health regen" Delay 1 Cooldown 4 Repeats 0 IfHealthAbove 2499 } VoiceCommand { Delay 2 Cooldown 5 Repeats 1 Type "Incoming" } VoiceCommand { Delay 1 Cooldown 5 Repeats 0 IfHealthBelow 2500 Type "Negative" } EventChangeAttributes { KillAnyoneThatOpposeMe { Name "Jammed Admiral Booster" Skill Expert CustomEyeGlowColor "255 95 31" ItemAttributes { ItemName "Deflector" "damage bonus" 1.4 "fire rate bonus" 0.8 "fire rate bonus with reduced health" 0.7 "health regen" 400 "SPELL: Halloween voice modulation" 1 } ItemColor { ItemName "Deflector" Red 255 Green 95 Blue 31 } ItemColor { ItemName "Hard Counter" Red 255 Green 95 Blue 31 } Attributes DisableDodge ActionOverride Mobber CharacterAttributes { "cannot pick up intelligence" 1 "attach particle effect" 3130 } // Cremation } KOKPhase2 { ItemAttributes { ItemName "Deflector" "move speed bonus" 0.6 "health regen" 2500 } } } CharacterAttributes { "health regen" 40 "mod weapon blocks healing" 1 "voice pitch scale" 0 } } FirstSpawnOutput { Target wave_start_relay Action RunScriptCode Param " ClientPrint(null,3,`\x08FFFF00FF[Music] Now Playing: END of the L1NE_ - Figburn `) ClientPrint(null,3,`Tip: The twin will heal to 50% if they're not bursted down equally.`) " } } WaveSpawn { Name liua4s TotalCurrency 0 TotalCount 0 // 621 MaxActive 6 SpawnCount 3 WaitForAllDead liua2 WaitBeforeStarting 20 WaitBetweenSpawns 12 Where spawnbot_left Support Limited RandomChoice { TFBot { Template T_TFBot_Heavy_Shotgun Name "Brigand Hunter" ClassIcon heavy_shotgun_burst_lite } TFBot { Template T_TFBot_Heavy_Shotgun_Burst Name "Brigand Hunter" ClassIcon heavy_shotgun_burst_lite ItemAttributes { ItemName "TF_WEAPON_SHOTGUN_HWG" "reload time increased hidden" 0.66 "fire rate bonus with reduced health" 0.5 "panic_attack" 1 "bullets per shot bonus" 2.5 } } Template T_TFBot_Pyro_Afterburn Name "Cauterizing Toaster" Item "Breadcrab" Item "Bread Biter" Item "Loaf Loafers" } } ///// TANK 2 ///// WaveSpawn { Name paratank TotalCurrency 308 TotalCount 1 Where spawnbot_boss WaitBeforeStarting 15 WaitForAllDead liua3 // Support Limited FirstSpawnWarningSound "Announcer.MVM_Tank_Alert_Spawn" FirstSpawnOutput { Target boss_spawn_relay Action Trigger } Tank { Health 15000 Name paratank Scale 0.65 ClassIcon tank // speed Speed 75 // 1m 45s on this map Skin 0 // StartingPathTrackNode "boss_path_1" StartingPathTrackNode "droptank_1" // It flies now, fuck you. uwu OnKilledOutput { Target boss_dead_relay Action Trigger } OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn { WaitBeforeStarting 10 FirstSpawnOutput { Target wave_start_relay Action runscriptcode Param " // Lite script // IncludeScript(`tankextensions/blimp`, getroottable()) IncludeScript(`pyro_spinner`) // IncludeScript(`tankextensions/painttank`, getroottable()) if(!(`CreateBlimpPath` in this)) IncludeScript(`blimp_lite`) // TankExt.SetTankModel(tank, 1) // TankExt.SetTankModel(null, models/bots/boss_bot/boss_blimp_pure.mdl) if(!(Entities.FindByName(null,`blimp_1`))) { CreateBlimpPath([ `-2221 2665 1772|blimp_1`, `-1485 315 400|blimp_2`, `-1545 -942 850|blimp_3`, `-762 -942 850|blimp_4`, `-607 -2280 500|blimp_5`,])} // TankExt.SetValueOverrides // Stolen from randomguy's int fr fr no cap // ({ // PAINTTANK_MODEL_COLOR = `models/bots/boss_bot/boss_blimp_main.mdl` // PAINTTANK_MODEL_COLOR_DAMAGE1 = `models/bots/boss_bot/boss_blimp_main_damage1.mdl` // PAINTTANK_MODEL_COLOR_DAMAGE2 = `models/bots/boss_bot/boss_blimp_main_damage2.mdl` // PAINTTANK_MODEL_COLOR_DAMAGE3 = `models/bots/boss_bot/boss_blimp_main_damage3.mdl` // PAINTTANK_MODEL_COLOR_TRACK_L = `models/bots/boss_bot/paintable_tank_v2/tank_track_l.mdl` // PAINTTANK_MODEL_COLOR_TRACK_R = `models/bots/boss_bot/paintable_tank_v2/tank_track_r.mdl` // PAINTTANK_MODEL_COLOR_BOMB = `models/bots/boss_bot/paintable_tank_v2/bomb_mechanism.mdl` // }) " } } WaveSpawn { Name "ShittyWayToFix_TANK_MissingIcon" WaitForAllDead paratank WaitBeforeStarting 0.05 Where spawnbot_left TFBot { Template T_TFBot_Pyro_Afterburn Name "Obscure DD2 References" ClassIcon tank} } WaveSpawn { WaitForAllSpawned paratank WaitBeforeStarting 0.05 FirstSpawnOutput { Target wave_start_relay Action RunScriptCode Param " ClientPrint(null,3,`\x0799CCFFPara Tank with 15k HP inbound!`) SpawnEntityFromTable(`training_annotation` , { targetname = `sif_annot` display_text = `Look up! The Para-Tank is up there!` lifetime = `6` origin = `-3028 2048 1800` } ) EntFire(`sif_annot`, `show`) EntFire(`sif_annot`, `kill`, ``, 12) " } } ///// TANK 2 OVER ///// } // Wave 6 Over /// // WAVE 7/7 (621$) /// Wave { WaitWhenDone 65 Checkpoint Yes InitWaveOutput { // Target wave_init_relay // Don't do anything on this map Target gamerules Action RunScriptCode Param " SetSkyboxTexture (`sky_harvest_night_01`) // Thanks ficool2. EntFire(`nav_prefer_flank_right`, `Kill`) EntFire(`nav_prefer_flank_left`, `Kill`) EntFire(`func_upgradestation`, `enable`); //ClientPrint(null,3,`\x08FF5733FFMedium | Darkest (Level 6)`) ClientPrint(null,3,`\x08FF5733FFMedium | Champion (Level 5)`) ClientPrint(null,3,`\x08FFFFFFFFGoals:`) ClientPrint(null,3,`\x08FFFFFFFFKill 1 Zenith of Robotkind`) ClientPrint(null,3,`\x08000000FF.`) // ClientPrint(null,3,`Tip: Do NOT get killed by them.`) // ClientPrint(null,3,`They will spawn a random mimic based off one of your current loadout.`) Convars.SetValue(`tf_airblast_cray_lose_footing_duration`, 0); // No more airblast Convars.SetValue(`tf_airblast_cray_power`, 150); Convars.SetValue(`tf_bot_taunt_victim_chance`, 0); Convars.SetValue(`tf_bot_pyro_always_reflect`, 1); Convars.SetValue(`tf_bot_pyro_shove_away_range`, 1000); // This procs phlog Convars.SetValue(`tf_bot_engineer_mvm_hint_min_distance_from_bomb`, 500); Convars.SetValue(`tf_bot_engineer_mvm_sentry_hint_bomb_forward_range`, 2750); Convars.SetValue(`tf_bot_engineer_mvm_sentry_hint_bomb_backward_range`, 250); " } WaveSpawn { WaitBeforeStarting 1 FirstSpawnOutput { Target wave_start_relay Action runscriptcode Param " // Lite script // IncludeScript(`tankextensions/blimp`, getroottable()) // IncludeScript(`tankextensions/painttank`, getroottable()) if(!(`CreateBlimpPath` in this)) IncludeScript(`blimp_lite`) // TankExt.SetTankModel(tank, 1) // TankExt.SetTankModel(null, models/bots/boss_bot/boss_blimp_pure.mdl) if(!(Entities.FindByName(null,`blimp_1`))) { CreateBlimpPath([ `-2221 2665 1772|blimp_1`, `-1485 315 400|blimp_2`, `-1545 -942 650|blimp_3`, `-762 -942 300|blimp_4`, `-607 -2280 250|blimp_5`,])} // TankExt.SetValueOverrides // Stolen from randomguy's int fr fr no cap // ({ // PAINTTANK_MODEL_COLOR = `models/bots/boss_bot/boss_blimp_main.mdl` // PAINTTANK_MODEL_COLOR_DAMAGE1 = `models/bots/boss_bot/boss_blimp_main_damage1.mdl` // PAINTTANK_MODEL_COLOR_DAMAGE2 = `models/bots/boss_bot/boss_blimp_main_damage2.mdl` // PAINTTANK_MODEL_COLOR_DAMAGE3 = `models/bots/boss_bot/boss_blimp_main_damage3.mdl` // PAINTTANK_MODEL_COLOR_TRACK_L = `models/bots/boss_bot/paintable_tank_v2/tank_track_l.mdl` // PAINTTANK_MODEL_COLOR_TRACK_R = `models/bots/boss_bot/paintable_tank_v2/tank_track_r.mdl` // PAINTTANK_MODEL_COLOR_BOMB = `models/bots/boss_bot/paintable_tank_v2/bomb_mechanism.mdl` // }) // More LITE SCRIPT WOOOO FUN. " } } StartWaveOutput { Target wave_start_endurance_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } ///// BLIMP 1 ///// WaveSpawn { Name blimp TotalCurrency 0 TotalCount 1 Where spawnbot_boss WaitBeforeStarting 5 // Support Limited FirstSpawnWarningSound "Announcer.MVM_Tank_Alert_Spawn" FirstSpawnOutput { Target boss_spawn_relay Action Trigger } Tank { Health 12656 // 6328 // 3164 Name blimp Skin 1 PingSound "misc/null.wav" NoCrushDamage 1 Model "models/bots/boss_bot/boss_blimp_pure.mdl" EngineLoopSound "vehicles\airboat\fan_blade_idle_loop1.wav" Scale 0.65 Classicon blimp2_lite // speed Speed 75 // 1m 45s on this map Skin 0 StartingPathTrackNode "blimp_1" // It flies now, fuck you. uwu OnKilledOutput { Target boss_dead_relay Action Trigger } OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } LastSpawnOutput { Target "blimp" Action "color" Param "177 177 177" // gray } } ///// BLIMP 2 ///// WaveSpawn { Name blimp TotalCurrency 0 TotalCount 1 Where spawnbot_boss WaitBeforeStarting 5.25 // Support Limited FirstSpawnOutput { Target boss_spawn_relay Action Trigger } Tank { Health 1582 // 3164 Name blimp Skin 1 PingSound "misc/null.wav" NoCrushDamage 1 Model "models/bots/boss_bot/boss_blimp_pure.mdl" EngineLoopSound "vehicles\airboat\fan_blade_idle_loop1.wav" Scale 0.65 Classicon blimp2_lite // speed Speed 75 // 1m 45s on this map Skin 0 StartingPathTrackNode "blimp_1" // It flies now, fuck you. uwu OnKilledOutput { Target boss_dead_relay Action Trigger } OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } LastSpawnOutput { Target "blimp" Action "color" Param "177 177 177" // gray } } ///// BLIMP 3 ///// WaveSpawn { Name blimp TotalCurrency 0 TotalCount 1 Where spawnbot_boss WaitBeforeStarting 5.25 // Support Limited FirstSpawnOutput { Target boss_spawn_relay Action Trigger } Tank { Health 1582 // 3164 Name blimp Skin 1 PingSound "misc/null.wav" NoCrushDamage 1 Model "models/bots/boss_bot/boss_blimp_pure.mdl" EngineLoopSound "vehicles\airboat\fan_blade_idle_loop1.wav" Scale 0.65 Classicon blimp2_lite // speed Speed 75 // 1m 45s on this map Skin 0 StartingPathTrackNode "blimp_1" // It flies now, fuck you. uwu OnKilledOutput { Target boss_dead_relay Action Trigger } OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } LastSpawnOutput { Target "blimp" Action "color" Param "177 177 177" // gray } } ///// BLIMP 4 ///// WaveSpawn { Name blimp TotalCurrency 0 TotalCount 1 Where spawnbot_boss WaitBeforeStarting 5.25 // Support Limited FirstSpawnOutput { Target boss_spawn_relay Action Trigger } Tank { Health 1582 // 3164 Name blimp Skin 1 PingSound "misc/null.wav" NoCrushDamage 1 Model "models/bots/boss_bot/boss_blimp_pure.mdl" EngineLoopSound "vehicles\airboat\fan_blade_idle_loop1.wav" Scale 0.65 Classicon blimp2_lite // speed Speed 75 // 1m 45s on this map Skin 0 StartingPathTrackNode "blimp_1" // It flies now, fuck you. uwu OnKilledOutput { Target boss_dead_relay Action Trigger } OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } LastSpawnOutput { Target "blimp" Action "color" Param "177 177 177" // gray } } WaveSpawn { WaitForAllSpawned blimp WaitBeforeStarting 0.05 FirstSpawnOutput { Target wave_start_relay Action RunScriptCode Param " ClientPrint(null,3,`\x0799CCFFBFB with 12656 HP inbound!`) " } } ///// BLIMP OVER ///// WaveSpawn { WaitForAllDead blimp WaitBeforeStarting 12 FirstSpawnOutput { Target wave_start_relay Action RunScriptCode Param " ClientPrint(null,3,`Steel yourself for the skulking horror within your reach.`) " } } WaveSpawn { Name qia1 Where spawnbot_right Where spawnbot_left TotalCount 20 MaxActive 10 SpawnCount 5 WaitForAllDead blimp WaitBeforeStarting 10 WaitBetweenSpawns 2 // 8 TotalCurrency 21 FirstSpawnOutput { Target wave_start_relay Action RunScriptCode Param " ClientPrint(null,3,`The oblivion. Emptiness of the void awaits us.`) " } Squad { NoWaitForFormation 1 TFBot { Template T_TFBot_Medic_Amputator_Taunt Name Evangelist } TFBot { Template T_TFBot_Medic_Ubersaw Name "Gander" ClassIcon medic_uberkritzsplit } TFBot { Template T_TFBot_Medic_Ubersaw Name "Gander" ClassIcon medic_uberkritzsplit } TFBot { Template T_TFBot_Medic_Ubersaw Name "Gander" ClassIcon medic_uberkritzsplit } TFBot { Template T_TFBot_Medic_Ubersaw Name "Gander" ClassIcon medic_uberkritzsplit } } // RandomChoice { // TFBot { // // Template T_TFBot_Giant_Scout_Sandman // Template T_TFBot_Scout_Quick // // Attributes AlwaysCrit // // Attributes AlwaysCrit // Name "Cultist Vessel" // ClassIcon scout_stun_spammer // // Attributes IgnoreFlag // Item "The Sandman" // Item "The Backwards Ballcap" // Action Mobber // ItemAttributes { // ItemName "the sandman" // "effect bar recharge rate increased" 0.5 // "mark for death" 1 // "fire rate bonus" 0.33 // } // } // TFBot { // Template T_TFBot_Scout_Quick // // Attributes AlwaysCrit // // Attributes AlwaysCrit // // Name "Denier of Fortitude" // Name "Cultist Vessel" // Item "The Sandman" // Item "The Backwards Ballcap" // ClassIcon scout_stun_spammer // // Attributes IgnoreFlag // Action Mobber // ItemAttributes { // ItemName "the sandman" // "effect bar recharge rate increased" 0.5 // "mark for death" 1 // "fire rate bonus" 0.33 // } // } // } } WaveSpawn { Name qia1 Where spawnbot_boss TotalCount 2 MaxActive 2 SpawnCount 2 WaitBeforeStarting 5 WaitForAllDead blimp TotalCurrency 100 Squad { TFBot { // Template T_TFBot_Giant_Pyro_FlameRicochet Template T_TFBot_Giant_Soldier_Barrager_AmmoCanteen Name "Face Your Failure" ClassIcon soldier_barrage_hyper_lite } TFBot { Template T_TFBot_Giant_Medic_Kritzkrieg_Shield Name "Denier of Reach" } } } WaveSpawn { Name qia1s Where spawnbot_left TotalCount 621 MaxActive 6 SpawnCount 2 WaitForAllDead blimp WaitBeforeStarting 30 WaitBetweenSpawns 8 TotalCurrency 0 Support Limited RandomChoice { TFBot { Template T_TFBot_Scout_Batsaber Name "Obsessive Miasma" ClassIcon scout_blaster_nys_bright ItemAttributes { ItemName "Batsaber" "mark for death" 1} } TFBot { Template T_TFBot_Scout_Blaster_PublicEnemy Name "Kosmik Vessel" ClassIcon scout_blaster_nys_bright } TFBot { Template T_TFBot_Scout_Blaster_Rush Name "Kosmik Vessel" ClassIcon scout_blaster_nys_bright } TFBot { Template T_TFBot_Scout_Blaster_Rush Name "Kosmik Vessel" ClassIcon scout_blaster_nys_bright } TFBot { Template T_TFBot_Scout_Blaster_Rush Name "Kosmik Vessel" ClassIcon scout_blaster_nys_bright } TFBot { Template T_TFBot_Scout_Blaster_Rush Name "Kosmik Vessel" ClassIcon scout_blaster_nys_bright } TFBot { Template T_TFBot_Scout_Blaster_Rush Name "Kosmik Vessel" ClassIcon scout_blaster_nys_bright } TFBot { Template T_TFBot_Scout_Blaster_Rush Name "Kosmik Vessel" ClassIcon scout_blaster_nys_bright } TFBot { Template T_TFBot_Scout_Blaster_Rush Name "Kosmik Vessel" ClassIcon scout_blaster_nys_bright } TFBot { Template T_TFBot_Scout_Blaster_Rush Name "Kosmik Vessel" ClassIcon scout_blaster_nys_bright } } } WaveSpawn { Name qia2 WaitForAllDead qia1 TotalCount 25 // 60 MaxActive 4 SpawnCount 1 TotalCurrency 0 WaitBeforeStarting 28 // E WaitBetweenSpawns 5 Where spawnbot_left Support Limited TFBot { Template T_TFBot_Heavy_Deflector_Penetrate Name "Piercing Deflector" ClassIcon heavy_deflector_penetrate Skill Hard } } WaveSpawn { Name qia3s Where spawnbot_right TotalCount 30 MaxActive 4 SpawnCount 2 WaitForAllDead qia1 WaitBeforeStarting 10 WaitBetweenSpawns 6 TotalCurrency 0 Support Limited RandomChoice { TFBot { Template T_TFBot_Engineer_FastBuild Name "Maintaineer Synth" Attributes AlwaysFireWeapon Item "Battery Canteens" ClassIcon engineer_buildcan Action Medic [SIGSEGV] ItemAttributes { ItemName "Mining Light" "attach particle effect" 0 // Disabling my own template whatevs } } TFBot { Template T_TFBot_Engineer_Battle_Ranger_RapidFire Name "Maintaineer Synth" Item "Battery Canteens" ClassIcon engineer_buildcan Attributes AlwaysFireWeapon Item "Mining Light" Action Medic [SIGSEGV] ItemAttributes { ItemName "Mining Light" "attach particle effect" 0 } } TFBot { Template T_TFBot_Engineer_Battle_Ranger_RapidFire Name "Maintaineer Synth" Item "Battery Canteens" ClassIcon engineer_buildcan Attributes AlwaysFireWeapon Item "Mining Light" Action Medic [SIGSEGV] ItemAttributes { ItemName "Mining Light" "attach particle effect" 0 } } TFBot { Template T_TFBot_Engineer_Battle_Ranger_RapidFire Name "Maintaineer Synth" Item "Battery Canteens" ClassIcon engineer_buildcan Attributes AlwaysFireWeapon Item "Mining Light" Action Medic [SIGSEGV] ItemAttributes { ItemName "Mining Light" "attach particle effect" 0 } } TFBot { Template T_TFBot_Engineer_Battle_Ranger_RapidFire Name "Maintaineer Synth" Item "Battery Canteens" ClassIcon engineer_buildcan Attributes AlwaysFireWeapon Item "Mining Light" Action Medic [SIGSEGV] ItemAttributes { ItemName "Mining Light" "attach particle effect" 0 } } } // RNG } WaveSpawn { Name qia3s Where spawnbot_right TotalCount 30 MaxActive 2 SpawnCount 1 WaitForAllDead qia1 WaitBeforeStarting 10 WaitBetweenSpawns 30 TotalCurrency 0 Support Limited TFBot { Template T_TFBot_Engineer_FastBuild Name "Self-Aware Synth" Item "Battery Canteens" ClassIcon engineer_buildcan ExtAttr BuildDispenserAsSentryGun // ItemAttributes { // ItemName "Mining Light" // "attach particle effect" 0 // Disabling my own template whatevs // } FireWeapon { Delay 30 Cooldown 45 Type "Action" } ItemAttributes { ItemName "Battery Canteens" "building instant upgrade" 1 "powerup duration" 5 "powerup charges" 3 } } } WaveSpawn { Name qia3ss Where spawnbot_left TotalCount 621 MaxActive 12 SpawnCount 4 WaitForAllDead qia1 WaitBeforeStarting 45 WaitBetweenSpawns 5 TotalCurrency 0 Support Limited RandomChoice { RandomChoice { TFBot { Template T_TFBot_Medic_QuickFix_BigHeal Health 130 Name "Endless Reassurance" ClassIcon "medic_overheal_uber" } TFBot { Template T_TFBot_Medic_QuickFix_BigHeal Health 130 Name "Ceaseless Reassurance" ClassIcon "medic_overheal_uber" } TFBot { Template T_TFBot_Medic_QuickFix_BigHeal Health 130 Name "Restless Reassurance" ClassIcon "medic_overheal_uber" } TFBot { Template T_TFBot_Medic_Uber_Blink Health 66 Name "Mindless Reassurance" ClassIcon "medic_overheal_uber" } } } } WaveSpawn { Name qia3_backupbattalion Where spawnbot_rand TotalCount 621 MaxActive 6 SpawnCount 3 WaitForAllDead qia1 WaitBeforeStarting 5 WaitBetweenSpawns 10 TotalCurrency 0 Support Limited RandomChoice { TFBot { Template T_TFBot_Soldier_Bazooka_Backup Name "Denial of Carry" ClassIcon soldier_backup_spammer } TFBot { Template T_TFBot_Soldier_Backup Name "Denial of Carry" ClassIcon soldier_backup_spammer } TFBot { Template T_TFBot_Soldier_BlackBox_Backup Name "Denial of Carry" ClassIcon soldier_backup_spammer } TFBot { Template T_TFBot_Soldier_Burst_Backup Name "Denial of Carry" ClassIcon soldier_backup_spammer } TFBot { Template T_TFBot_Soldier_Charged_Backup Attributes AlwaysCrit Name "Denial of Carry" ClassIcon soldier_backup_spammer } TFBot { Template T_TFBot_Soldier_DirectHit_Backup Name "Denial of Carry" ClassIcon soldier_backup_spammer } } } WaveSpawn { Name qia3_rebellion_rev // So this doesn't work, I need to rewrite Where spawnbot_rand TotalCount 0 MaxActive 3 SpawnCount 1 WaitForAllDead qia1 WaitBeforeStarting 999 WaitBetweenSpawns 20 TotalCurrency 0 Support Limited RandomChoice { TFBot { Template T_Protocopy_Mimicry FireInput { Target !activator Action RunScriptCode Param "Trespasser.SetDoppelganger(self, Trespasser.GetRandomPlayerShuffle([2], true, false))" Delay 0 Repeats 1 } } } } WaveSpawn { Name qia3_bossuwu Where spawnbot_left TotalCount 4 // 2 MaxActive 4 // 2 SpawnCount 4 // 2 WaitForAllDead qia1 WaitBeforeStarting 0 WaitBetweenSpawns 0 TotalCurrency 500 FirstSpawnOutput { Target wave_start_relay Action RunScriptCode Param " ClientPrint(null,3,`\x08FFFF00FF[Music] Now Playing: Retribution EX - Figburn`) " } Squad { TFBot { Template T_Giant_Engineer Name "Zenith of Robotkind" Health 40000 Item "The Rescue Ranger" Item "The Giger Counter" Item "Golden Wrench" Item "TF_WEAPON_SPELLBOOK" Classicon engineer_wrangler_giger_lite Item "Bedouin Bandana" Item "Starduster" Item "Iron Fist" Item "The Texas Half-Pants" WeaponRestrictions SecondaryOnly Attributes DisableDodge Attributes HoldFireUntilFullReload Attributes UseBossHealthBar Attributes AlwaysFireWeapon Action Mobber ExtAttr SuppressCanteenUse Scale 1.6 Attributes AutoJump AutoJumpMin 10 AutoJumpMax 15 WeaponResist { "TF_WEAPON_KNIFE" 0.75 "TF_WEAPON_MINIGUN" 0.75 } ItemAttributes { ItemName "The Rescue Ranger" "is_passive_weapon" 1 "subtract victim medigun charge on hit" 25 "subtract victim cloak on hit" 50 "energy weapon no hurt building" 0 "energy weapon penetration" 1 "attach particle effect" 704 // Energy Orb } CharacterAttributes { "rage giving scale" 0.1 "hand scale" 1.5 "boots falling stomp" 1 "crit vs burning players" 1 "crit vs wet players" 1 "crit vs stunned players" 1 "increased jump height" 1.62 "dmg from melee increased" 0.75 // Nerf to spy "killstreak tier" 1 } Spell { Delay 10 Cooldown 8 IfSeeTarget 1 Charges 2 Type "Superjump" IfHealthBelow 22500 } Spell { Delay 2.5 Cooldown 6 IfSeeTarget 1 Charges 1 Type "Tesla Bolt" IfHealthBelow 10000 } FireInput { Target player Action $DisplayTextChat Param "The enemy sheer defense can be felled." Delay 0.05 Cooldown 9999 IfHealthBelow 2500 } FireInput { Target player Action $DisplayTextChat Param "They can't keep persisting." Delay 3 Cooldown 9999 IfHealthBelow 2500 } EventChangeAttributes { Fase1_RangerEnergy { WeaponRestrictions SecondaryOnly Attributes HoldFireUntilFullReload ItemAttributes { ItemName "The Rescue Ranger" "is_passive_weapon" 1 "subtract victim medigun charge on hit" 25 "subtract victim cloak on hit" 50 "energy weapon no hurt building" 0 "energy weapon penetration" 1 "attach particle effect" 704 // Energy Orb "killstreak tier" 1 } } Fase1_Frontier { WeaponRestrictions PrimaryOnly Attributes HoldFireUntilFullReload Item "The Frontier Justice" ItemAttributes { ItemName "The Frontier Justice" "is_passive_weapon" 0 "fire rate bonus" 0.5 "dmg bonus vs buildings" 4 "damage bonus" 0.8 "clip size bonus" 4 "faster reload rate" 0.7 "attach particle effect" 704 // Energy Orb "killstreak tier" 1 } } Fase2_ShortCircuitKnockback { WeaponRestrictions SecondaryOnly Item "The Short Circuit" Attributes HoldFireUntilFullReload DamageAppliesCond { Name TF_COND_SWIMMING_NO_EFFECTS Duration 8 } FireWeapon { Delay 0.1 Cooldown 0.1 Duration 0.1 IfSeeTarget 1 Type Secondary } ItemAttributes { Itemname "The Short Circuit" "is_passive_weapon" 0 "apply z velocity on damage" 621 "energy weapon no hurt building" 0 "dmg bonus vs buildings" 5 "fire rate bonus" 1.25 "attach particle effect" 704 // Energy Orb "custom kill icon" "short_circuit" "killstreak tier" 1 } } } FireInput { target "randomLogic" action "Trigger" delay 3 Repeats 1 } } TFBot { Template T_TFBot_Giant_Medic_Vacci_Cycler Health 24000 Name "Cowardice Altar" ClassIcon medic_vacc_trio } TFBot { Template T_TFBot_Engineer_FastBuild Name "Maintaineer Synth" Attributes AlwaysFireWeapon Item "Battery Canteens" ClassIcon medic_uberkritzsplit Action Medic [SIGSEGV] ItemAttributes { ItemName "Mining Light" "attach particle effect" 0 // Disabling my own template whatevs } } TFBot { Template T_TFBot_Engineer_FastBuild Name "Maintaineer Synth" Attributes AlwaysFireWeapon Item "Battery Canteens" ClassIcon medic_uberkritzsplit Action Medic [SIGSEGV] ItemAttributes { ItemName "Mining Light" "attach particle effect" 0 // Disabling my own template whatevs } } // TFBot { Template T_TFBot_Giant_Medic_Kritzkrieg Health 8000 Name "Obsessive Altar" ClassIcon medic_vacc_trio } // TFBot { Template T_TFBot_Giant_Medic_Uber_Pop Health 8000 Name "Wasteful Altar" ClassIcon medic_vacc_trio } } } WaveSpawn { WaitForAllDead qia2 FirstSpawnOutput { Target cap_destroy_relay Action runscriptcode Param "EntityOutputs.AddOutput(self,`OnTrigger`,`!self`,`runscriptcode`,`ClientPrint(null,3,\x60\x0799FFFFZenith of Robotkind\x07fbeccb : ez\x60)`,1.75,-1)" } } //ChangeAttributes // { // Delay 5 // Repeats 0 // IfSeeTarget 1 // Name "BattleMedic" // } // EventChangeAttributes { // BattleMedic // { // ActionOverride Mobber // WeaponRestrictions PrimaryOnly // ItemAttributes { // ItemName "The Crusader's Crossbow" // "fire rate bonus" 0.1 // "faster reload rate" 0.5 // "clip size upgrade atomic" 3.0 // "auto fires full clip" 1 // "auto fires when full" 1 // } // } // } WaveSpawn { Name ofc_you_dont_win_a_thing WaitForAllDead qia3_bossuwu FirstSpawnWarningSound "ui\itemcrate_smash_ultrarare_fireworks.wav" // Australium unbox fireworks sound } WaveSpawn { Name 602_curse WaitForAllDead qia3_bossuwu FirstSpawnWarningSound "ui\itemcrate_smash_ultrarare_fireworks.wav" // Australium unbox fireworks sound } } // Last wave. Wave 7 Done. } // Ends this nightmare of a pop. Hello, Phantom, can I get my choccy milk back :c // This file has been generated by http://mvm.tf