//Nightsky Nightmare, by Seelpit //Advanced difficulty //For Silent Sky - "event" variation, aka Night Sky //A spooky advanced that utilizes a little bit of sigmod for some funky bots! //Main gimmicks: //- RED Bots //- FireWeapon //- Portals //- Teleporter Tank //quick test notes //Post-Judge notes //W1 //- Make first GHeavy spawn after all gdemos are dead? Or after first 2 are dead? //Itemeio //- Nerf Liberty somewhat //- Added 25% fire rate penalty; nerfed damage down to +25%; increased acceleration. //Themed waves: //- Nautical Nightmares (FireWeapon) //- Demonic Demolition //- Pestilence Panic //- Bloodstained Bashing (blood botkiller bots!) //- Honeycoated Horrors (the obligatory bee wave) //- Spatial Storm // spawnbot - spawn bots in carrier // spawnbot_mission_sentrybuster - main carrier // spawnbot_mission_spy - main carrier // spawnbot_mission_engineer - side thing // spawnbot_mission_sniper - one spawn near carrier and another on side thing. // spawnbot_side - spawns bots in side thing // spawnbot_alt - spawn bots on main spawn, closer to the drop. mostly a relic from alpha which is still used for some reason. // spawnbot_airdrop0 // spawnbot_airdrop1 // spawnbot_airdrop2 // spawnbot_invasion - uses every available land spawn // infinite limited spawns - controlled by relays! // spawnbot_alt_limited_a // spawnbot_alt_limited_b // spawnbot_alt_limited_c // spawnbot_alt_limited_d // spawnbot_side_limited_a // spawnbot_side_limited_b // spawnbot_side_limited_c // spawnbot_side_limited_d // spawnbot_airdrop0_limited_a // spawnbot_airdrop0_limited_b // spawnbot_airdrop0_limited_c // spawnbot_airdrop0_limited_d // spawnbot_airdrop1_limited_a // spawnbot_airdrop1_limited_b // spawnbot_airdrop1_limited_c // spawnbot_airdrop1_limited_d // spawnbot_airdrop2_limited_a // spawnbot_airdrop2_limited_b // spawnbot_airdrop2_limited_c // spawnbot_airdrop2_limited_d // suggested tank name: "tank" - otherwise they won't blow up on bomb deployment. ("droptank0" for tank_path_drop0_a / tank_path_drop0_b and "droptank1" for tank_path_drop1) // vac tanks: "tank_blast" (blast resistance) "tank_fire" (fire resistance) "tank_bullet" (bullet resistance) - only 1 vac tank of given type can exist. (so like, can't have 2 bullet vacs. but you can have all 3 different things out at once.) // tank pathes: tank_path_a (left side, past scaffold); tank_path_b (right side, through blu building); // tank_path_air_bombrandom - must be used AFTER dropbomb_coords_stop_relay or else game might crash because those thing don't exist unless spawned by their respective relay. // tank_path_drop0_a; tank_path_drop0_b; - spawns parachuting tanks that go down on ground, land after ~18 seconds and go on a/b path for usual tanks. // tank_path_drop1; - spawns parachuting tank close to hatch, that lands in ~16 seconds and proceeds to go towards the hatch. // It's best to have only 1 tank parachuting at the same time on drop0 or drop1. For reference, check the mission. // tank_path_bullet_start_a tank_path_fire_start_a tank_path_blast_start_a - tank path a but used for vac tank spawns. please spawn tanks with names that match the path // tank_path_bullet_start_b tank_path_fire_start_b tank_path_blast_start_b - tank path b but used for vac tank spawns. please spawn tanks with names that match the path //"portal thing is wof_plane2.mdl and the sky aura is vortex_lakeside.mdl" //cool rising ghosts: "models/props_viaduct_event/ghost_cards01.mdl" --DONE (w6 only) //Spooky eyes in tunnel of tank -- DONE //cool hellerwern noise: ui\quest_turn_in_decode_halloween.wav //Blood for under doors: search "island" in props, or check mercenary park! //Map properties: --DONE //skybox sky_triage_01 | NEW: sky_harvest_night_01 //light_environment stats: //brightness or light 248 197 139 400 | NEW: 133 101 159 275 //ambient 153 159 187 200 | NEW: 114 100 151 57 //sunSpreadAngle 5 | NEW: 3 //pitch yaw roll 0 317 0 //pitch -32 //skybox_camera stats: //fogcolor 155 114 92 | NEW: 96 66 94 // fogcolor2 91 71 79 | ditto // fogdir 1 0 0 | ditto // scale 16 | ditto // fogblend 0 | ditto // use_angles 0 | ditto //brightnessHdr -1 -1 -1 1 //brightnessScaleHdr 1 //ambientHdr -1 -1 -1 1 //ambientScaleHdr 1 #base robot_standard.pop #base robot_giant.pop popuwashyon { StartingCurrency 750 //A solid amount, really RespawnWaveTime 3 FixedRespawnWaveTime 1 //Feels better...probably ForceHoliday 2 TextPrintTime 0 BonusRatioHalf 1.1 BonusRatioFull 1.1 //cash becomes more consistent; lessens desire for A+ PrecacheModel "models/bots/boss_bot/boss_blimp.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" PrecacheModel "models/bots/boss_bot/boss_blimp_damage_explode.mdl" PrecacheModel "models/bots/boss_bot/boss_blimp_explode.mdl" PrecacheModel "models/props_mvm/robot_spawnpoint.mdl" ExtraSpawnPoint { Name "vortexspawn" TeamNum 3 X "-5974" Y "-1270" Z "1524" } ExtraSpawnPoint { Name "swirlspawn" TeamNum 3 X "-5914" Y "-2270" Z "100" } ExtraSpawnPoint { Name "airspawn_1" TeamNum 3 X "-5800" Y "-1440" Z "1524" } //I blatantly took these from Ground Zero, gotem ExtraSpawnPoint //Adds spawn points on specified location { Name "spawnbot_reprogrammed" // Spawns just outside of RED door on a fancy hatch. the jackpot TeamNum 3 X "-1315" Y "-3074.0" Z "770.0" } ExtraTankPath // Blimp spawn { Name "tank_path_blimp" Node "-5650 250 270" Node "-5650 0 470" Node "-5650 -1100 470" Node "-4770 -2320 470" Node "-4250 -2800 800" Node "-3610 -3340 800" Node "-2715 -3340 900" Node "-2450 -3120 900" } ExtraTankPath // Blood tank path { Name "tank_path_blood" //START NODES Node "-5640 -434 -160" //check if sound is played Node "-5640 -960 -128" Node "-5640 -1152 -128" Node "-5640 -1264 -128" Node "-5648 -1336 -128" Node "-5672 -1392 -128" Node "-5712 -1440 -128" Node "-5792 -1472 -128" Node "-5880 -1472 -128" Node "-5936 -1496 -128" Node "-5960 -1544 -128" Node "-5968 -1608 -128" Node "-5968 -1824 -128" Node "-5952 -1904 -128" Node "-5904 -1968 -128" Node "-5840 -2000 -128" Node "-5760 -2000 -128" //final node pre-teleport Node "-4320 -1600 328" //first node post-teleport Node "-4256 -1600 328" Node "-4176 -1616 328" Node "-4080 -1632 328" Node "-4016 -1664 328" Node "-3968 -1728 328" Node "-3936 -1792 328" Node "-3936 -2608 376" Node "-3936 -2944 400" Node "-3888 -3024 400" Node "-3808 -3104 400" Node "-3728 -3152 400" Node "-3664 -3168 400" Node "-3584 -3184 400" Node "-2752 -3232 592" Node "-2720 -3248 592" Node "-2672 -3280 592" Node "-2640 -3296 592" Node "-2592 -3296 592" Node "-2528 -3264 592" Node "-2428 -3124 592" } PointTemplates { //Special thanks to lite for providing these + the base for texts: spawnpoint { NoFixUp 1 prop_dynamic { "targetname" "spawnpointprops" "model" "models/props_mvm/robot_spawnpoint.mdl" "defaultanim" "idle" "disableshadows" "1" // prevents shadow from nothing while disabled "skin" "3" // Skin 0 for Red, Skin 1 for Blue, Skin 2 for Gray, and Skin 3 to disable the hologram } } spawnpoint_changeskin_invis { NoFixUp 1 logic_relay { "targetname" "spawnpoint_relay" "OnTrigger" "spawnpointprops,skin,3,0,-1" // When triggered, changes all "spawnpointprops" to use the Disabled skin (3) } } spawnpoint_changeskin_red { NoFixUp 1 logic_relay { "targetname" "spawnpoint_relay_r" "OnTrigger" "spawnpointprops,skin,0,0,-1" // When triggered, changes all "spawnpointprops" to use the Disabled skin (3) } } tanktext { NoFixUp 1 training_annotation { "targetname" "tanktphint" "display_text" "The Tank teleported ahead! Fall back!" "lifetime" "5" "origin" "-4320 -1600 388" } } airtext { NoFixUp 1 training_annotation { "targetname" "wormholehint" "display_text" "A wormhole appeared! Look up!" "lifetime" "4" "origin" "-5800 -1440 1230" } } airtext_boss { NoFixUp 1 training_annotation { "targetname" "wormholehint_2" "display_text" "Another wormhole has appeared!" "lifetime" "4" "origin" "-5800 -1440 1232" } } airtext_tank { NoFixUp 1 training_annotation { "targetname" "drophint" "display_text" "Airdrop incoming! Look up!" "lifetime" "4" "origin" "-5600 -2400 1670" } } //////////////////////////////////////////////////////////////////////////// //and to dratbil for this template BlimpBotTele { NoFixUp 1 trigger_teleport { "targetname" "tank_teleport" "filtername" "tankbot_filter" "origin" "-5530 350 190" //put this where the bots spawn "spawnflags" "1" "target" "tank_teleport_dest" "mins" "-500 -500 -100" "maxs" "500 500 100" } filter_tf_bot_has_tag //Give bots you want to teleport Tag tankbot { "targetname" "tankbot_filter" "Negated" "0" "require_all_tags" "1" "tags" "blimpbot" //tag the bots must have } } BlimpBotTeleDest //Spawn this with the tank { NoFixUp 1 KeepAlive 1 info_target { "targetname" "tank_teleport_dest" } } //////////////////////////////////////////////////////////////////////////// //I'd've thanked Jurrell for this one but it doesn't seem to work tank_sound_template { ambient_generic { "targetname" "tank_sound" "health" "10" "message" "fall_damage_indicator.wav" "pitch" "80" "pitchstart" "80" "radius" "12000" "spawnflags" "48" } } //////////////////////////////////////////////////////////////////////////// Vortex { NoFixUp 1 hightower_teleport_vortex { targetname "vortex" StartDisabled 1 Lifetime 10 } } VortexShort { NoFixUp 1 hightower_teleport_vortex { targetname "vortex" StartDisabled 0 Lifetime 6 } } VortexShortEnd { NoFixUp 1 hightower_teleport_vortex { targetname "vortex_s" StartDisabled 0 Lifetime 6 } } UnuVortex { info_particle_system { "effect_name" "unusual_universe_swirl" "start_active" "1" "origin" "0 0 0" "angles" "0 0 0" } } SwirlyFull { NoFixUp 1 info_particle_system { "targetname" "swirly" "effect_name" "utaunt_portalswirl_purple_parent" "start_active" "1" "lifetime" "6" "origin" "0 0 0" "angles" "0 0 0" } } EyebossTpVortex { NoFixUp 1 info_particle_system { "targetname" "tank_vortex" "effect_name" "eyeboss_tp_vortex" "start_active" "1" "origin" "0 0 0" "angles" "0 0 0" } } Wormhole { NoFixUp 1 info_particle_system { "targetname" "wormhole_vortex" "effect_name" "eyeboss_tp_vortex" "start_active" "0" "origin" "0 0 0" "angles" "0 0 0" } } Wormhole_b { NoFixUp 1 info_particle_system { "targetname" "wormhole_vortex_2" "effect_name" "eyeboss_tp_vortex" "start_active" "0" "origin" "0 0 0" "angles" "0 0 0" } } // HellSwirl // { // NoFixUp 1 // info_particle_system // { // "targetname" "" // "effect_name" "utaunt_hellswirl" // "start_active" "1" // "origin" "0 0 0" // "angles" "0 0 0" // } // } Teleporter { OnSpawnOutput //make teleporter non solid, otherwise the bots might get stuck on it { Target "tp" Action "addoutput" Param "solid 0" Delay 5 } obj_teleporter { //"model" "models/buildables/teleporter_light.mdl" "targetname" "tp" "origin" "10 0 160" "teamnum" "3" "spawnflags" "2" //"skin" "1" //"health" "220" "TeleportWhere" "spawnbot_alt" "solid" "0" "SolidToPlayer" "0" //"DefaultAnim" "running" } } //Skybox VortexSky { prop_dynamic { "model" "models/props_lakeside_event/vortex_lakeside.mdl" "solid" "0" "disableshadows" "1" "modelscale" "5" "rendercolor" "134 80 172" //Unusual | color! R G B A, and Alpha defaults to 255 :> } } VortexSky2 { prop_dynamic { "model" "models/props_lakeside_event/vortex_lakeside2.mdl" "solid" "0" "disableshadows" "1" "modelscale" "0.2" "rendercolor" "134 80 172" //Unusual | color! R G B A, and Alpha defaults to 255 :> } } GhostsSky { prop_dynamic { "model" "models/props_viaduct_event/ghost_cards01.mdl" "solid" "0" "disableshadows" "1" "modelscale" "5" "rendercolor" "134 80 172" //Unusual | color! R G B A, and Alpha defaults to 255 :> } } //Tank-related stuff tanktp //teleporting tank { NoFixUp 1 point_teleport { "targetname" "teleporty" "origin" "-4320 -1600 328" //locate where to teleport to; this is node 43 "angles" "0 -90 0" "spawnflags" "0" "target" "tank" //What entity to teleport } } colorer //bee tank { OnSpawnOutput { Target "!activator" Action "color" Param "255 220 65" } } //Spell stuff! Spellbomb { NoFixUp 1 OnSpawnOutput { Target "fierball" Action "$setowner" Param "!activator" Delay 0.01 } tf_projectile_spellfireball { "targetname" "fierball" "origin" "0 0 0" "teamnum" "3" // 2 - Red team, 3 - Blu team } } Spellbomb_Red { NoFixUp 1 OnSpawnOutput { Target "fierball" Action "$setowner" Param "!activator" Delay 0.01 } tf_projectile_spellfireball { "targetname" "fierball" "origin" "0 0 0" "teamnum" "2" // 2 - Red team, 3 - Blu team } } Spellbomb_Super { NoFixUp 1 OnSpawnOutput { Target "fierball" Action "$setowner" Param "!activator" Delay 0.01 } tf_projectile_spellmeteorshower { "targetname" "fierball" "origin" "0 0 0" "teamnum" "3" } } Spellbomb_Super_Red { NoFixUp 1 OnSpawnOutput { Target "fiererball" Action "$setowner" Param "!activator" Delay 0.01 } tf_projectile_spellmeteorshower { "targetname" "fiererball" "origin" "0 0 0" "teamnum" "2" // 2 - Red team, 3 - Blu team } } TeleSpell { NoFixUp 1 OnSpawnOutput { Target "telly" Action "$setowner" Param "!activator" Delay 0.01 } tf_projectile_spelltransposeteleport { "targetname" "telly" "origin" "0 0 0" "teamnum" "2" // 2 - Red team, 3 - Blu team } } MIRVSpell { NoFixUp 1 OnSpawnOutput { Target "mriv" Action "$setowner" Param "!activator" Delay 0.01 } tf_projectile_lightningorb { "targetname" "mriv" "origin" "0 0 0" "teamnum" "2" // 2 - Red team, 3 - Blu team } } SpookySpell { NoFixUp 1 OnSpawnOutput { Target "skelly" Action "$setowner" Param "!activator" Delay 0.01 } tf_projectile_spellspawnzombie { "targetname" "skelly" "origin" "0 0 0" "teamnum" "2" // 2 - Red team, 3 - Blu team } } SpookySpell_Blu { NoFixUp 1 OnSpawnOutput { Target "skelly" Action "$setowner" Param "!activator" Delay 0.01 } tf_projectile_spellspawnzombie { "targetname" "skelly" "origin" "0 0 0" "teamnum" "3" // 2 - Red team, 3 - Blu team } } AirTeleport //Teleport for aerial bots! { NoFixUp 1 filter_tf_bot_has_tag { "Negated" "0" "require_all_tags" "1" "tags" "airtp" //add this tag to the bot you want to teleport "targetname" "filter_airtp" } trigger_teleport { "origin" "-5530 350 190" //locate this where the bot will spawn: spawnbot "mins" "-500 -500 -100" "maxs" "500 500 100" "spawnflags" "1" "filtername" "filter_airtp" "target" "destination" //Where to teleport the bot to } info_target //Will serve as the destination { "targetname" "destination" "origin" "-5800 -1440 1230" //Put it where you want the bot to be } } //Props spookeyes { prop_dynamic { "model" "models/props_manor/spooky_eyes_01.mdl" "DefaultAnim" "look" "maxanimtime" "10" "minanimtime" "5" "renderamt" "255" "solid" "0" "disableshadows" "1" } } //Candles halloween_candle { prop_dynamic { "model" "models/props_halloween/candle.mdl" "fadescale" "1" "lightmapresolutionx" "32" "lightmapresolutiony" "32" "maxdxlevel" "0" "mindxlevel" "0" "solid" "0" "disableshadows" "1" } } } //Vortex-es. Vortices? SpawnTemplate { Name "VortexSky" Origin "2020 3880 2200" } // SpawnTemplate // { // Name "SwirlyFull" // Origin "1918 4208 2103" // } ////// Props ////// //Angle: Z+ = clockwise, when towards 0 0 0!! //Eyes // SpawnTemplate // { // Name "spookeyes" // Origin "-5646 -271 -34" // Angles "0 -90 0" // } SpawnTemplate //scaffold { Name "halloween_candle" Origin "-4125 -3800 342" Angles "0 0 15" } //////////////////////////////////////////////////////////////////////////////// //Weapon rebalances // PlayerShootTemplate // { // Name Spellbomb_Super_Red // Speed 1000 // Offset "20 0 0" // AttachToProjectile 0 // OverrideShoot 1 // ItemName "The Family Business" // } ItemAttributes { ItemName "The Shortstop" "healing received bonus" 1.2 } //BFB: now has a cool "keep-hitting-stuff" mechanic! ItemAttributes { ItemName "Baby Face's Blaster" "fire input on hit" "!activator^$addcond^113 1.5" //thank you to lite for this bandaid fix "damage penalty" 0.9 "move speed penalty" 1 "clip size penalty" 1 "boost on damage" 0 "special item description" "New Boost effect: Gain a fire and reload rate boost for 1.5 seconds after hitting a target! Speed boost is disabled." } //Homing launcher //To give players a taste of it :> //Still has less damage, but builds slightly more rage + larger radius ItemAttributes { ItemName "The Liberty Launcher" "clip size bonus" 1 "rocket jump damage reduction" 1 "mod projectile heat seek power" 60 //halved value from previous iteration "mod projectile heat aim error" 45 "mod projectile heat aim time" 2 "mod soldier buff range" 1.5 "mod rage on hit bonus" 10 } //Stolen from Tindall - thanks, cute moth ^3^ ItemAttributes { ItemName "The Original" // player variant of giant charged soldier's weapon: no reload, no ammo from dispensers, slower rockets, increased damage that stacks with upgrades, smaller blast radius "mod max primary clip override" -1 "no primary ammo from dispensers while active" 1 "projectile acceleration" -1100 "projectile acceleration time" 0.65 "projectile acceleration start time" 1.2 "Projectile speed decreased" 0.65 "projectile lifetime" 6.4 "CARD: damage bonus" 1.25 "faster reload rate" 0.4 // disable reload speed upgrade "fire rate penalty" 5 // counteract reload speed boost "clip size upgrade atomic" 8 // disable clip size upgrade "special item description" "Rockets deccelerate after a short time!" } //Cool fireball thing. //Big fire rate penalty prevents spam, //move speed penalty is an actually active downside so it's not Scorch But It Kills PlayerShootTemplate { Name Spellbomb_Red //Name of the template Speed 1000 //Velocity of the spawned objects (Default: 1000) Offset "-3 0 0" //Offset from the player shooting position (Default: 0 0 0) Angles "0 0 0" //Shooting angle offset (Default: 0 0 0) OverrideShoot 1 //Stop default projectile from being spawned (Default: 0) ItemName "The Manmelter" //Can be specified to limit to a specific weapon } ItemAttributes { ItemName "The Manmelter" "fire rate penalty" 5 "move speed penalty" 0.9 "special item description" "Fires a large fireball!" } //Quickiebomb does not currently occupy any meaningful niche. //So why not turn it into the funny stick-on-player launcher? //Slightly faster charge rate, but limited sticky exist time to discourage proper traps. ItemAttributes { ItemName "The Quickiebomb Launcher" "stickybomb stick to enemies" 1 "stickybomb charge rate" 0.2 "stickybomb fizzle time" 4 } ItemAttributes { ItemName "The Family Business" "bullets per shot bonus" 10 "damage penalty" 0.5 "fire rate penalty" 2.5 //slightly faster start, scales less with money thx to upgrade limit "maxammo primary reduced" 0.25 "maxammo secondary reduced" 0.5 "mult dmg vs tanks" 0.65 "crits_become_minicrits" 1 } //The same SH from White Noise c: //Support wrench: stronk dispenser, weaker sentry ItemAttributes { ItemName "The Southern Hospitality" "mult dispenser rate" 2 "engy sentry damage bonus" 0.85 "bleeding duration" 0 "dmg taken from fire increased" 1 "crit mod disabled" 1 } // The funny blatantly overpowered things // PlayerShootTemplate // { // Name Spellbomb_Super_Red // Speed 1000 // Offset "0 12 0" // Angles "0 2 0" // OverrideShoot 1 // ItemName // } // PlayerShootTemplate // { // Name TeleSpell // Speed 1000 // Offset "0 0 0" // Angles "0 0 0" // OverrideShoot 1 // ItemName "The Enforcer" // }04 36 8552 32 // PlayerShootTemplate // { // Name MIRVSpell // Speed 1000 // Offset "0 0 0" // Angles "0 0 0" // OverrideShoot 1 // ItemName "The Short Circuit" // } Templates { /////////////////////////////////////////////////////////////////////////// /// Red bots /// /////////////////////////////////////////////////////////////////////////// //Primarily supportive bots that assist players from w3 onward Red_Sniper_Sydney //does sniper things { Class Sniper Skill Normal Name "Sydney Sniper" ClassIcon sniper_sydneysleeper_ally Item "The Sydney Sleeper" Item "The Razorback" Item "The Bushwacka" Action Sniper ItemAttributes { ItemName "The Sydney Sleeper" "radius sleeper" 1 "jarate duration" 8 "sniper charge per sec" 2 "faster reload rate" 0.4 } AddCond { Name "TF_COND_REPROGRAMMED" Duration 1601680 Delay 0.01 } CharacterAttributes { "cancel falling damage" 1 "health regen" 5 "collect currency on kill" 1 } } Red_Soldier_Buff //Finds enemies { Template T_TFBot_Soldier_Extended_Buff_Banner Action Mobber Attributes IgnoreFlag Attributes DisableDodge Attributes HoldFireUntilFullReload ClassIcon soldier_buff_ally Item "The Direct Hit" ItemAttributes { ItemName "The Direct Hit" "faster reload rate" 0.4 } ItemAttributes { ItemName "The Buff Banner" "mod soldier buff range" 1.5 } AddCond { Name "TF_COND_REPROGRAMMED" Duration 1801660 Delay 0.01 } } Red_Pyro_Beekeeper //defends bomb { Class Pyro Name "Beekeeper Pyro" Skill Hard Health 650 Scale 1.4 ClassIcon pyro_ally MaxVisionRange 700 Attributes SuppressFire Item "The Hive Minder" Item "powerhouse_flamethrower_turbinetorcher" ItemAttributes { ItemName "powerhouse_flamethrower_turbinetorcher" "slow enemy on hit major" 1 //Only a lasting slow "damage bonus" 1.25 "airblast disabled" 1 } CharacterAttributes { "cancel falling damage" 1 "collect currency on kill" 1 } FireWeapon { Delay 1 Type "Primary" Duration 0.12 Cooldown 0.1 IfSeeTarget 1 } AddCond { Name "TF_COND_REPROGRAMMED" Duration 1606180 Delay 0.01 } } Red_Giant_Medic_Shield //tries to stick to players { Class Medic Name "Giant Shield Medic" Health 4500 ClassIcon medic_shield_allyred Attributes MiniBoss Attributes IgnoreFlag Attributes SpawnWithFullCharge Attributes Parachute WeaponRestrictions SecondaryOnly Item "warbird_medigun_corsair" Item "Field Practice" Item "The B.A.S.E. Jumper" Tag giant FireWeapon { Delay 12 Repeats 0 Type "Special" } ItemAttributes { ItemName "warbird_medigun_corsair" "ubercharge rate bonus" 0 "generate rage on heal" 2 "increase buff duration" 99 "dmg penalty vs players" 0 } CharacterAttributes { "move speed bonus" 0.6 //MOVE YOUR BUTT "damage force reduction" 0.3 "airblast vulnerability multiplier" 0.3 "voice pitch scale" 0 "cancel falling damage" 1 } AddCond { Name "TF_COND_REPROGRAMMED" Duration 1681600 Delay 0.01 } } Red_Giant_Soldier_Barrage_Homing //Chases after enemies { Template T_TFBot_Giant_Soldier_SlowBarrage Name "Giant Homing Barrage Soldier" ClassIcon soldier_barrage_ally Action Mobber Item "The B.A.S.E. Jumper" AddCond { Name "TF_COND_REPROGRAMMED" Duration 1610680 Delay 0.01 } AddCond { Index 36 Duration 1061680 Delay 0.01 } RocketCustomParticle eyeboss_projectile //coole purp glow ItemAttributes { ItemName "TF_WEAPON_ROCKETLAUNCHER" "mod projectile heat seek power" 50 "mod projectile heat aim error" 75 "mod projectile heat aim time" 2.5 "projectile trail particle" "halloween_rockettrail" } CharacterAttributes { "cancel falling damage" 1 } } Red_Giant_Pyro_Flare_Rain { Template T_TFBot_Giant_Pyro_Flare_Spammer AddCond { Name "TF_COND_REPROGRAMMED" Duration 1610680 Delay 0.01 } Name "Giant Flare Rain Pyro" ClassIcon pyro_flare_rain_red_nys Item "The Flare Gun" Item "The B.A.S.E. Jumper" Attributes AlwaysCrit Tag giant Action Mobber AimAt Head ItemAttributes { ItemName "The Flare Gun" "fire rate bonus" 0.1 "damage bonus" 1.5 "projectile spread angle penalty" 5 "projectile speed increased" 1 "projectile speed decreased" 0.3 "mod projectile heat seek power" 25 "mod projectile heat aim error" 25 "mod projectile heat aim time" 2 } CharacterAttributes { "cancel falling damage" 1 } } /////////////////////////////////////////////////////////////////////////// /// Naut bots /// /////////////////////////////////////////////////////////////////////////// Naut_Pyro_Neon { Class Pyro Skill Hard Name "Eel Pyro" Item "The Neon Annihilator" Item "The Electric Escorter" Item "Zombie Pyro" UseCustomModel "models/player/pyro.mdl" WeaponRestrictions MeleeOnly ClassIcon pyro_neon Attributes DisableDodge //no silly movement } Naut_Sniper_Sydney { Class Sniper Skill Normal Name "Stingray Sniper" ClassIcon sniper_sydneysleeper Item "The Sydney Sleeper" Item "Glow from Below" Item "The Jarmaments" Item "Zombie Sniper" UseCustomModel "models/player/sniper.mdl" MaxVisionRange 750 ItemAttributes { ItemName "The Sydney Sleeper" "damage penalty" 0.7 "faster reload rate" 0.6 } FireWeapon { IfSeeTarget 1 Delay 4 Cooldown 0.9 Duration 0.1 Type "Primary" } DamageAppliesCond { Name "TF_COND_URINE" Duration 5 } } Naut_Demo_Cannon { Class Demoman Skill Normal Name "Cannoneer Demo" Item "The Loose Cannon" Item "Buccaneer's Bicorne" Item "A Whiff of the Old Brimstone" Item "Zombie Demo" UseCustomModel "models/player/demo.mdl" ItemAttributes { ItemName "The Loose Cannon" "grenade launcher mortar mode" 0 // doesn't hold m1 and kill itself "override projectile type" 3 "custom projectile model" "models\weapons\w_models\w_cannonball.mdl" } } Naut_Scout { Class Scout Name "Seafaring Scout" Skill Normal Item "The Holy Mackerel" Item "B'aaarrgh-n-Bicorne" Item "The Pompous Privateer" Item "B'aaarrgh-n-Britches" Item "Zombie Scout" UseCustomModel "models/player/scout.mdl" } Naut_Pyro { Class Pyro Skill Normal Name "Drowned Diver Pyro" Item "Neptune's Nightmare" Item "Abhorrent Appendages" Item "Zombie Pyro" UseCustomModel "models/player/pyro.mdl" } Naut_Giant_Pyro { Template T_TFBot_Giant_Pyro Name "Giant Drowned Diver Pyro" Item "gentlemanne_flamethrower_coffinnail" Item "Neptune's Nightmare" Item "Abhorrent Appendages" Item "Zombie Pyro" UseCustomModel "models/player/pyro.mdl" Tag giant Attributes AlwaysFireWeapon ItemAttributes { ItemName "gentlemanne_flamethrower_coffinnail" "flame_drag" 6.8 //about 20% more range } } //yes I blatantly copied this from Tindall :^3 Naut_Giant_Demo_Cannon { Template T_TFBot_Giant_Demoman Name "Giant Krakannon Demo" ClassIcon demo_spammer Item "The Loose Cannon" Item "Cap'n Calamari" Item "Zombie Demo" UseCustomModel "models/player/demo.mdl" Tag giant ItemAttributes { ItemName "The Loose Cannon" "grenade launcher mortar mode" 0 // doesn't hold m1 and kill itself "override projectile type" 3 "custom projectile model" "models\weapons\w_models\w_cannonball.mdl" "faster reload rate" 0 } CharacterAttributes { "damage force reduction" 0.3 "airblast vulnerability multiplier" 0.3 } } Naut_Giant_Heavy_Kraken { Template T_TFBot_Giant_Heavyweapons Name "Giant Kraken Heavy" Item "craftsmann_minigun_ironwood" Item "Treasure Hat 3" //HOUWAR Item "Kapitan's Kaftan" Item "Zombie Heavy" UseCustomModel "models/player/heavy.mdl" Tag giant ItemAttributes { ItemName "craftsmann_minigun_ironwood" "damage bonus" 1.5 } } /////////////////////////////////////////////////////////////////////////// /// Demon bots /// /////////////////////////////////////////////////////////////////////////// //Skull variants: //"Spine-Chilling Skull" //+ 2011 //+ Style 1 //or 2 //or 3 Demon_Engineer_Panic { Class Engineer Skill Normal Name "Possessed Engineer" Action FetchFlag ClassIcon shotgun_panic_lite Item "Panic Attack Shotgun" Item "Misfortune Fedora" Item "Zombie Engineer" UseCustomModel "models/player/engineer.mdl" } Demon_Demoknight { Template T_TFBot_Demoman Name "Possessed Demoknight" ClassIcon demoknight_headtaker_nys WeaponRestrictions MeleeOnly Item "The Horseless Headless Horseman's Headtaker" Item "Forgotten King's Restless Head" Item "Forgotten King's Pauldrons" Item "Zombie Demo" UseCustomModel "models/player/demo.mdl" ItemAttributes { ItemName "The Headless Horseless Horsemann's Headtaker" "critboost on kill" 3 "max health additive penalty" 0 } } Demon_Soldier_BBox { Template T_TFBot_Soldier_RocketShotgun Name "Immortal Soldier" Item "The Infernal Impaler" Item "Zombie Soldier" UseCustomModel "models/player/soldier.mdl" } Demon_Sniper_Carbine { Class Sniper Skill Normal Name "Corrupted Carbine Sniper" ClassIcon sniper_carbine MaxVisionRange 750 WeaponRestrictions SecondaryOnly Item "The Cleaner's Carbine" Item "The Dread Hiding Hood" Item "The Criminal Cloak" Item "The Triggerman's Tacticals" Item "Zombie Sniper" UseCustomModel "models/player/sniper.mdl" ItemAttributes { ItemName "The Cleaner's Carbine" "fire rate penalty" 1 //pew pew pew "faster reload rate" 1.2 "fire rate bonus" 0.6 "clip size penalty" 0.75 "weapon spread bonus" 0.5 } } Demon_Medic_Overheal { ClassIcon medic_overheal Name "Demonic Enhancer Medic" Class Medic Skill Normal Item "Zombie Medic" Item "The Horrible Horns" Item "Herzensbrecher" UseCustomModel "models/player/medic.mdl" ItemAttributes { ItemName "tf_weapon_syringegun_medic" "damage penalty" 0.1 } ItemAttributes { ItemName "tf_weapon_medigun" "ubercharge rate bonus" -0.1 "heal rate bonus" 5 "overheal decay bonus" 5 "mod weapon blocks healing" 1 //prevents meds overhealing eachother } } Demon_Giant_Scout_Cola { Template T_TFBot_Giant_Scout Name "Giant Demonic Pact Scout" ClassIcon scout_cola_nys Health 1600 //2500 + lower move speed as alternative Item "Crit-a-Cola" Item "Spine-Chilling Skull 2011 Style 2" Item "Claws and Infect" Item "Transparent Trousers" Item "Zombie Scout" UseCustomModel "models/player/scout.mdl" Tag giant ItemAttributes { ItemName "Crit-a-Cola" "effect bar recharge rate increased" 0.55 //16.5 sec } // CharacterAttributes // { // "move speed bonus" 0.75 // } } Demon_Giant_Pyro_Inferno { Template T_TFBot_Giant_Pyro_Flare_Spammer Name "Giant Infinite Inferno Pyro" ClassIcon pyro_flare_rain_homing_nys Item "The Manmelter" Item "Spine-Chilling Skull 2011 Style 3" Item "Zombie Pyro" UseCustomModel "models/player/pyro.mdl" Tag giant AimAt Head MaxVisionRange 750 ItemAttributes { ItemName "The Manmelter" "fire rate bonus" 0.1 "projectile spread angle penalty" 5 "projectile speed increased" 1 "projectile speed decreased" 0.3 "mod projectile heat seek power" 25 "mod projectile heat aim error" 25 "mod projectile heat aim time" 2 } CharacterAttributes { "max health additive bonus" 3000 //allows overheal } } Demon_Giant_Pyro_Phlog { Template T_TFBot_Giant_Pyro Name "Giant Hellfire Pyro" Health 3300 Item "The Phlogistinator" ClassIcon pyro_phlog Attributes AlwaysFireWeapon ExtAttr AlwaysFireWeaponAlt Item "Zombie Pyro" UseCustomModel "models/player/pyro.mdl" ItemAttributes { ItemName "The Phlogistinator" "damage bonus" 1.25 "flame_drag" 6.8 "mod rage on hit bonus" 10 "increase buff duration" 3 "gesture speed increase" 2 "SPELL: Halloween green flames" 1 } } /////////////////////////////////////////////////////////////////////////// /// Pest bots /// /////////////////////////////////////////////////////////////////////////// // Cleansing Medic (Syringe) Pest_Medic_Syringe { Class Medic Name "Pest Cleansing Medic" Health 350 Scale 1.2 Skill Expert ClassIcon medic_syringe WeaponRestrictions PrimaryOnly Item "Upgradeable TF_WEAPON_SYRINGEGUN_MEDIC" Item "Das Naggenvatcher" Item "The Byte'd Beak" Item "Zombie Medic" UseCustomModel "models/player/medic.mdl" Action FetchFlag AimAt Body AimOffset "0 0 10" AimLeadProjectileSpeed 1100 //overaims slightly ItemAttributes { ItemName "Upgradeable TF_WEAPON_SYRINGEGUN_MEDIC" "fire rate bonus" 0.75 //haha syringe go brrrr "faster reload rate" 0 // "mad milk syringes" 1 mfw spies disguising as milked teammates crashes } } // Eradicator Medic (Crossbow) Pest_Medic_Arrow { Class Medic Name "Pest Eradicator Medic" Skill Hard ClassIcon medic_crossbow WeaponRestrictions PrimaryOnly Item "The Crusader's Crossbow" Item "Medic MtG Hat" Item "Zombie Medic" UseCustomModel "models/player/medic.mdl" Action FetchFlag AimAt Head } // Infested Demo Pest_Demo { Class Demoman Name "Infested Demo" Skill Hard Item "The Toadstool Topper" Item "Upgradeable TF_WEAPON_GRENADELAUNCHER" Item "Zombie Demo" UseCustomModel "models/player/demo.mdl" } // Pest Marker Scout Pest_Scout_Marker { Class Scout Name "Plague Marker Scout" Skill Hard ClassIcon scout_fanowar Item "Bedouin Bandana" Item "The Fan O'War" WeaponRestrictions MeleeOnly Item "Zombie Scout" UseCustomModel "models/player/scout.mdl" } // Giant Plague Medic (%Bow) Pest_Giant_Medic_Plague { Template T_TFBot_Giant_Medic_Regen WeaponRestrictions PrimaryOnly Name "Giant Plague Medic" Item "The Crusader's Crossbow" Item "Blighted Beak" Item "The Surgeon's Sidearms" Item "Zombie Medic" UseCustomModel "models/player/medic.mdl" Tag giant Action FetchFlag ClassIcon medic_crossbow_bleed_v2 DamageAppliesCond { Name "TF_COND_PLAGUE" Duration 1 } ItemAttributes { ItemName "The Crusader's Crossbow" "reload time increased" 1.5 "gesture speed increase" 0.66 } CharacterAttributes { "health regen" 20 } } Pest_Giant_Soldier_Spammer { Template T_TFBot_Giant_Soldier_Spammer_Reload Name "Giant Infested Burst Soldier" Item "The Toadstool Topper" Item "Zombie Soldier" UseCustomModel "models/player/soldier.mdl" Tag giant } Pest_Giant_Heavy { Template T_TFBot_Giant_Heavyweapons Name "Giant Executioner Heavy" Item "The Executioner" // Item "Mad Mask" Item "Big Steel Jaw of Summer Fun" Item "Zombie Heavy" UseCustomModel "models/player/heavy.mdl" Tag giant } Pest_Giant_Medic_Uber { Template T_TFBot_Giant_Medic Name "Giant Pest Preventer Medic" Health 4000 ClassIcon medic_uber_giant Item "The Virus Doctor" Item "Zombie Medic" UseCustomModel "models/player/medic.mdl" Item "Upgradeable TF_WEAPON_MEDIGUN" Tag giant CharacterAttributes { "bot medic uber health threshold" 2000 "bot medic uber deploy delay duration" 2 } ItemAttributes { ItemName "Upgradeable TF_WEAPON_MEDIGUN" // "uber duration bonus" -2 test to see if this is required "ubercharge rate bonus" 8 "heal rate bonus" 75 } } /////////////////////////////////////////////////////////////////////////// /// Blood bots /// /////////////////////////////////////////////////////////////////////////// //- Burst Bloodsucker Medic (Blutsauger, burst) //- Heartstopper Heavy //- Immortality Medic (Superheal) //- Shrapnel Sticky Demo //- Hemoglobin Hunter Scout Blood_Scout { Class Scout Skill Hard Name "Hemoglobin Hunter Scout" ClassIcon scout_cleaver Item "Blood Botkiller Scattergun Mk.I" Item "The Flying Guillotine" Item "Head Hunter" Item "Zombie Scout" UseCustomModel "models/player/scout.mdl" ItemAttributes { ItemName "The Flying Guillotine" "dmg penalty vs players" 0.7 } WeaponSwitch { Delay 1.5 Cooldown 6.5 Repeats 0 IfSeeTarget 1 Type "Secondary" } } Blood_Demo_Sticky { Class Demoman Skill Hard Name "Shrapnel Sticky Demo" Item "Blood Botkiller Stickybomb Launcher Mk.I" ClassIcon demo_sticky_daan_bleed WeaponRestrictions SecondaryOnly Item "Zombie Demo" UseCustomModel "models/player/demo.mdl" ItemAttributes { ItemName "Blood Botkiller Stickybomb Launcher Mk.I" "projectile range increased" 0.35 "stickybomb charge rate" 0.001 "max pipebombs decreased" -7 "faster reload rate" 0.1 "fire rate penalty" 1.25 "bleeding duration" 3 } } Blood_Heavy { Class Heavy Skill Hard Name "Heartstopper Heavy" Item "Blood Botkiller Minigun Mk.I" Item "Madness vs Machines Hopeful Heart 2019" Item "Zombie Heavy" UseCustomModel "models/player/heavy.mdl" ItemAttributes { ItemName "Madness vs Machines Hopeful Heart 2019" "item style override" 1 "set item tint rgb" 15132390 //abundance o'tinge } } Blood_Medic_Overheal { ClassIcon medic_overheal Name "Immortality Medic" Class Medic Skill Normal Item "Berlin Brain Bowl" Item "Herzensbrecher" Item "Zombie Medic" UseCustomModel "models/player/medic.mdl" ItemAttributes { ItemName "tf_weapon_syringegun_medic" "damage penalty" 0.1 } ItemAttributes { ItemName "tf_weapon_medigun" "ubercharge rate bonus" -0.1 "heal rate bonus" 2 "overheal expert" 1 "mod weapon blocks healing" 1 //prevents meds overhealing eachother } } Blood_Medic_Blutsauger { Class Medic Name "Burst Bloodsucker Medic" Skill Hard ClassIcon medic_blutsauger_lite WeaponRestrictions PrimaryOnly Item "The Blutsauger" Item "Flatliner" Item "Zombie Medic" UseCustomModel "models/player/medic.mdl" Action FetchFlag AimAt Body AimOffset "0 0 10" AimLeadProjectileSpeed 1100 //overaims slightly ItemAttributes { ItemName "The Blutsauger" "fire rate bonus" 0.25 //haha syringe go brrrr "clip size penalty" 0.4 //16 shots, enough to kill resistless demo/pyro "Reload time increased" 1.5 "heal on hit for rapidfire" 9 //and enough to heal up fully } } Blood_Giant_Medic_Blutsauger { Template T_TFBot_Giant_Medic_Regen Name "Giant Bloodsucker Medic" ClassIcon medic_blutsauger_lite_giant WeaponRestrictions PrimaryOnly Item "The Blutsauger" Item "Flatliner" Item "Zombie Medic" UseCustomModel "models/player/medic.mdl" AimAt Body AimOffset "0 0 10" AimLeadProjectileSpeed 1100 Tag giant Action FetchFlag ItemAttributes { ItemName "The Blutsauger" //stats copied from Ciaran's giant, ty ty "fire rate bonus" 0.75 "heal on hit for rapidfire" 100 "faster reload rate" 3 "dmg bonus vs buildings" 2 "item style override" 1 //cuz big = cooler weapons } CharacterAttributes { "health regen" 0 } } Blood_Giant_Soldier_Rapid { Template T_TFBot_Giant_Soldier_Spammer Name "Giant Endless Carnage Soldier" Item "Blood Botkiller Rocket Launcher Mk.I" Item "Hellhunter's Headpiece" Item "Zombie Soldier" UseCustomModel "models/player/soldier.mdl" Tag giant ItemAttributes { ItemName "Blood Botkiller Rocket Launcher Mk.I" "fire rate bonus" 0.5 "faster reload rate" 0.001 } CharacterAttributes { "max health additive bonus" 3800 //allows overheal } // Item "Battery Canteens" // ItemAttributes // { // ItemName "Battery Canteens" // "critboost" 1 // "powerup charges" 1 // } // FireWeapon // { // Delay 0 // IfHealthBelow 2400 // Type "Action" // } } Blood_Chief_Pyro { Class Pyro Name "Bloodstained Incinibot" Health 20000 MaxVisionRange 800 ClassIcon pyro Skill Expert Attributes MiniBoss Attributes UseBossHealthBar WeaponRestrictions PrimaryOnly Item "Blood Botkiller Flame Thrower Mk.I" Item "PY-40 Incinibot" Tag giant UseMeleeThreatPrioritization 1 //AlwaysFire when seeing peeps FireWeapon { Type "Primary" Delay 0 Duration 99 IfSeeTarget 1 Cooldown 98 } //During taunts: 75% dmg resist, megaheal (hp + knockback invuln) //Taunt 1: gain speed boost Taunt { Delay 0 Repeats 1 IfHealthBelow 12000 } AddCond { Index 28 //megaheal knockback invuln Delay 0 Duration 3.2 IfHealthBelow 12000 } AddCond { Index 73 //megaheal healing; approx 325 health healed Delay 0 Duration 3.2 IfHealthBelow 12000 } AddCond { Index 45 //old phlog def buff Delay 0 Duration 3.2 IfHealthBelow 12000 } AddCond { Index 32 //speemd Delay 0 Duration 99 IfHealthBelow 12000 } //Taunt 2: gain crits, alwaysfire with airblast still enabled Taunt { Delay 0 Repeats 1 IfHealthBelow 5500 } AddCond { Index 45 //old phlog def buff Delay 0 Duration 3.2 IfHealthBelow 5500 } AddCond { Index 28 //megaheal knockback invuln Delay 0 Duration 3.2 IfHealthBelow 5500 } AddCond { Index 73 //megaheal healing; approx 325 health healed Delay 0 Duration 3.2 IfHealthBelow 5500 } AddCond { Index 44 //phlog crits Delay 0 Duration 99 IfHealthBelow 5500 } FireWeapon { Type "Primary" Delay 3 Duration 99 IfHealthBelow 5500 Cooldown 98 } ItemAttributes { ItemName "Blood Botkiller Flame Thrower Mk.I" "flame_drag" 6 "damage bonus" 1.25 "dmg bonus vs buildings" 2 } // ItemAttributes // { // ItemName "The Detonator" // "projectile speed decreased" 0.4 // "damage bonus" 1.5 // "mod projectile heat seek power" 40 // "mod projectile heat aim error" 25 // "mod projectile heat aim time" 2 // "override projectile type" 2 // "projectile trail particle" "spell_fireball_small_red" // "custom projectile model" "models/weapons/w_models/w_drg_ball.mdl" // } // ItemAttributes // { // ItemName "The Axtinguisher" // "damage causes airblast" 1 // "damage penalty" 1 // "dmg bonus vs buildings" 3 // "item style override" 1 // } CharacterAttributes { "move speed bonus" 0.4 //120 hu/s, about gheavy speed "damage force reduction" 0.3 "airblast vulnerability multiplier" 0.3 "rage giving scale" 0.5 } } /////////////////////////////////////////////////////////////////////////// /// Bee bots /// /////////////////////////////////////////////////////////////////////////// Bee_Scout { Class Scout Name "Fast Killer Bee" Skill Normal Item "warbird_scattergun_killerbee" Item "The Flight of the Monarch" Item "Bumble Beenie" Item "Zombie Scout" UseCustomModel "models/player/scout.mdl" ClassIcon scout_killerbee_nys Attributes HoldFireUntilFullReload MaxVisionRange 800 ItemAttributes { ItemName "warbird_scattergun_killerbee" "fire rate bonus" 0.6 "faster reload rate" 1.3 "move speed bonus" 1.125 //450 HU/s } CharacterAttributes { "health from healers increased" 20 } } Bee_Scout_Charged { Class Scout Name "Nightmare Hornet" Health 250 Scale 1.2 Skill Normal Item "warbird_scattergun_killerbee" Item "The Flight of the Monarch" Item "Bumble Beenie" Item "Zombie Scout" UseCustomModel "models/player/scout.mdl" ClassIcon scout_nightmarebee_nys Attributes HoldFireUntilFullReload MaxVisionRange 800 CharacterAttributes { "health regen" 2 } ItemAttributes { ItemName "Bumble Beenie" "set item tint rgb" 15282738 //red } ItemAttributes { ItemName "warbird_scattergun_killerbee" "fire rate bonus" 2 "damage bonus" 1.5 "faster reload rate" 0.1 } CharacterAttributes { "health from healers increased" 20 } } Bee_Soldier_Homing { Name "Blastbee Commandeer" Class Soldier MaxVisionRange 1200 Skill Normal Attributes HoldFireUntilFullReload Item "The Air Strike" Item "The B.A.S.E. Jumper" Item "The Bumble Beenie" Item "Zombie Soldier" UseCustomModel "models/player/soldier.mdl" ClassIcon soldier_homing_nys RocketCustomParticle eyeboss_projectile HomingRockets //keeps them homing on reflect { IgnoreDisguisedSpies 1 IgnoreStealthedSpies 1 TurnPower 25 MaxAimError 45 RocketSpeed 0.5 } ItemAttributes { ItemName "The Air Strike" "fire rate penalty" 2 "damage penalty" 1 "projectile spread angle penalty" 2 "clipsize increase on kill" 0 } } Bee_Giant_Pyro_FlareRain { Template T_TFBot_Giant_Pyro_Flare_Spammer Name "Giant Firebee Swarm Leader" ClassIcon pyro_flare_rain_homing_nys Attributes AlwaysCrit //wow, the first actual crit bot Item "The Detonator" Item "Bumble Beenie" Item "Zombie Pyro" UseCustomModel "models/player/pyro.mdl" Tag giant AimAt Head MaxVisionRange 750 Tag giant ItemAttributes { ItemName "The Detonator" "paintkit_proto_def_index" 226 "fire rate bonus" 0.1 "projectile spread angle penalty" 5 "projectile speed decreased" 0.3 "mod projectile heat seek power" 25 "mod projectile heat aim error" 25 "mod projectile heat aim time" 2 "health from healers increased" 20 } CharacterAttributes { "health from healers increased" 20 } } Bee_Giant_Demo_Honeybomb { Template T_TFBot_Giant_Demoman Name "Giant Honeybomb Bee" WeaponRestrictions SecondaryOnly Item "Upgradeable TF_WEAPON_PIPEBOMBLAUNCHER" ClassIcon demo_sticky_spammer_daan Item "Bumble Beenie" Item "Zombie Demo" UseCustomModel "models/player/demo.mdl" AimLeadProjectileSpeed 1000 AimAt Feet Tag giant ItemAttributes { ItemName "Upgradeable TF_WEAPON_PIPEBOMBLAUNCHER" "faster reload rate" 0 "fire rate bonus" 0.75 //yes, YES... "projectile range increased" 0.35 "stickybomb charge rate" 0.001 "max pipebombs decreased" -6 } CharacterAttributes { "health from healers increased" 20 } } Bee_Giant_Scout_Charged { Template T_TFBot_Giant_Scout Name "Giant Nightmare Hornet" Health 2500 Item "warbird_scattergun_killerbee" Item "The Flight of the Monarch" Item "Bumble Beenie" Item "Zombie Scout" UseCustomModel "models/player/scout.mdl" ClassIcon scout_nightmarebee_nys_giant Attributes HoldFireUntilFullReload Attributes AlwaysCrit MaxVisionRange 800 Tag giant ItemAttributes { ItemName "Bumble Beenie" "item color rgb" 15282738 //red } ItemAttributes { ItemName "warbird_scattergun_killerbee" "fire rate bonus" 2 "damage bonus" 2 "faster reload rate" 0.1 } CharacterAttributes { "move speed bonus" 0.75 "health from healers increased" 20 } } Bee_Giant_Medic_AoE { Class Medic Name "Giant Self-Healing Swarm Bee" Health 4500 ClassIcon medic_infpop Attributes MiniBoss Attributes SpawnWithFullCharge // ExtAttr AlwaysFireWeaponAlt //just in case. :> Item "The Quick-Fix" Item "Bumble Beenie" Item "Zombie Medic" UseCustomModel "models/player/medic.mdl" Tag giant ItemAttributes { ItemName "Bumble Beenie" "attach particle effect" 151 //bee } ItemAttributes { ItemName "The Quick-Fix" "heal rate bonus" 125 "ubercharge rate bonus" 80 "health from healers increased" 0.01 //heals self at 30hp/sec "uber duration bonus" -9 } CharacterAttributes { "bot medic uber health threshold" 9999 "move speed bonus" 0.5 "damage force reduction" 0.3 "airblast vulnerability multiplier" 0.3 } } /////////////////////////////////////////////////////////////////////////// /// Space bots /// /////////////////////////////////////////////////////////////////////////// //"paintkit_proto_def_index" 208 //star crossed //"paintkit_proto_def_index" 225 //cosmic calamity //Bots: //- Trashtronaut Soldier (Beggar's) //- Disintegration Engineer (short circuit) //- Solar Flare Pyro (burst flare, tp) //- Solar Eclipse Heavy (Brass; "star crossed" or "cosmic calamity") //- Moonshot Soldier (inf DHit) //- Cosmic Colossus (Teleport Gauntlet, Homing Bison) //- Giant Comet Pyro (Long-range fireball) //- Black Hole (demo with very bouncy projs) Space_Soldier_Beggar { Class Soldier Skill Hard Name "Trashtronaut Soldier" ClassIcon soldier_bazooka Item "The Beggar's Bazooka" Item "Idiot Box" Item "Steel Pipes" Item "Zombie Soldier" UseCustomModel "models/player/soldier.mdl" ItemAttributes { ItemName "The Beggar's Bazooka" "fire rate bonus" 0.5 "faster reload rate" 0.5 "reload time increased hidden" 1 "auto fires full clip" 1 "auto fires when full" 1 "can overload" 0 } } Space_Engineer_Circuit { Class Engineer Skill Expert Name "Disintegration Engineer" Health 275 Scale 1.2 ClassIcon engineer_shortcircuit_lite Action FetchFlag MaxVisionRange 750 UseMeleeThreatPrioritization 1 WeaponRestrictions SecondaryOnly Item "The Short Circuit" Item "Life Support System" Item "Iron Lung" Item "Defragmenting Hard Hat 17%" Item "Zombie Engineer" UseCustomModel "models/player/engineer.mdl" ItemAttributes { ItemName "The Short Circuit" "fire rate penalty" 3 "damage bonus" 10 //100 | 75 | 50 | 25 "dmg bonus vs buildings" 10 //now it deals base damage. yeah, it's THAT bad. "health regen" 2 } } Space_Pyro_Flare_Burst { Name "Solar Flare Pyro" Class Pyro Scale 1.2 Health 350 ClassIcon pyro_flare AimAt Head FireWeapon { Delay 0 Type "Primary" Duration 0.6 Cooldown 2.1 IfSeeTarget 1 } MaxVisionRange 1000 Attributes SuppressFire Skill Hard WeaponRestrictions SecondaryOnly Item "The Flare Gun" Item "The Space Diver" Item "Triclops" Item "Zombie Pyro" UseCustomModel "models/player/pyro.mdl" ItemAttributes { ItemName "The Flare Gun" "fire rate bonus" 0.1 "health regen" 2 } } Space_Heavy_Brass { Class Heavy Skill Hard //haha yellow eye heavy spam go brrrr Name "Solar Eclipse Heavy" ClassIcon heavy_brass_nys Item "The Brass Beast" Item "The Eliminators Safeguard" Item "Immobile Suit" Item "Zombie Heavy" UseCustomModel "models/player/heavy.mdl" ItemAttributes { ItemName "The Eliminators Safeguard" "item style override" 1 } ItemAttributes { ItemName "The Brass Beast" "paintkit_proto_def_index" 208 //cosmic calamity "aiming movespeed decreased" 0.8 } } Space_Soldier_DHit { Class Soldier Skill Hard Name "Moonshot Soldier" ClassIcon soldier_spammer Item "The Direct Hit" Item "Captain Space Mann" Item "Zombie Soldier" UseCustomModel "models/player/soldier.mdl" ItemAttributes { ItemName "The Direct Hit" "faster reload rate" 0 "fire rate bonus" 0.85 } } Space_Giant_Heavy_Gauntlet { Template T_TFBot_Giant_Heavyweapons Name "Cosmic Colossus" ClassIcon heavy_steelfist_nys Item "Fists of Steel" Item "War Head" WeaponRestrictions MeleeOnly Item "Zombie Heavy" UseCustomModel "models/player/heavy.mdl" ItemAttributes { ItemName "War Head" "attach particle effect" 116 //purple constellations } ItemAttributes { ItemName "Fists of Steel" "fire rate penalty" 1.2 "damage blast push" 7 "dmg pierces resists absorbs" 1 "stomp player force" 300 } } Space_Giant_Heavy_Bison { Template T_TFBot_Giant_Heavyweapons Name "Giant Starfall Heavy" ClassIcon soldier_bison_homing_lite Item "Upgradeable TF_WEAPON_MINIGUN" Item "War Head" Item "Zombie Heavy" UseCustomModel "models/player/heavy.mdl" ItemAttributes { ItemName "War Head" "attach particle effect" 114 //blue constellations } ItemAttributes { ItemName "Upgradeable TF_WEAPON_MINIGUN" "paintkit_proto_def_index" 225 //cosmic calamity "set item tint rgb" 15496674 //approx color of icon "override projectile type" 13 "energy weapon penetration" 1 "fire rate penalty" 3 //0.3s "damage bonus" 3 //27 base damage "dmg bonus vs buildings" 5 //normal building dmg; laser has less inherently "projectile speed decreased" 0.6 "mod projectile heat seek power" 40 "mod projectile heat aim time" 3 "mod projectile heat aim error" 25 } } Space_Giant_Pyro_Comet { Template T_TFBot_Giant_Pyro Name "Giant Comet Pyro" ClassIcon pyro_dragon_fury_swordstone WeaponRestrictions SecondaryOnly Item "The Detonator" Item "Fire Fighter" Item "The Space Diver" Item "Zombie Pyro" UseCustomModel "models/player/pyro.mdl" ItemAttributes { ItemName "The Detonator" "paintkit_proto_def_index" 225 //cosmic calamity "fire rate bonus" 0.75 //1.5s } ShootTemplate //Shoot point template { Name Spellbomb Speed 800 //Velocity OverrideShoot 1 //Stop default projectile from being spawned (Default: 0) Spread 0 } } //Special space bots Space_Demo_Charge { Class Demoman Skill Hard ClassIcon demo_loch Name "Blazing Star Demo" Item "The Loch-n-Load" Item "The Splendid Screen" Item "Frag Proof Fragger" AimAt Body Item "Zombie Demo" UseCustomModel "models/player/demo.mdl" ItemAttributes { ItemName "The Loch-n-Load" "faster reload rate" 0 //hey, you have like, 7k$, deal with it. } ItemAttributes { ItemName "The Splendid Screen" "charge recharge rate increased" 2 } } Space_Scout_Fast { Class Scout Skill Hard Name "Lightspeed Scout" Health 350 Scale 1.3 Item "Cadet Visor" Item "Lightning Lid" Item "The C.A.P.P.E.R" ClassIcon scout_giant_fast WeaponRestrictions SecondaryOnly Item "Zombie Scout" UseCustomModel "models/player/scout.mdl" ItemAttributes { ItemName "The C.A.P.P.E.R" "faster reload rate" 0 } CharacterAttributes { "move speed bonus" 1.3 } } Space_Pyro_Gas { Class Pyro Skill Expert Name "Nebula Pyro" ClassIcon pyro_gascann Item "Upgradeable TF_WEAPON_FLAMETHROWER" Item "The Gas Passer" Item "A Head Full of Hot Air" WeaponRestrictions SecondaryOnly Item "Zombie Pyro" UseCustomModel "models/player/pyro.mdl" ItemAttributes { ItemName "Upgradeable TF_WEAPON_FLAMETHROWER" "paintkit_proto_def_index" 225 //cosmic calamity "weapon burn dmg increased" 2 } ItemAttributes { ItemName "A Head Full of Hot Air" "attach particle effect" 99 //Nebula } ItemAttributes { ItemName "The Gas Passer" "item_meter_charge_rate" 8 "weapon burn dmg increased" 2 } } Space_Giant_Demo_Meteor { Template T_TFBot_Giant_Demoman Name "Giant Meteor Rain Demo" Health 3600 //haha yes ClassIcon spell_meteor_swordstonehel //uwu Item "Upgradeable TF_WEAPON_GRENADELAUNCHER" Item "Mannhattan Project" Item "Zombie Demo" UseCustomModel "models/player/demo.mdl" ItemAttributes { ItemName "Upgradeable TF_WEAPON_GRENADELAUNCHER" "paintkit_proto_def_index" 225 //cosmic calamity "fire rate penalty" 10 //6 seconds "faster reload rate" 0 } ShootTemplate { Name Spellbomb_Super Speed 1100 OverrideShoot 1 } } Space_Chief_Demo { Name "Cosmic Calamity" Class Demoman Health 58000 ClassIcon demoman_critcan ExtAttr SuppressCanteenUse AddCond { Index 80 Delay 0.3 } FireWeapon { Delay 0 Repeats 1 IfHealthBelow 25000 Type "Action" } ChangeAttributes { Name "Phase2" IfHealthBelow 25010 Delay 0 } EventChangeAttributes { Default { Tag airtp Tag giant Skill Expert Attributes MiniBoss Attributes UseBossHealthBar Attributes HoldFireUntilFullReload Item "Phobos Filter" Item "The Iron Bomber" Item "Battery Canteens" ItemAttributes { ItemName "Phobos Filter" "attachment angles" "30 0 0" } ItemAttributes { ItemName "Battery Canteens" "critboost" 1 "powerup duration" 999 "powerup charges" 1 } ItemAttributes { ItemName "The Iron Bomber" "paintkit_proto_def_index" 225 //cosmic calamity "damage bonus" 1.3 "mult dmg vs giants" 2 "fire rate bonus" 0.3 "clip size upgrade atomic" 6 "faster reload rate" 0.4 "fuse bonus" 3 "projectile spread angle penalty" 6 "projectile speed decreased" 0.6 "grenade bounce damage" -0.1 //explode on impact, -10% dmg "grenade bounce speed" 1 //retain all speed post-bounce "rocket jump damage reduction" 0.1 "custom projectile model" "models/empty.mdl" "explosion particle" "drg_cow_explosioncore_normal_blue" "projectile trail particle" "drg_cow_rockettrail_normal_blue" } CharacterAttributes { "cancel falling damage" 1 "move speed bonus" 0.4 "damage force reduction" 0.1 "airblast vulnerability multiplier" 0.1 "rage giving scale" 0.6 } } Phase2 { Tag giant Skill Expert Attributes MiniBoss Attributes UseBossHealthBar Attributes HoldFireUntilFullReload Item "The Iron Bomber" Item "Battery Canteens" Item "Phobos Filter" AimOffset "0 0 20" ItemAttributes { ItemName "Phobos Filter" "attachment angles" "30 0 0" } ItemAttributes { ItemName "Battery Canteens" "critboost" 1 "powerup duration" 999 "powerup charges" 1 } ItemAttributes { ItemName "The Iron Bomber" "damage bonus" 1.5 "paintkit_proto_def_index" 225 //cosmic calamity "disable buildings on hit" 0.6 "fire rate bonus" 0.6 "clip size upgrade atomic" 6 "faster reload rate" 0.4 "projectile spread angle penalty" 3 "projectile speed decreased" 0.5 "projectile gravity" 300 "grenade no spin" 1 "grenade explode on impact" 1 "no self blast dmg" 2 "custom projectile model" "models/empty.mdl" "explosion particle" "drg_cow_explosioncore_charged_blue" "projectile trail particle" "drg_cow_rockettrail_charged_blue" } CharacterAttributes { "move speed bonus" 0.35 "damage force reduction" 0.1 "airblast vulnerability multiplier" 0.1 "rage giving scale" 0.6 } } } } } //W1 busters Mission { Objective DestroySentries Where spawnbot DesiredCount 1 InitialCooldown 15 CooldownTime 75 BeginAtWave 1 RunForThisManyWaves 1 TFBot { Template T_TFBot_SentryBuster Attributes IgnoreEnemies Attributes DisableDodge Name "Walking Naval Mine" CharacterAttributes { "damage force reduction" 0 } } } //W2 busters Mission { Objective DestroySentries Where spawnbot DesiredCount 1 InitialCooldown 15 CooldownTime 55 BeginAtWave 2 RunForThisManyWaves 1 TFBot { Template T_TFBot_SentryBuster Attributes IgnoreEnemies Attributes DisableDodge Name "Underworld Obliterator" CharacterAttributes { "damage force reduction" 0 } } } //W3 busters Mission { Objective DestroySentries Where spawnbot DesiredCount 1 InitialCooldown 15 CooldownTime 55 BeginAtWave 3 RunForThisManyWaves 1 TFBot { Template T_TFBot_SentryBuster Attributes IgnoreEnemies Attributes DisableDodge Name "Sentry Cleanser" CharacterAttributes { "damage force reduction" 0 } } } //W4 busters Mission { Objective DestroySentries Where spawnbot DesiredCount 1 InitialCooldown 15 CooldownTime 55 BeginAtWave 4 RunForThisManyWaves 1 TFBot { Template T_TFBot_SentryBuster Attributes IgnoreEnemies Attributes DisableDodge Name "Oil-thirsty Buster" CharacterAttributes { "damage force reduction" 0 } } } //W5 busters Mission { Objective DestroySentries Where spawnbot DesiredCount 1 InitialCooldown 15 CooldownTime 45 BeginAtWave 5 RunForThisManyWaves 1 TFBot { Template T_TFBot_SentryBuster Attributes IgnoreEnemies Attributes DisableDodge Name "Sentry Beester" Item "Bumble Beenie" CharacterAttributes { "head scale" 1.6 "damage force reduction" 0 } } } //W6 busters Mission { Objective DestroySentries Where spawnbot DesiredCount 1 InitialCooldown 15 CooldownTime 45 BeginAtWave 6 RunForThisManyWaves 1 TFBot { Template T_TFBot_SentryBuster Attributes IgnoreEnemies Attributes DisableDodge Name "Inverted Black Hole Buster" CharacterAttributes { "damage force reduction" 0 } } } //W3 spies Mission { Objective Spy Where spawnbot_mission_spy DesiredCount 1 InitialCooldown 25 CooldownTime 40 BeginAtWave 3 RunForThisManyWaves 1 TFBot { Template T_TFBot_Spy Name "Corpse Disposer Spy" Item "Zombie Spy" UseCustomModel "models/player/spy.mdl" } } //W6 spies Mission { Objective Spy Where spawnbot_mission_spy DesiredCount 2 InitialCooldown 15 CooldownTime 40 BeginAtWave 6 RunForThisManyWaves 1 RandomChoice { TFBot { Template T_TFBot_Spy Name "Galactic Infiltrator" Item "Captain Space Mann" Item "Zombie Spy" UseCustomModel "models/player/spy.mdl" } TFBot { Template T_TFBot_Spy Name "Galactic Infiltrator" Item "Captain Space Mann" Item "Zombie Spy" UseCustomModel "models/player/spy.mdl" } TFBot { Template T_TFBot_Spy Name "Galactic Infiltrator" Item "Captain Space Mann" Item "Zombie Spy" UseCustomModel "models/player/spy.mdl" } TFBot { Template T_TFBot_Spy Name "Galactic Infiltrator" Item "Captain Space Mann" Item "Zombie Spy" UseCustomModel "models/player/spy.mdl" } TFBot { Template T_TFBot_Spy Name "Galactic Infiltrator" Item "Captain Space Mann" Item "Zombie Spy" UseCustomModel "models/player/spy.mdl" } TFBot { Template T_TFBot_Spy Name "Galactic Infiltrator" Item "Captain Space Mann" Item "Zombie Spy" UseCustomModel "models/player/spy.mdl" } TFBot { Template T_TFBot_Spy Name "The Impostor Among Us" Item "HazMat Headcase" Item "Zombie Spy" UseCustomModel "models/player/spy.mdl" ItemAttributes { ItemName "HazMat Headcase" "item style override" 2 "attachment scale" 1.25 } } } } //W4 snipers Mission { Objective Sniper Where spawnbot_mission_sniper DesiredCount 2 InitialCooldown 10 CooldownTime 45 BeginAtWave 4 RunForThisManyWaves 1 TFBot { Template T_TFBot_Sniper Name "Vein Sniper" Item "Zombie Sniper" UseCustomModel "models/player/sniper.mdl" } } SpawnTemplate { Name "spawnpoint" "origin" "-1315 -3074 702" } SpawnTemplate "spawnpoint_changeskin_invis" SpawnTemplate "spawnpoint_changeskin_red" //CURRENT: // Wave 1 - Nautical Nightmare (8 icons) // Simplistic bots, nothing insane // Payout: $850 //Subwave 1 //- Giant Diver Pyros //- Eel Pyros //- Stingray Snipers //Subwave 2 //- Giant Krakannon Demos + Stingray Snipers //- Eel Pyros //- Diver Pyros //Subwave 3 //- Giant Kraken Heavy //- Scouts (bat) //Support: Scouts (bat) //EXPERIMENT //Subwave 1 //- Giant Diver Pyros //- Eel Pyros //- Stingray Snipers //Subwave 2 //- Giant Krakannon Demos + Stingray Snipers //- Diver Pyros //Subwave 3 //- Giant Kraken Heavy //- Scouts (gun) //Support: Cannoneer Demos, Scouts (bat) Wave { Explanation { Line "{5E98D9}=== NOTICE FROM MANN CO. ===" Line "{5E98D9}You have been sent to this mountain to investigate a {EB4B4B}RIFT {5E98D9}that has been impeding deliveries." Line "{5E98D9}Whatever it is, it blocks off one of our main shipping routes." Line "{5E98D9}Protect the base until we have closed the {EB4B4B}RIFT{5E98D9}." Line "{5E98D9}Don't expect any bonuses til the job's done!" } StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } WaveSpawn { Name "wave1a" Where spawnbot Where spawnbot_side WaitBeforeStarting 6 WaitBetweenSpawns 4 TotalCount 24 MaxActive 6 SpawnCount 3 TotalCurrency 90 TFBot { Template Naut_Pyro_Neon } } WaveSpawn { Name "wave1a" Where spawnbot WaitBeforeStarting 4 WaitBetweenSpawns 3 TotalCount 18 MaxActive 6 SpawnCount 2 TotalCurrency 80 TFBot { Template Naut_Sniper_Sydney } } WaveSpawn { Name "wave1a2" Where spawnbot_alt WaitBetweenSpawns 12 TotalCount 3 MaxActive 3 SpawnCount 1 TotalCurrency 180 TFBot { Template Naut_Giant_Pyro } } WaveSpawn { Name "Support" Where spawnbot_side_limited_a WaitBeforeStarting 12 WaitBetweenSpawnsAfterDeath 8 TotalCount 1 MaxActive 1 SpawnCount 1 Support 1 TFBot { Template Naut_Demo_Cannon } } WaveSpawn { Name "wave1b1" WaitForAllDead "wave1a2" Where spawnbot TotalCount 3 MaxActive 3 SpawnCount 3 TotalCurrency 90 Squad { TFBot { Template Naut_Giant_Demo_Cannon Tag nav_spawn_right } TFBot { Template Naut_Sniper_Sydney } TFBot { Template Naut_Sniper_Sydney } } } WaveSpawn { Name "wave1b" WaitForAllDead "wave1a2" WaitBeforeStarting 18 Where spawnbot_side TotalCount 3 MaxActive 3 SpawnCount 3 TotalCurrency 90 Squad { TFBot { Template Naut_Giant_Demo_Cannon Tag nav_spawn_left } TFBot { Template Naut_Sniper_Sydney } TFBot { Template Naut_Sniper_Sydney } } } WaveSpawn { Name "wave1b3" WaitForAllDead "wave1b1" Where spawnbot TotalCount 3 MaxActive 3 SpawnCount 3 TotalCurrency 90 DoneOutput { Target limited_spawns_disable_a_relay Action Trigger } Squad { TFBot { Template Naut_Giant_Demo_Cannon Tag nav_spawn_right } TFBot { Template Naut_Sniper_Sydney } TFBot { Template Naut_Sniper_Sydney } } } WaveSpawn { Name "wave1b2" WaitForAllDead "wave1a" Where spawnbot WaitBetweenSpawns 4 TotalCount 20 MaxActive 6 SpawnCount 2 TotalCurrency 40 TFBot { Template Naut_Pyro } } WaveSpawn { Name "wave1b2" WaitForAllDead "wave1a" Where spawnbot_side WaitBetweenSpawns 12 TotalCount 10 MaxActive 2 SpawnCount 2 TotalCurrency 40 TFBot { Template Naut_Scout } } WaveSpawn { Name "Support" WaitForAllDead "wave1a" Where spawnbot_side_limited_a WaitBeforeStarting 5 WaitBetweenSpawnsAfterDeath 8 TotalCount 1 MaxActive 1 SpawnCount 1 Support 1 TFBot { Template Naut_Demo_Cannon } } WaveSpawn { Name "wave1c1" Where spawnbot WaitForAllDead "wave1b" //waits for 2nd demo to die, 3rd demo to be there WaitForAllSpawned "wave1b3" WaitBeforeStarting 22 TotalCount 1 MaxActive 1 SpawnCount 1 TotalCurrency 120 TFBot { Template Naut_Giant_Heavy_Kraken Tag nav_spawn_left } } WaveSpawn { Name "wave1c" Where spawnbot WaitForAllDead "wave1b3" //waits for 3rd demo to die, first heavy to be there WaitForAllSpawned "wave1c1" WaitBeforeStarting 20 TotalCount 1 MaxActive 1 SpawnCount 1 TotalCurrency 120 TFBot { Template Naut_Giant_Heavy_Kraken Tag nav_spawn_right } } WaveSpawn { Name "wave1c2" WaitForAllDead "wave1b" Where spawnbot_side WaitBetweenSpawns 4 TotalCount 12 MaxActive 4 SpawnCount 2 TotalCurrency 60 TFBot { Template Naut_Scout } } WaveSpawn { Name "Support" WaitForAllDead "wave1b2" Where spawnbot WaitBetweenSpawns 0.75 TotalCount 8 MaxActive 8 SpawnCount 2 Support 1 TFBot { Template Naut_Scout WeaponRestrictions MeleeOnly ClassIcon scout_bat_nys } } WaveSpawn { Name "Support" WaitForAllDead "wave1b2" Where spawnbot_side_limited_a WaitBeforeStarting 2 WaitBetweenSpawnsAfterDeath 8 TotalCount 1 MaxActive 1 SpawnCount 1 Support 1 TFBot { Template Naut_Demo_Cannon } } } // Wave 2 - Demonic Demolition (6 icons) // Payout: $950 //CURRENT: //Subwave 1 //- Giant Demonic Pact Scout (cola) //- Tank //- Giant Infinite Inferno Pyro (lightly homing flare rain) + Enhancer Medic (overheal) //- Corrupted Carbine Snipers //- Possessed Demoknight (Headtaker, no shield, no hp penalty) //Subwave 2 //- Giant Demonic Pact Scouts (cola) //- Infernal Soldier (BBox) //- Possessed Demoknight (Headtaker, no shield, no hp penalty) //Subwave 3 //- Giant Infinite Inferno Pyro (lightly homing flare rain) + Enhancer Medic (overheal) //- Infernal Soldier (BBox) //Support: Corrupted Carbine Snipers //EXPERIMENT: //Subwave 1 //- Giant Demonic Pact Scout (cola) //- Tank //- Giant Infinite Inferno Pyro (lightly homing flare rain) + Enhancer Medic (overheal) //- Corrupted Carbine Snipers //- Possessed Engineer //Subwave 2 //- Giant Demonic Pact Scouts (cola) //- Giant Infinite Inferno Pyro (lightly homing flare rain) + Enhancer Medic (overheal) //- Infernal Soldier (BBox) //- Possessed Engineer //Subwave 3 //- Giant Infinite Inferno Pyro (lightly homing flare rain) + Enhancer Medic (overheal) //- Giant Hellfire Pyro (phlog) //Support: Corrupted Carbine Snipers, Possessed Demoknight Wave { Explanation { Line "{5E98D9}=== MESSAGE FROM LOCAL MANN CO. FACTORY ===" Line "{5E98D9}Mann Co. HQ might be able to bring in aerial reinforcements later." Line "{5E98D9}Inside our warehouse, we found a heap of scrapped Sniper bots from an earlier invasion." Line "{5E98D9}This {FFFFFF}Tank {5E98D9}should give us enough parts to get them up and running." } StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } WaveSpawn { Name "wave2a1" Where spawnbot_alt TotalCount 1 MaxActive 1 SpawnCount 1 TotalCurrency 50 TFBot { Template Demon_Giant_Scout_Cola } } WaveSpawn { Name "wave2a3" WaitBeforeStarting 18 TotalCount 1 TotalCurrency 120 Tank { Name "tank" Health 18000 Speed 75 StartingPathTrackNode "tank_path_a" OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn { Name "wave2ab" Where spawnbot_invasion WaitBeforeStarting 1.5 WaitBetweenSpawns 3.5 TotalCount 48 MaxActive 6 SpawnCount 2 TotalCurrency 80 TFBot { Template Demon_Engineer_Panic } } WaveSpawn { Name "wave2a2" Where spawnbot WaitBeforeStarting 1.5 WaitBetweenSpawns 3 TotalCount 18 MaxActive 6 SpawnCount 3 TotalCurrency 90 TFBot { Template Demon_Sniper_Carbine } } WaveSpawn { Name "wave2a" Where spawnbot_alt WaitBeforeStarting 25 TotalCount 2 MaxActive 2 SpawnCount 2 TotalCurrency 100 Squad { TFBot { Template Demon_Giant_Pyro_Inferno } TFBot { Template Demon_Medic_Overheal } } } WaveSpawn { Name "wave2a2" WaitForAllDead "wave2a1" Where spawnbot_invasion WaitBetweenSpawns 0.5 TotalCount 12 MaxActive 6 SpawnCount 1 TotalCurrency 60 TFBot { Template Demon_Sniper_Carbine } } WaveSpawn { Name "wave2b" WaitForAllDead "wave2a" //spawns independently of tank Where spawnbot WaitBetweenSpawnsAfterDeath 7 TotalCount 3 MaxActive 1 SpawnCount 1 TotalCurrency 90 TFBot { Template Demon_Giant_Scout_Cola } } WaveSpawn { Name "wave2b" Where spawnbot WaitForAllDead "wave2a" WaitBeforeStarting 14 TotalCount 3 MaxActive 3 SpawnCount 3 TotalCurrency 90 Squad { TFBot { Template Demon_Giant_Pyro_Inferno } TFBot { Template Demon_Medic_Overheal } TFBot { Template Demon_Medic_Overheal } } } WaveSpawn { Name "wave2b2" WaitForAllDead "wave2a2" Where spawnbot_invasion WaitBetweenSpawns 4 TotalCount 18 MaxActive 6 SpawnCount 3 TotalCurrency 90 TFBot { Template Demon_Soldier_BBox } } WaveSpawn { Name "wave2c" Where spawnbot_side WaitForAllSpawned "wave2b" WaitBeforeStarting 10 TotalCount 3 MaxActive 3 SpawnCount 3 TotalCurrency 90 Squad { TFBot { Template Demon_Giant_Pyro_Inferno } TFBot { Template Demon_Medic_Overheal } TFBot { Template Demon_Medic_Overheal } } } WaveSpawn { Name "wave2c" Where spawnbot WaitForAllSpawned "wave2b" WaitBeforeStarting 20 TotalCount 3 MaxActive 3 SpawnCount 3 TotalCurrency 90 Squad { TFBot { Template Demon_Giant_Pyro_Inferno } TFBot { Template Demon_Medic_Overheal } TFBot { Template Demon_Medic_Overheal } } } // WaveSpawn // { // Name "wave2c" // Where spawnbot // WaitForAllDead "wave2b" // WaitBetweenSpawns 15 // TotalCount 2 // MaxActive 2 // SpawnCount 1 // TotalCurrency 60 // TFBot // { // Template Demon_Giant_Pyro_Phlog // } // } WaveSpawn { Name "Support" WaitForAllDead "wave2b2" Where spawnbot_invasion WaitBeforeStarting 1.5 WaitBetweenSpawns 2.5 TotalCount 68 //1/4 has tide turner MaxActive 8 SpawnCount 2 Support 1 RandomChoice { TFBot { Template Demon_Demoknight } TFBot { Template Demon_Demoknight } TFBot { Template Demon_Demoknight } TFBot { Template Demon_Demoknight Item "The Tide Turner" } } } WaveSpawn { Name "Support" Where spawnbot_side WaitForAllDead "wave2ab" WaitBetweenSpawns 4 TotalCount 10 MaxActive 4 SpawnCount 2 Support 1 TFBot { Template Demon_Sniper_Carbine } } } // Wave 3 - Pestilence Panic // Getting slightly gimmickier // Payout: 950 //Subwave 1 //- Giant Plague Medic (Ubersaw) //- Pest Cleansing Medic (Syringe) //- Pest Eradicator Medic (Crossbow) //Subwave 2 //- Giant Infested Burst Soldier (w/ Mushroom cosmetic) //- Infested Demo //Subwave 3 //- Giant Executioner Heavy + Giant Pest Preventer Medic (uber) //- Pest Cleansing Medic (Syringe) //Support: Corpse Disposer Spies, Pest Marker Scout, Red Sydney Snipers //EXPERIMENT //Subwave 1 //- Giant Plague Medic (Crossbow) //- Giant Executioner Heavy //- Pest Cleansing Medic (Syringe) //- Pest Eradicator Medic (Crossbow) //Subwave 2 //- Giant Infested Burst Soldier (w/ Mushroom cosmetic) //- Infested Demo //Subwave 3 //- Giant Executioner Heavy + Giant Pest Preventer Medic (uber) //- Pest Cleansing Medic (Syringe) //Support: Corpse Disposer Spies, Red Sydney Snipers Wave { Explanation { Line "{5E98D9}=== MESSAGE FROM LOCAL MANN CO. FACTORY ===" Line "{5E98D9}It's not much, but we've managed to get a few {EE8585}Sydney Sniper {5E98D9}bots almost battle-ready." Line "{5E98D9}It might take a while before we can properly deploy them, but they will certainly come in handy." } InitWaveOutput { Target spawnpoint_relay_r Action Trigger } StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } WaveSpawn { Name "RED Support" Where spawnbot_reprogrammed WaitForAllDead "wave3a" WaitBeforeStarting 25 WaitBetweenSpawns 10 TotalCount 2 MaxActive 2 SpawnCount 1 Support 1 TFBot { Template Red_Sniper_Sydney } FirstSpawnOutput { Target spawnpoint_relay Action Trigger } } WaveSpawn { Name "wave3a1" Where spawnbot WaitBeforeStarting 12 TotalCount 1 MaxActive 1 SpawnCount 1 TotalCurrency 100 TFBot { Template Pest_Giant_Heavy } } WaveSpawn { Name "wave3a" Where spawnbot_side WaitBeforeStarting 7 WaitBetweenSpawnsAfterDeath 10 TotalCount 2 MaxActive 1 SpawnCount 1 TotalCurrency 100 TFBot { Template Pest_Giant_Medic_Plague } } WaveSpawn { Name "wave3a2" Where spawnbot WaitBetweenSpawns 2.5 TotalCount 40 MaxActive 8 SpawnCount 2 TotalCurrency 80 TFBot { Template Pest_Medic_Arrow } } WaveSpawn { Name "wave3a2" Where spawnbot_side WaitBeforeStarting 10 WaitBetweenSpawns 10 TotalCount 8 MaxActive 2 SpawnCount 2 TotalCurrency 16 TFBot { Template Pest_Medic_Arrow } } WaveSpawn { Name "wave3a2" Where spawnbot WaitBeforeStarting 5 WaitBetweenSpawns 4 TotalCount 12 MaxActive 3 SpawnCount 1 TotalCurrency 24 TFBot { Template Pest_Medic_Syringe } } WaveSpawn { Name "wave3b1" WaitForAllDead "wave3a1" WaitBeforeStarting 6 Where spawnbot TotalCount 1 MaxActive 1 SpawnCount 1 TotalCurrency 50 TFBot { Template Pest_Giant_Soldier_Spammer } } WaveSpawn { Name "wave3b" WaitForAllDead "wave3a" WaitBeforeStarting 6 WaitBetweenSpawns 22 Where spawnbot TotalCount 2 MaxActive 2 SpawnCount 1 TotalCurrency 100 TFBot { Template Pest_Giant_Soldier_Spammer } } WaveSpawn { Name "wave3b2" WaitForAllDead "wave3a2" WaitBetweenSpawns 1.5 Where spawnbot_invasion TotalCount 30 MaxActive 10 SpawnCount 2 TotalCurrency 90 TFBot { Template Pest_Demo } } WaveSpawn { Name "wave3c" Where spawnbot_side WaitForAllDead "wave3b" WaitBeforeStarting 3 TotalCount 1 MaxActive 1 SpawnCount 1 TotalCurrency 120 TFBot { Template Pest_Giant_Heavy } } WaveSpawn { Name "wave3c" Where spawnbot WaitForAllDead "wave3b" WaitBeforeStarting 6 TotalCount 2 MaxActive 2 SpawnCount 2 TotalCurrency 240 Squad { TFBot { Template Pest_Giant_Heavy } TFBot { Template Pest_Giant_Medic_Uber } } } WaveSpawn { Name "wave3c2" WaitForAllDead "wave3b2" Where spawnbot WaitBetweenSpawns 2 TotalCount 12 MaxActive 4 SpawnCount 2 TotalCurrency 60 TFBot { Template Pest_Medic_Syringe } } WaveSpawn { Name "Support" WaitForAllDead "wave3a2" Where spawnbot_invasion WaitBeforeStarting 2 WaitBetweenSpawns 10 TotalCount 10 MaxActive 4 SpawnCount 2 TotalCurrency 20 Support 1 TFBot { Template Pest_Scout_Marker } } WaveSpawn { Name "Support" WaitForAllDead "wave3b2" Where spawnbot WaitBetweenSpawns 5 TotalCount 10 MaxActive 6 SpawnCount 2 Support 1 TFBot { Template Pest_Scout_Marker } } } // Wave 4 - Bloodstained Bashing // A cool tank // Payout: $1000 //Subwave 1 //- Teleporting Tank //- Heartstopper Heavy + Immortality Medic (Overheal) //- Shrapnel Sticky Demo //Subwave 2 //- Giant Bloodsucker Medic (Blutsauger) + Heartstopper Heavy //- Giant Endless Carnage Soldiers (rapid fire, slow spawn) //- Burst Bloodsucker Medic (Blutsauger, burst) //- Hemoglobin Hunter Scout //Subwave 3 //- Bloodstained Incinibot //- Shrapnel Sticky Demo //Support: Sniper, Hemoglobin Hunter Scout Wave { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } Explanation { Line "{5E98D9}=== MESSAGE FROM LOCAL MANN CO. FACTORY ===" Line "{5E98D9}Due to most leftover parts being broken, we won't be able to supply you with red robots during the incoming attack." Line "{5E98D9}On the bright side, the {EB4B4B}RIFT {5E98D9}is almost closed. Keep up the work, mercs." } SpawnTemplate "tanktext" SpawnTemplate "tanktp" SpawnTemplate { Name "EyebossTpVortex" Origin "-5550 -2000 -88" Delay 22 } WaveSpawn { Name "wave4a" TotalCount 1 TotalCurrency 200 Tank { Health 18500 Name "tank" Speed 75 StartingPathTrackNode "tank_path_blood_1" OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn { Name "teleporting" WaitBeforeStarting 26 FirstSpawnWarningSound "mvm\mvm_tele_deliver.wav" // LastSpawnWarningSound "vo\halloween_eyeball\eyeball_teleport01.mp3" Support Limited FirstSpawnOutput { Target "teleporty" Action Teleport } } WaveSpawn { Name "portalappear" FirstSpawnWarningSound "vo\halloween_eyeball\eyeball_teleport01.mp3" WaitBeforeStarting 16 Support Limited } WaveSpawn { Name "hint" WaitBeforeStarting 26.2 Support Limited FirstSpawnOutput { Target "tanktphint" Action Show } } WaveSpawn { Name "PropKiller" WaitBeforeStarting 28 Support Limited FirstSpawnOutput { Target "tank_vortex" Action Stop } } WaveSpawn { Name "wave4a2" Where spawnbot Where spawnbot_side WaitBeforeStarting 0.5 WaitBetweenSpawns 8 TotalCount 12 //6 pairs total MaxActive 4 SpawnCount 2 TotalCurrency 120 Squad { TFBot { Template Blood_Heavy } TFBot { Template Blood_Medic_Overheal } } } WaveSpawn { Name "wave4a2" Where spawnbot WaitBetweenSpawns 3 TotalCount 30 MaxActive 6 SpawnCount 3 TotalCurrency 90 TFBot { Template Blood_Medic_Blutsauger Tag nav_spawn_right } } WaveSpawn { Name "wave4b" WaitForAllDead "wave4a" WaitBeforeStarting 10 Where spawnbot_invasion WaitBetweenSpawns 18 TotalCount 4 MaxActive 2 SpawnCount 1 TotalCurrency 200 TFBot { Template Blood_Giant_Soldier_Rapid } } WaveSpawn { Name "wave4b" Where spawnbot WaitForAllDead "wave4a" TotalCount 9 MaxActive 3 SpawnCount 3 TotalCurrency 270 Squad { TFBot { Template Blood_Giant_Medic_Blutsauger } TFBot { Template Blood_Heavy } TFBot { Template Blood_Heavy } } } WaveSpawn { Name "wave4b2" WaitForAllDead "wave4a2" Where spawnbot WaitBetweenSpawns 0.7 TotalCount 32 MaxActive 8 SpawnCount 1 TotalCurrency 80 TFBot { Template Blood_Scout } } WaveSpawn { Name "wave4b2" WaitForAllDead "wave4a2" Where spawnbot WaitBeforeStarting 2 WaitBetweenSpawns 5 TotalCount 12 MaxActive 4 SpawnCount 2 TotalCurrency 60 TFBot { Template Blood_Demo_Sticky } } WaveSpawn { Name "wave4c" WaitForAllSpawned "wave4b" WaitBeforeStarting 10 Where spawnbot TotalCount 1 MaxActive 1 SpawnCount 1 TotalCurrency 100 TFBot { Template Blood_Chief_Pyro Tag nav_spawn_left } } WaveSpawn { Name "Support" Where spawnbot WaitForAllSpawned "wave4b2" WaitBetweenSpawns 20 TotalCount 10 MaxActive 2 SpawnCount 2 TotalCurrency 80 Support 1 TFBot { Template Blood_Scout ClassIcon scout_crit //prevent mainwave icon drain } } WaveSpawn { Name "Support" Where spawnbot WaitForAllDead "wave4b2" WaitForAllSpawned "wave4c" WaitBeforeStarting 10 WaitBetweenSpawns 2 TotalCount 20 MaxActive 4 SpawnCount 1 Support 1 TFBot { Template Blood_Scout ClassIcon scout_crit //prevent 2 support icons } } } //Wave 5 - Honeycoated Horrors //Payout: $1300 //Various bees and a blimp! //Subwave 1 //- Bee Scouts (burst, then stream) //- Giant Honeybomb Bees (Sticky Demos) //- Blastbee Commandeer (parachute minigiant) //Subwave 2 //- Blimp //- Giant Firebee Swarm Leader (homing flare rain); + Giant Swarm Healer Bee (on final) //- Bee Scouts //Subwave 3 //- Giant Murder Hornets ("charged") //- Murder Hornet Scouts ("charged") //- Giant Honeybomb Bee + Giant Swarm Healer Bee (infpop with amputator healing) //Support: Murder Hornets, Blastbee Commandeer (parachute minigiant) Wave { Explanation { Line "{5E98D9}=== MESSAGE FROM LOCAL MANN CO. FACTORY ===" Line "{5E98D9}The good news: we aren't detecting any new arrivals from within the {EB4B4B}RIFT." Line "{5E98D9}Bad news: the local {FFD700}HONEYCOMB FACTORY {5E98D9}has reportedly been invaded by the prior waves' leftovers." Line "{5E98D9}Good news, continued: one nearby outpost has sent us parts for a {EE8585}'bee killing' bot{5E98D9}. It might prove effective." } InitWaveOutput { Target spawnpoint_relay_r Action Trigger } StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } SpawnTemplate "BlimpBotTele" WaveSpawn { Name "Red Support" WaitForAllDead "wave5b1" WaitBetweenSpawnsAfterDeath 20 Where spawnbot_reprogrammed TotalCount 1 MaxActive 1 SpawnCount 1 Support 1 TFBot { Template Red_Pyro_Beekeeper } FirstSpawnOutput { Target spawnpoint_relay Action Trigger } } WaveSpawn { Name "wave5a" WaitBeforeStarting 4 WaitBetweenSpawns 15 Where spawnbot TotalCount 2 MaxActive 2 SpawnCount 1 TotalCurrency 150 TFBot { Template Bee_Giant_Demo_Honeybomb } } WaveSpawn { Name "wave5ab" Where spawnbot_invasion WaitBetweenSpawns 0.5 TotalCount 48 MaxActive 12 SpawnCount 4 TotalCurrency 100 TFBot { Template Bee_Scout } } WaveSpawn { Name "wave5a2" Where spawnbot_airdrop0 Where spawnbot_airdrop1 WaitBeforeStarting 5 WaitBetweenSpawns 3 TotalCount 12 MaxActive 6 SpawnCount 2 TotalCurrency 150 StartWaveOutput { Target air_warning_relay Action Trigger } TFBot { Template Bee_Soldier_Homing } } WaveSpawn { Name "wave5b1" WaitForAllSpawned "wave5a" WaitForAllDead "wave5a2" FirstSpawnWarningSound "ambient_mp3/alarms/doomsday_lift_alarm.mp3" TotalCount 1 MaxActive 1 SpawnCount 1 TotalCurrency 100 Tank //blimp { SpawnTemplate "BlimpBotTeleDest" Health 20000 Speed 85 DisableSmokestack 1 //honestly idk what this does but I'm gonna presume it's needed Classicon blimp2_lite Scale 1.5 Skin 2 //grey aka colorable MaxTurnRate 25 Model "models/bots/boss_bot/boss_blimp.mdl" Gravity 0 //prevents it from yeeting itself down RotatePitch 0 //prevents it from turning upwards DisableTracks 1 //prevents its ghooooost tracks from making noise DisableChildModels 1 //HOPEFULLY prevents the bomb from sticking out EngineLoopSound "npc\combine_gunship\dropship_engine_distant_loop1.wav" PingSound "npc\combine_gunship\ping_search.wav" Name "tank" StartingPathTrackNode "tank_path_blimp_1" SpawnTemplate "colorer" OnKilledOutput { Target boss_dead_relay Action Trigger } OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn { Name "wave5b" WaitForAllDead "wave5a" Where spawnbot WaitBetweenSpawns 12 TotalCount 2 MaxActive 2 SpawnCount 1 TotalCurrency 100 TFBot { Template Bee_Giant_Pyro_FlareRain } } WaveSpawn { Name "wave5b" WaitForAllDead "wave5b1" Where spawnbot TotalCount 2 MaxActive 2 SpawnCount 2 TotalCurrency 100 Squad { TFBot { Template Bee_Giant_Pyro_FlareRain } TFBot { Template Bee_Giant_Medic_AoE } } } WaveSpawn { Name "wave5b2" //blimp spawns WaitForAllDead "wave5b1" Where spawnbot TotalCount 5 MaxActive 5 SpawnCount 5 TotalCurrency 0 TFBot { Template Bee_Scout Tag blimpbot AddCond { Index 51 Duration 1.5 } CharacterAttributes { "cancel falling damage" 1 } } } WaveSpawn { Name "wave5c" WaitForAllDead "wave5b1" Where spawnbot_side TotalCount 1 MaxActive 1 SpawnCount 1 TotalCurrency 50 TFBot { Template Bee_Giant_Scout_Charged } } WaveSpawn { Name "wave5c" WaitForAllDead "wave5b" Where spawnbot WaitBetweenSpawns 10 TotalCount 3 MaxActive 3 SpawnCount 1 TotalCurrency 150 RandomChoice { TFBot { Template Bee_Giant_Scout_Charged Tag nav_spawn_left } TFBot { Template Bee_Giant_Scout_Charged Tag nav_spawn_left } TFBot { Template Bee_Giant_Scout_Charged Tag nav_spawn_right } } } WaveSpawn { Name "wave5c2" WaitForAllDead "wave5ab" Where spawnbot Where spawnbot_side WaitBetweenSpawns 1.5 TotalCount 24 MaxActive 6 SpawnCount 2 TotalCurrency 60 TFBot { Template Bee_Scout_Charged } } WaveSpawn { Name "wave5d" WaitForAllSpawned "wave5c" Where spawnbot TotalCount 4 MaxActive 4 SpawnCount 4 TotalCurrency 240 Squad { TFBot { Template Bee_Giant_Demo_Honeybomb } TFBot { Template Bee_Giant_Medic_AoE } TFBot { Template Bee_Giant_Pyro_FlareRain } TFBot { Template Bee_Giant_Pyro_FlareRain } } } WaveSpawn { Name "Support" Where spawnbot WaitForAllDead "wave5c2" WaitBeforeStarting 2 WaitBetweenSpawnsAfterDeath 8 TotalCount 10 MaxActive 1 SpawnCount 1 Support 1 TFBot { Template Bee_Scout_Charged } } WaveSpawn { Name "Support" Where spawnbot WaitForAllDead "wave5c2" WaitBeforeStarting 2.5 WaitBetweenSpawnsAfterDeath 8 TotalCount 10 MaxActive 1 SpawnCount 1 Support 1 TFBot { Template Bee_Scout_Charged } } WaveSpawn { Name "Support" Where spawnbot WaitForAllDead "wave5c2" WaitBeforeStarting 4 WaitBetweenSpawnsAfterDeath 8 TotalCount 10 MaxActive 1 SpawnCount 1 Support 1 TFBot { Template Bee_Scout_Charged } } WaveSpawn { Name "Support" Where spawnbot WaitForAllDead "wave5c2" WaitBeforeStarting 5.5 WaitBetweenSpawnsAfterDeath 8 TotalCount 10 MaxActive 1 SpawnCount 1 Support 1 TFBot { Template Bee_Scout_Charged } } WaveSpawn { Name "Support" Where spawnbot WaitForAllDead "wave5c2" WaitBeforeStarting 7.5 WaitBetweenSpawnsAfterDeath 8 TotalCount 10 MaxActive 1 SpawnCount 1 Support 1 TFBot { Template Bee_Scout_Charged } } } //////////////////////////////////////////////////////////////////////////////// //Wave 6 - Spatial Storm //Strong bots, strong tanks //Subwave 1 - wait, a 250k+ tank?! //- Tank (250k + 40k; red tank nukes it lole) //- Disintegration Engineer (short circuit) //- Trashtronaut Soldier (Beggar's) //Subwave 2 - Cosmic attack //- Cosmic Colossus (giant gauntlet) //- Giant Comet Pyro (Long-range fireball) //- Solar Flare Pyro (burst flare) //Subwave 3 - teletank thing! //- Teleporter Tank //- Giant Starfall Heavy (homing bison) + Disintegration Engies //- Solar Eclipse Heavy (Brass; "star crossed" or "cosmic calamity") //- SUPPORT: Disintegration Engineer, Moonshot Soldier (inf DHit), Spy (amogus) Wave { Explanation { Line "{5E98D9}=== NOTICE FROM MANN CO. ===" Line "{5E98D9}We have received word that the {EB4B4B}RIFT {5E98D9}has been succesfully closed." Line "{5E98D9}As such, we are able to provide emergency air support when needed." Line "{5E98D9}A special delivery for the remaining stragglers has been sent. Might want to stay back when you hear the siren!" } StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } //Wormhole spawn SpawnTemplate "airtext" SpawnTemplate { Name "Wormhole" Origin "-5800 -1440 1230" } //Ghosties, the now-double-dead fps killers // SpawnTemplate //tree, left spawn // { // Name "GhostsSky" // Angles "0 0 0" // Origin "-5275 -330 400" // } // SpawnTemplate //tower on the right // { // Name "GhostsSky" // Angles "0 100 0" // Origin "-6255 -470 405" // } // SpawnTemplate //tree, high lefter // { // Name "GhostsSky" // Angles "0 185 0" // Origin "-5025 -720 530" // } // SpawnTemplate //path next to right building exit // { // Name "GhostsSky" // Angles "0 270 0" // Origin "-4555 -560 350" // } SpawnTemplate "AirTeleport" WaveSpawn { WaitBeforeStarting 22 FirstSpawnOutput { Target drop_bomb0_relay Action Trigger } } WaveSpawn { WaitBeforeStarting 20 FirstSpawnOutput { Target air_warning_relay Action Trigger } } WaveSpawn { Name "wave6a" TotalCount 1 TotalCurrency 200 Tank { Health 292069 //actually just 42,069 Name "tank" Speed 75 StartingPathTrackNode "tank_path_b" } } WaveSpawn { Name "tankbomb" TotalCount 1 TotalCurrency 0 WaitBeforeStarting 25.9 Support Limited Tank { Health 10000 Name "tank" ClassIcon tank_red Speed 0 //prevents it from trying to turn upwards TeamNum 2 //red StartingPathTrackNode "tank_path_air_bomb" Model "models/bots/boss_bot/boss_tankred.mdl" } } WaveSpawn { Name "wave6a2" WaitBeforeStarting 2 Where spawnbot WaitBetweenSpawns 4 TotalCount 12 MaxActive 4 SpawnCount 2 TotalCurrency 160 TFBot { Template Space_Engineer_Circuit } } WaveSpawn { Name "wave6a2" WaitBeforeStarting 3.2 WaitBetweenSpawns 0.5 Where spawnbot_invasion TotalCount 28 MaxActive 14 SpawnCount 2 TotalCurrency 280 TFBot { Template Space_Soldier_Beggar } } WaveSpawn { Name "wave6b" WaitForAllSpawned "wave6a2" WaitBeforeStarting 2 WaitBetweenSpawns 22 Where spawnbot TotalCount 2 MaxActive 2 SpawnCount 1 TotalCurrency 100 StartWaveOutput { Target wormholehint Action Show } FirstSpawnOutput { Target wormhole_vortex Action Start } DoneOutput { Target wormhole_vortex Action Stop } TFBot { Template Space_Giant_Pyro_Comet Tag airtp AddCond { Index 80 Delay 0.3 } CharacterAttributes { "increased air control" 4 "cancel falling damage" 1 } } } WaveSpawn { Name "wave6b" WaitForAllDead "wave6a2" Where spawnbot WaitBeforeStarting 3 WaitBetweenSpawns 20 TotalCount 2 MaxActive 2 SpawnCount 1 TotalCurrency 120 TFBot { Template Space_Giant_Heavy_Gauntlet } } WaveSpawn { Name "wave6b2" WaitForAllDead "wave6a2" Where spawnbot WaitBetweenSpawns 1.5 TotalCount 24 MaxActive 6 SpawnCount 2 TotalCurrency 40 TFBot { Template Space_Pyro_Flare_Burst } } WaveSpawn { Name "wave6c" WaitForAllSpawned "wave6b" WaitBeforeStarting 5 TotalCount 1 TotalCurrency 80 Tank { Health 30000 Name "tank" Skin 1 Speed 75 StartingPathTrackNode "tank_path_a" SpawnTemplate Teleporter } } WaveSpawn { Name "wave6c" WaitForAllSpawned "wave6b" WaitBeforeStarting 16 WaitBetweenSpawns 16 Where spawnbot_alt TotalCount 6 MaxActive 4 //only spawns next batch once the protectors are dead SpawnCount 3 TotalCurrency 120 Squad { TFBot { Template Space_Giant_Heavy_Bison } TFBot { Template Space_Engineer_Circuit } TFBot { Template Space_Engineer_Circuit } } } WaveSpawn { Name "wave6b2" WaitForAllDead "wave6a2" Where spawnbot_alt WaitBetweenSpawns 3 TotalCount 18 MaxActive 6 SpawnCount 3 TotalCurrency 90 TFBot { Template Space_Heavy_Brass } } WaveSpawn { Name "Support" Where spawnbot Where spawnbot_alt WaitForAllDead "wave6b2" WaitBetweenSpawns 10 TotalCount 10 MaxActive 4 SpawnCount 1 TotalCurrency 10 Support 1 TFBot { Template Space_Engineer_Circuit } } // WaveSpawn // { // Name "Test" // Where "swirlspawn" // StartWaveWarningSound "misc/halloween_eyeball/vortex_eyeball_moved.wav" // WaitBeforeStarting 5 // TotalCount 1 // MaxActive 1 // SpawnCount 1 // TotalCurrency 100 // FirstSpawnOutput // { // Target "swirly" // Action Kill // } // TFBot // { // Template T_TFBot_Giant_Soldier_SlowBarrage // Health 10000 // Tag giant // Attributes UseBossHealthBar // InterruptAction //Stop current bot ai and force the bot to move to a location // { // AimTarget "-5860 -2390 716" //Where the bot should look at // Delay 0.1 //Time before the first task starts (Default: 10) // Repeats 1 //How many times should bot do the task in total (Default: 0 - Infinite) // Cooldown 3 //Time between each task (Default: 10) // Duration 8 //How long should the ai be interrupted // WaitUntilDone 0 //If set, duration timer only starts when the bot moves to the target location or the aim target is killed (Default: 0) // } // FireWeapon // { // Delay 0.1 // Repeats 1 // Duration 8 // Type "Primary" // } // ItemAttributes // { // ItemName "TF_WEAPON_ROCKETLAUNCHER" // "projectile gravity" 300 // } // CharacterAttributes // { // "cancel falling damage" 1 // "health regen" 30 // } // } // } WaveSpawn { Name "Spycon" WaitForAllDead "Spycon" Support Limited TFBot { Class Scout ClassIcon spy } } } //////////////////////////////////////////////////////////////////////////////// //Wave 7 - Cosmic Calamity //Subwave 1 //- Giant Meteor Rain Soldier //- Blazing Star Scout (minigiant super scout) //- Meteor Basher Demo (LnL charger) //Subwave 2 //- Cosmic Calamity (demo with bouncy "mangler" shots, then explody charged shots) //Support: Giant Nebula Pyro (gas), Wave { Explanation { Line "{5E98D9}=== NOTICE === NOTICE === ICENOT" Line "{5E98D9}You might much leftover aren't the whatever our take side honeycomb to protect tank before almost nearby remaining" Line "{5E98D9}=== END OF END OF END OF END" Line "{5E98D9}The message has been deleted. Please stand by." Line "{5E98D9}The messenger has been deleted. Please stand by." Line "{5E98D9}The receiver will be deleted. Please stand by." } StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } SpawnTemplate AirTeleport SpawnTemplate "airtext_boss" SpawnTemplate { Name "Wormhole_b" Origin "-5800 -1440 1230" } // WaveSpawn // { // Name "Red Support" // WaitForAllDead "wave7a" // WaitBeforeStarting 4 // Where spawnbot_airdrop1 // WaitBetweenSpawnsAfterDeath 6 // TotalCount 9 // MaxActive 1 // SpawnCount 1 // Support 1 // TFBot // { // Template Red_Giant_Medic_Shield // } // } // WaveSpawn // { // Name "Red Support" // WaitForAllDead "wave7a" // WaitBeforeStarting 18 // Where spawnbot_airdrop1 // WaitBetweenSpawnsAfterDeath 6 // TotalCount 9 // MaxActive 1 // SpawnCount 1 // Support 1 // TFBot // { // Template Red_Giant_Pyro_Flare_Rain // } // } // WaveSpawn // { // Name "Red Support" // WaitForAllDead "wave7a" // WaitBeforeStarting 32 // Where spawnbot_airdrop2 // WaitBetweenSpawnsAfterDeath 6 // TotalCount 9 // MaxActive 1 // SpawnCount 1 // Support 1 // TFBot // { // Template Red_Giant_Soldier_Barrage_Homing // } // } // WaveSpawn // { // Name "Red Support" // WaitForAllDead "wave7a" // WaitBeforeStarting 5 // Where spawnbot_reprogrammed // WaitBetweenSpawns 5 // TotalCount 9 // MaxActive 3 // SpawnCount 1 // Support 1 // FirstSpawnOutput // { // Target spawnpoint_relay // Action Trigger // } // RandomChoice // { // TFBot // { // Template Red_Soldier_Buff // } // TFBot // { // Template Red_Soldier_Buff // } // TFBot // { // Template Red_Soldier_Buff // } // } // } WaveSpawn { Name "wave7a" Where spawnbot WaitBeforeStarting 2 TotalCount 1 MaxActive 1 SpawnCount 1 TotalCurrency 20 TFBot { Template Space_Giant_Demo_Meteor } } WaveSpawn { Name "wave7a" Where spawnbot WaitBeforeStarting 28 TotalCount 1 MaxActive 1 SpawnCount 1 TotalCurrency 20 TFBot { Template Space_Giant_Demo_Meteor } } WaveSpawn { Name "wave7a" Where spawnbot_side WaitBeforeStarting 15 TotalCount 1 MaxActive 1 SpawnCount 1 TotalCurrency 20 TFBot { Template Space_Giant_Demo_Meteor } } WaveSpawn { Name "wave7a" Where spawnbot WaitBetweenSpawns 4 TotalCount 18 MaxActive 6 SpawnCount 3 TotalCurrency 20 TFBot { Template Space_Scout_Fast } } WaveSpawn { Name "wave7a" Where spawnbot Where spawnbot_side WaitBeforeStarting 2 WaitBetweenSpawns 4 TotalCount 20 MaxActive 10 SpawnCount 5 TotalCurrency 20 TFBot { Template Space_Demo_Charge } } //a very crusty way of making sure my relays don't need to be changed //#hackergirl WaveSpawn { Name "wave7a_late" WaitForAllSpawned "wave7a" WaitBeforeStarting 8 } WaveSpawn { Name "wave7b" WaitForAllSpawned "wave7a_late" WaitBeforeStarting 2 Where spawnbot TotalCount 1 TotalCurrency 1 StartWaveOutput { Target wormholehint_2 Action Show } FirstSpawnOutput { Target wormhole_vortex_2 Action Start } TFBot { Template Space_Chief_Demo } } WaveSpawn { Name "PropKiller" WaitForAllSpawned "wave7b" WaitBeforeStarting 3 FirstSpawnOutput { Target wormhole_vortex_2 Action Stop } } WaveSpawn { Name "Support" WaitForAllDead "wave7a" Where spawnbot_invasion WaitBetweenSpawnsAfterDeath 8 TotalCount 6 MaxActive 1 SpawnCount 1 Support Limited TFBot { Template Space_Demo_Charge } } WaveSpawn { Name "Support" WaitForAllDead "wave7a" WaitBeforeStarting 2 Where spawnbot_invasion WaitBetweenSpawns 8 TotalCount 9 MaxActive 5 SpawnCount 1 Support 1 TFBot { Template Space_Pyro_Gas } } } // Wave // { // InitWaveOutput // { // Target spawnpoint_relay_r // Action Trigger // } // StartWaveOutput // { // Target wave_start_relay // Action Trigger // } // DoneOutput // { // Target wave_finished_relay // Action Trigger // } // WaveSpawn // { // Name "Red Support" // Where spawnbot_reprogrammed // WaitBetweenSpawnsAfterDeath 6 // TotalCount 9 // MaxActive 1 // SpawnCount 1 // Support 1 // TFBot // { // Template Red_Giant_Medic_Shield // } // } // WaveSpawn // { // Name "Support" // WaitBeforeStarting 1 // Where spawnbot_invasion // WaitBetweenSpawnsAfterDeath 15 // TotalCount 8 // MaxActive 2 // SpawnCount 2 // Squad // { // TFBot // { // Template T_TFBot_Giant_Pyro // Attributes IgnoreEnemies // Attributes IgnoreFlag // BehaviorModifiers Push // Health 1000 // } // TFBot // { // Template Bee_Giant_Medic_AoE // } // } // } // } }