// spawnbots: ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // 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 /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // relays: //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // wave_start_relay; // wave_finished_relay; // boss_deploy_relay; // air_warning_relay - notify players of the Airdrop feature. // air_warning_notxt_relay - just play the air siren // drop_bomb0_relay - Call this relay with StartWaveOutput for tank_air_bomb_start, use WaitBeforeStarting as the ones used in the mission (those relays spawn a plane, mostly an aesthetic thing, // buuuut it would be kind of not pretty if tanks would just pop outta thin air, m?) // drop_bomb0_relay - Call this relay with StartWaveOutput for tank_air_bomb1_start / / tank_path_drop0_a, use WaitBeforeStarting as the ones used in the mission. (If you wanna drop bomb and bomb1 in 1 drop, then call the relay for the only for one tank. Eh, that was a bad explanation. Just go check out the mission.) // drop_bomb1_relay - Call this relay with StartWaveOutput for tank_air_bomb2_start / tank_path_drop1, use WaitBeforeStarting as the ones used in the mission (call in with the tanks that use tank_air_bomb_start and like for more dem immersion.) // droptank1_killed_relay - use this with tanks spawned from tank_path_drop1, that's kind of essential so map won't screw up. // droptank0_killed_relay - use this on OnKilledOutput with tanks spawned from tank_path_drop0_a / from tank_path_drop0_b, that's kind of essential so map won't screw up. // dropbomb_coords_stop_relay - spawn the random tank bomb drop, only 1 can exist at a time (it gets removed after 5 seconds since tank_path_air_bombrandom gets a tank spawned) // randomdrop10s_start_relay randomdrop10s_stop_relay - calls dropbomb_coords_stop_relay each 7 seconds. (initial spawn takes 7 seconds as well, after spawning path for tank to spawn on it stops counting until tank spawns on the path.) (don't ask why it got 10s in the name) // ^ automatically stops with wave_finished_relay. If it spawned path, it will persist 'til next tank spawns. // 30s_bomb_relay 45s_bomb_relay usual_bomb_relay - enable timed bombs or the usual non returning one (bomb without timer (usual) is enabled by default) // stunbots_on_relay stunbots_off_relay - stuns all bots on the map except sentry busters (stun lasts 'til turned off through stunbots_off_relay). wave_finished_relay disables it by default. // break_start_relay - Shows "break" message, opens up forward upgrade station, resets bomb and pauses bot spawning. also uses stunbots_on_relay // break_end_relay - Shows "10 seconds" message, after 10 seconds pass "break end" message shows and bot spawning is resumed. also uses stunbots_off_relay // bot_attributes_default_relay - sets current bots' attributes to Default // bot_attributes_1_relay - sets current bots' attributes to BotAttributes1 // bot_attributes_2_relay - sets current bots' attributes to BotAttributes2 // bot_attributes_3_relay - sets current bots' attributes to BotAttributes3 // bot_attributes_4_relay - sets current bots' attributes to BotAttributes4 // bot_attributes_revertdefault_relay - set current and future bots' to Default. // bot_attributes_setdefault1_relay - set current and future bots' to BotAttributes1. // bot_attributes_setdefault2_relay - set current and future bots' to BotAttributes2. // bot_attributes_setdefault3_relay - set current and future bots' to BotAttributes3. // bot_attributes_setdefault4_relay - set current and future bots' to BotAttributes4. // bot_attributes_random_relay - selects random bot attribute relay (Including default one) // bot_attributes_random10_relay - selects random bot attribute every 5 - 8 seconds // bot_attributes_random10_disable_relay - disables bot_attributes_random10_relay* // bot_setdefault_attributes_random_relay - Sets random attribute to current and future bots (Sets default attribute). // bot_setdefault_attributes_random10_relay - sets random bot attribute as default and switches every alive bot to it every 5 - 8 seconds // bot_setdefault_attributes_random10_disable_relay - disables bot_setdefault_attributes_random10_relay // drop_bomb0_l10_relay drop_bomb0_l20_relay drop_bomb0_l30_relay - repeats plane spawn each 10/20/30 seconds*. // drop_bomb0_lstop_relay - stops repeating. // drop_bomb1_l10_relay drop_bomb1_l20_relay drop_bomb1_l30_relay - repeats plane spawn each 10/20/30 seconds*. // drop_bomb1_lstop_relay - stops repeating. // limited_spawns_enable_relay - turn on all spawns for "infinite" support bots. // limited_spawns_disable_a_relay - disable a spawns // limited_spawns_disable_b_relay - disable b spawns // limited_spawns_disable_c_relay - disable c spawns // limited_spawns_disable_d_relay - disable d spawns // * Planes stop looping spawns after wave_finished_relay is fired as well. And it also stops timers for bot_attributes_random10_relay / bot_setdefault_attributes_random10_relay. Also sets Default as the default bot attribute. // Also enables all "infinite limited" spawns back on. /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // tags: /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // nav_prefer_flank_middle // nav_prefer_flank_left // nav_right // nav_flank_routeother (will take the currently "not active" main route.) // avoid tags // nav_spawn_left // nav_spawn_right // misc tags: // attrbot - use this with bots that use bot_setdefault_attributes_random10_relay / bot_attributes_random10_relay just so they won't cancel out of bomb drop animation at the hatch due to constant attribute changes. // bot_sentrybuster - should be tag for sentrybusters. makes bot immune to stunbots_on_relay // spawnbot_special tags // the crutchy ones: requires to have bots with such tag spawned separately, at least with waitbetweenspawns 0.3 . can't be applied to giants for some reason. // bot_random - assigns random class sign to bot. // setcustommodel way. changes bots' hitboxes to that of a model, so small props + small size smells of a disaster. // bot_moo - assigns cow cutout to bot // bot_frog - assigns frog model to bot // bot_gift - assigns tf_gift model to bot // bot_error - assigns the famous ERROR model. bet players will report this as a bug on map report thread. oh well, who cares! // bot_cardboard - replaces model with cardboard cutout. needs class specific tag to work. // bot_not - replaces model with the ref posing human model. needs class specific tag to work. // class tags (without bot_not or bot_cardboard replaces with the ref posing bot model (except when the model is the same class as the bot, then it just makes a bot that slides along the ground without run animation while holding weapons properly)): // Scout // Soldier // Pyro // Demoman // Heavyweapons || Heavy // Engineer // Sniper // Medic // Spy // options for some models. should be possible to apply to default bots, mixed and matched and stuff. // red - if possible, uses the red skin of the model. Only works with bot_random // bot_drunk - applies end of round stun to bot. //please tag giant bots with "giant" tag so they'll pay attention to some nav_avoids so they won't get stuck in some places. /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // bot attributes: //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // Default // BotAttributes1 // BotAttributes2 // BotAttributes3 // BotAttributes4 /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // tanks: ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // 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) // other tank names: "tankbomb" for tanks that drop down and explode. tanks that spawn with tank_path_air_bombrandom without such name will just drop down and idle. // 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; tank_path_b; // tank_path_air_bomb; tank_path_air_bomb1; tank_path_air_bomb2 - tank drops down from the sky, when landing causes 500k damage around it and to itself, then stops. // Yup, so I guess it's best to have health of those tanks below 250k so they won't just idle on the map without reason. // 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 // there's also 5 nests for engineer bots with sentry and teleporter hints. #base robot_giant.pop #base robot_standard.pop WaveSchedule { StartingCurrency 800 RespawnWaveTime 5 FixedRespawnWaveTime Yes CanBotsAttackWhileInSpawnRoom No PointTemplates { corelogic { NoFixup 1 item_teamflag { "origin" "-5089 646 40" "trail_effect" "2" "TeamNum" "3" "targetname" "bomb_new" "StartDisabled" "1" "ScoringType" "0" "ReturnTime" "35" "ReturnBetweenWaves" "1" "GameType" "3" "NeutralType" "2" "flag_trail" "flagtrail" "flag_paper" "player_intel_papertrail" "flag_model" "models/props_td/atom_bomb.mdl" "flag_icon" "../hud/objectives_flagpanel_carried" "angles" "0 270 0" } } cabinet { //NoFixup 1 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" "3" "mins" "0 -48 0" "maxs" "40 48 128" "OnStartTouchAll" "locker_model,SetAnimation,open,0,-1" "OnEndTouchAll" "locker_model,SetAnimation,close,0,-1" } } } SpawnTemplate "corelogic" SpawnTemplate { Name "cabinet" Origin "-2124 -3307 653" Angles "0 0 0" } ExtraTankPath // Blimp spawn { Name "tank_path_blimp" Node "-5268 569 1000" Node "-5723 522 1000" Node "-5982 121 1000" Node "-5982 -3173 1000" Node "-5214 -3908 1000" Node "-3298 -3908 1000" Node "-2450 -3120 1000" } Templates { aircrap_sup_flare // semi giant flare pyro with faster fire rate { Class Pyro Skill Expert Name "Supercharged Flare Pyro" ClassIcon pyro_flare Tag giant WeaponRestrictions SecondaryOnly Health 600 Item "The Flare Gun" Item "The Triclops" Attributes AlwaysCrit Scale 1.5 ItemAttributes { ItemName "The Flare Gun" "Reload time decreased" 0.5 "fire rate bonus" 0.5 } CharacterAttributes { "airblast vulnerability multiplier" 0.5 "damage force reduction" 0.5 "move speed bonus" 0.75 } } TankTemplate { ClassIcon special_blimp //Use custom icon for a tank } aircrap_SMG_Fodder_Air { Name "SMG4 Sniper" Class Sniper Skill Hard WeaponRestrictions SecondaryOnly ClassIcon sniper_smg Item "Plumber's Cap" Item "The B.A.S.E. Jumper" Item "Upgradeable TF_WEAPON_SMG" ItemAttributes { ItemName "Upgradeable TF_WEAPON_SMG" "clip size bonus" 2 "fire rate bonus" 1.85 "weapon spread bonus" 3 } } aircrap_Air_Striker { Class Soldier Skill Normal Item "The Air Strike" Item "The B.A.S.E. Jumper" Name "Airdrop asked me to say Hi" Attributes HoldFireUntilFullReload ItemAttributes { ItemName "The Air Strike" "clip size upgrade atomic" 4.0 "faster reload rate" 0.6 } } } Mission //busters 1-4 { Objective DestroySentries Where spawnbot_mission_sentrybuster CooldownTime 40 DesiredCount 1 BeginAtWave 1 RunForThisManyWaves 4 TFBot { Template T_TFBot_SentryBuster Tag giant Tag bot_sentrybuster } } Mission //busters last wave { Objective DestroySentries Where spawnbot_mission_sentrybuster Where spawnbot_airdrop0 Where spawnbot_airdrop1 RandomSpawn 1 CooldownTime 40 DesiredCount 1 BeginAtWave 5 RunForThisManyWaves 1 TFBot { Template T_TFBot_SentryBuster Tag giant Item "The B.A.S.E. Jumper" Name "Air Raid Shadow Legends" Tag bot_sentrybuster } } Mission // w3 snipers { Objective Sniper Where spawnbot_mission_sniper InitialCooldown 15 CooldownTime 40 DesiredCount 2 BeginAtWave 3 RunForThisManyWaves 1 TFBot { Template T_TFBot_Sniper } } Mission // w5 snipers { Objective Sniper Where spawnbot_airdrop2 InitialCooldown 60 CooldownTime 40 DesiredCount 2 BeginAtWave 5 RunForThisManyWaves 1 TFBot { Template T_TFBot_Sniper Item "The B.A.S.E. Jumper" } } Wave // Wave # { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } WaveSpawn { Name wave6_blimp WaitForAllDead wave6_penultimategiants TotalCount 1 WaitBeforeStarting 0 FirstSpawnWarningSound "ambient_mp3/alarms/doomsday_lift_alarm.mp3" Tank // hell-met provides { Health 11111 Speed 100 DisableSmokestack 1 Classicon blimp_lite Scale 1.5 MaxTurnRate 25 Model "models/bots/boss_air/boss_tank.mdl" Gravity 0 DisableTracks 1 EngineLoopSound "npc\combine_gunship\dropship_engine_distant_loop1.wav" PingSound "npc\combine_gunship\ping_search.wav" Name "tankboss" StartingPathTrackNode "tank_path_blimp_1" SpawnTemplate "TankTemplate" OnKilledOutput { Target boss_dead_relay Action Trigger } OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } } Wave //w1 money 700$ { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } WaveSpawn //subwave maxactive at once 14 { Name sub0 Where spawnbot TotalCurrency 100 WaitBeforeStarting 2 WaitBetweenSpawns 25 TotalCount 4 SpawnCount 2 MaxActive 4 Squad { TFBot { Template T_TFBot_Giant_Soldier_Spammer Tag giant Tag nav_flank_routeother } TFBot { Template T_TFBot_Medic_QuickFix } } } WaveSpawn { Name sub0 Where spawnbot TotalCurrency 50 WaitBeforeStarting 10 WaitBetweenSpawns 15 TotalCount 12 SpawnCount 4 MaxActive 8 FirstSpawnOutput { Target bomb_new Action Enable } RandomChoice { TFBot { Class Scout Skill Normal Tag nav_spawn_left } TFBot { Class Scout Skill Normal Tag nav_spawn_left } TFBot { Class Scout Skill Normal Tag nav_spawn_left } TFBot { Class Scout Skill Normal Tag nav_spawn_left } TFBot { Class Scout Skill Normal BehaviorModifiers Push Tag nav_prefer_flank_left Tag nav_spawn_right } TFBot { Class Scout Skill Normal BehaviorModifiers Push Tag nav_prefer_flank_left Tag nav_spawn_left } } } WaveSpawn { Name sub0 Where spawnbot_side TotalCurrency 50 WaitBeforeStarting 20 WaitBetweenSpawns 25 TotalCount 4 SpawnCount 2 MaxActive 4 TFBot { Class Demoman Skill Hard BehaviorModifiers Push } } WaveSpawn { Name sub00 //subwave before 2 and after 1 maxactive at once 18 WaitForAllSpawned sub0 Where spawnbot TotalCurrency 50 WaitBeforeStarting 5 WaitBetweenSpawns 15 TotalCount 12 SpawnCount 6 MaxActive 6 TFBot { Class Soldier Skill Hard } } WaveSpawn { Name sub00 WaitForAllSpawned sub0 Where spawnbot TotalCurrency 50 WaitBeforeStarting 5 WaitBetweenSpawns 15 TotalCount 4 SpawnCount 1 MaxActive 4 TFBot { Template T_TFBot_Scout_Sandman } } WaveSpawn { Name sub00 WaitForAllSpawned sub0 Where spawnbot_invasion TotalCurrency 50 WaitBeforeStarting 8 WaitBetweenSpawns 20 TotalCount 15 SpawnCount 5 MaxActive 8 TFBot { Class Heavy Skill Easy } } WaveSpawn //subwave 2 maxactive at once 20 { Name sub1 WaitForAllSpawned sub00 Where spawnbot_alt TotalCurrency 100 WaitBeforeStarting 5 WaitBetweenSpawns 25 TotalCount 4 SpawnCount 2 MaxActive 4 TFBot { Template T_TFBot_Giant_Demo_RapidFire Tag giant } } WaveSpawn { Name sub1 WaitForAllSpawned sub00 Where spawnbot TotalCurrency 50 WaitBeforeStarting 2 WaitBetweenSpawns 15 TotalCount 15 SpawnCount 3 MaxActive 6 Squad { TFBot { Template T_TFBot_Pyro } TFBot { Class Soldier Skill Normal } TFBot { Class Soldier Skill Normal } } } WaveSpawn { WaitForAllSpawned sub00 Where spawnbot_alt_limited_a Support 1 TotalCurrency 50 WaitBeforeStarting 10 WaitBetweenSpawns 20 TotalCount 20 SpawnCount 5 MaxActive 10 RandomChoice { TFBot { Class Scout ClassIcon scout_giant Tag nav_spawn_right Skill Normal ItemAttributes { ItemName "TF_WEAPON_SCATTERGUN" "fire rate bonus" 1.5 } } TFBot { Class Scout ClassIcon scout_giant Tag nav_spawn_left Skill Normal ItemAttributes { ItemName "TF_WEAPON_SCATTERGUN" "fire rate bonus" 1.5 } } TFBot { Class Scout ClassIcon scout_giant Tag nav_spawn_right Skill Normal ItemAttributes { ItemName "TF_WEAPON_SCATTERGUN" "fire rate bonus" 1.5 } } TFBot { Class Scout ClassIcon scout_giant Tag nav_spawn_left Skill Normal ItemAttributes { ItemName "TF_WEAPON_SCATTERGUN" "fire rate bonus" 1.5 } } TFBot { Class Scout ClassIcon scout_giant Tag nav_spawn_left Tag nav_prefer_flank_left BehaviorModifiers Push Skill Normal ItemAttributes { ItemName "TF_WEAPON_SCATTERGUN" "fire rate bonus" 1.5 } } TFBot { Class Scout ClassIcon scout_giant Tag nav_spawn_right Tag nav_prefer_flank_middle BehaviorModifiers Push Skill Normal ItemAttributes { ItemName "TF_WEAPON_SCATTERGUN" "fire rate bonus" 1.5 } } } } WaveSpawn //subwave 3 maxactive at once 16 { WaitForAllSpawned sub1 FirstSpawnOutput { Target limited_spawns_disable_a_relay Action Trigger } Where spawnbot TotalCurrency 100 WaitBeforeStarting 10 TotalCount 4 SpawnCount 4 MaxActive 4 Squad { TFBot { Template T_TFBot_Giant_Heavyweapons Tag giant } TFBot { Template T_TFBot_Medic } TFBot { Template T_TFBot_Medic } TFBot { Template T_TFBot_Medic } } } WaveSpawn { WaitForAllSpawned sub1 Where spawnbot_invasion WaitBetweenSpawns 20 Support 1 TotalCurrency 50 TotalCount 20 SpawnCount 6 MaxActive 12 RandomChoice { TFBot { Class Soldier Skill Hard ClassIcon soldier_giant } TFBot { Class Scout ClassIcon scout_giant Skill Normal Tag nav_prefer_flank_middle BehaviorModifiers Push } TFBot { Class Scout Skill Normal ClassIcon scout_giant } TFBot { Class Scout Skill Normal ClassIcon scout_giant } TFBot { Class Scout Skill Normal ClassIcon scout_giant } TFBot { Class Scout Skill Expert ClassIcon scout_bat WeaponRestrictions MeleeOnly Attributes AlwaysCrit BehaviorModifiers Push } } } } Wave //w2 money 700 { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } WaveSpawn //subwave 1 maxactive at once 21 { Name sub0 Where spawnbot TotalCurrency 70 WaitBeforeStarting 0 WaitBetweenSpawns 15 TotalCount 28 SpawnCount 7 MaxActive 9 RandomChoice { TFBot { Class Pyro Skill Hard Tag nav_spawn_left } TFBot { Class Pyro Skill Hard Tag nav_spawn_right } TFBot { Class Pyro Skill Hard Attributes AlwaysFireWeapon Tag nav_spawn_left BehaviorModifiers Push } TFBot { Class Pyro Skill Hard Attributes AlwaysFireWeapon Tag nav_spawn_right BehaviorModifiers Push } } } WaveSpawn { FirstSpawnOutput { Target air_warning_relay Action Trigger } Name sub0 Where spawnbot_airdrop0 TotalCurrency 30 WaitBeforeStarting 20 WaitBetweenSpawns 15 TotalCount 12 SpawnCount 6 MaxActive 8 TFBot { Template T_TFBot_Pyro_Flaregun Name "Air Flare Pyro" Item "The B.A.S.E. Jumper" Attributes AlwaysCrit Skill Expert } } WaveSpawn { Name sub0 Where spawnbot TotalCurrency 70 WaitBeforeStarting 15 WaitBetweenSpawns 15 TotalCount 9 SpawnCount 3 MaxActive 4 TFBot { Template aircrap_sup_flare } } WaveSpawn // subwave 2 maxactive 22 { WaitForAllSpawned sub0 Name sub1 WaitBeforeStarting 8 WaitBetweenSpawns 15 TotalCurrency 100 Where spawnbot TotalCount 2 SpawnCount 1 MaxActive 2 TFBot { Template T_TFBot_Heavyweapons_Heater Name "Heated Heavy" Tag giant } } WaveSpawn { WaitForAllSpawned sub0 Name sub1 WaitBeforeStarting 10 WaitBetweenSpawns 10 TotalCurrency 70 Where spawnbot TotalCount 24 SpawnCount 6 MaxActive 12 TFBot { Template T_TFBot_Scout_FAN } } WaveSpawn { WaitForAllSpawned sub0 Name sub1 WaitBeforeStarting 15 WaitBetweenSpawns 15 TotalCurrency 50 Where spawnbot_invasion RandomSpawn 1 TotalCount 12 SpawnCount 4 MaxActive 8 TFBot { Class Demoman Skill Hard Name "Quite Iron Bomber" Item "The Iron Bomber" ItemAttributes { ItemName "The Iron Bomber" "Blast radius decreased" 1 "Reload time decreased" 0.2 } } } WaveSpawn // Subwave 16 maxactive { WaitForAllSpawned sub1 Name sub2 WaitBeforeStarting 15 WaitBetweenSpawns 10 TotalCurrency 80 Where spawnbot TotalCount 24 SpawnCount 6 MaxActive 12 Squad { TFBot { Template T_TFBot_Sniper_Huntsman_Spammer ClassIcon sniper_bow_multi Tag giant } TFBot { Template T_TFBot_Sniper_Huntsman } TFBot { Template T_TFBot_Sniper_Huntsman } TFBot { Class Pyro Skill Easy Attributes AlwaysFireWeapon } TFBot { Class Pyro Skill Easy Attributes AlwaysFireWeapon } TFBot { Class Pyro Skill Easy Attributes AlwaysFireWeapon } } } WaveSpawn { WaitForAllSpawned sub1 WaitBeforeStarting 15 WaitBetweenSpawns 10 TotalCurrency 70 Where spawnbot_alt_limited_a Support 1 TotalCount 20 SpawnCount 2 MaxActive 4 RandomChoice { TFBot { Class Heavy Name "Not so Heavy" Skill Normal WeaponRestrictions SecondaryOnly ClassIcon heavy_shotgun } TFBot { Class Soldier Name "Budget Soldier" Skill Normal WeaponRestrictions SecondaryOnly ClassIcon heavy_shotgun } TFBot { Class Pyro Name "Cool Pyro" Skill Normal WeaponRestrictions SecondaryOnly ClassIcon heavy_shotgun } } } WaveSpawn // subwave 4 maxactive at once 15 { FirstSpawnOutput { Target limited_spawns_disable_a_relay Action Trigger } WaitForAllSpawned sub2 WaitBeforeStarting 15 WaitBetweenSpawns 10 TotalCurrency 50 Where spawnbot TotalCount 1 SpawnCount 1 MaxActive 1 TFBot { Template T_TFBot_Giant_Soldier_RocketShotgun Tag giant Attributes UseBossHealthBar Name "Average Pubstomper" } } WaveSpawn { WaitForAllSpawned sub2 WaitBeforeStarting 15 WaitBetweenSpawns 10 TotalCurrency 25 Where spawnbot TotalCount 1 SpawnCount 1 MaxActive 1 TFBot { Class Soldier ClassIcon heavy_shotgun_giant Skill Hard Tag giant Name "Quite Big Hitscan Soldier" WeaponRestrictions SecondaryOnly Attributes MiniBoss Health 3800 ItemAttributes { ItemName "TF_WEAPON_SHOTGUN_SOLDIER" "fire rate bonus" 2.5 "damage bonus" 2 "faster reload rate" 0.1 } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.4 "airblast vulnerability multiplier" 0.4 "override footstep sound set" 3 } } } WaveSpawn { WaitForAllSpawned sub2 WaitBeforeStarting 15 WaitBetweenSpawns 10 TotalCurrency 25 Where spawnbot TotalCount 1 SpawnCount 1 MaxActive 1 TFBot { Class Soldier Skill Hard Tag giant Name "That one off-meta Soldier" ClassIcon soldier_bison WeaponRestrictions SecondaryOnly Attributes MiniBoss Health 3800 Item "The Righteous Bison" ItemAttributes { ItemName "The Righteous Bison" "fire rate bonus" 0.75 "damage bonus" 2 "faster reload rate" 0.1 } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.4 "airblast vulnerability multiplier" 0.4 "override footstep sound set" 3 } } } WaveSpawn { FirstSpawnOutput { Target air_warning_notxt_relay Action Trigger } WaitForAllSpawned sub2 WaitBeforeStarting 20 WaitBetweenSpawns 25 TotalCurrency 60 Where spawnbot_airdrop0 Where spawnbot_airdrop1 RandomSpawn 1 Support 1 TotalCount 30 SpawnCount 6 MaxActive 12 RandomChoice { TFBot { Template aircrap_SMG_Fodder_Air } TFBot { Template aircrap_Air_Striker } } } } Wave // w3 sniper(2) mission. money 800 { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } WaveSpawn // subwave 1 maxactive 18 (4 supports) { Name sub0 WaitBeforeStarting 0 WaitBetweenSpawns 20 TotalCurrency 80 Where spawnbot TotalCount 12 SpawnCount 3 MaxActive 6 RandomChoice { TFBot { Class Heavy Name "Not so hot Heavy" Skill Normal Item "The Huo Long Heatmaker" ItemAttributes { ItemName "The Huo Long Heatmaker" "ring of fire while aiming" 0 } Tag nav_spawn_left } TFBot { Class Heavy Name "Not so hot Heavy" Skill Normal Item "The Huo Long Heatmaker" ItemAttributes { ItemName "The Huo Long Heatmaker" "ring of fire while aiming" 0 } Tag nav_spawn_right } } } WaveSpawn { Name sub0 WaitBeforeStarting 8 WaitBetweenSpawns 10 TotalCurrency 80 Where spawnbot_side TotalCount 24 SpawnCount 3 MaxActive 6 TFBot { Class Soldier Skill Expert } } WaveSpawn { Name sub0 WaitBeforeStarting 8 WaitBetweenSpawns 18 TotalCurrency 140 Where spawnbot_side TotalCount 3 SpawnCount 1 MaxActive 2 TFBot { Template T_TFBot_Giant_Pyro Tag giant } } WaveSpawn { WaitBeforeStarting 8 WaitBetweenSpawns 29 TotalCurrency 50 Where spawnbot_alt_limited_a Where spawnbot_side_limited_a RandomSpawn 1 Support 1 TotalCount 30 SpawnCount 2 MaxActive 4 TFBot { Class Scout Name "Scout with a Stick" Skill Normal WeaponRestrictions MeleeOnly ClassIcon scout_sunstick Item "Sun-on-a-Stick" } } WaveSpawn // subwave 2 maxactive 18 { WaitForAllSpawned sub0 WaitBeforeStarting 5 TotalCurrency 150 TotalCount 1 SpawnCount 1 MaxActive 1 Tank { Name "tank" StartingPathTrackNode tank_path_a Speed 70 Health 20000 OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn { WaitForAllSpawned sub0 Name sub1 WaitBeforeStarting 10 WaitBetweenSpawns 18 TotalCurrency 80 Where spawnbot TotalCount 24 SpawnCount 6 MaxActive 12 Squad { TFBot { Class Pyro Skill Normal Item "The Phlogistinator" Attributes SpawnWithFullCharge Name "Supportive Phlog" } TFBot { Template T_TFBot_Medic_BigHeal Name "''I forgot my Uber'' Medic" } } } WaveSpawn { WaitForAllSpawned sub0 Name sub1 WaitBeforeStarting 12 WaitBetweenSpawns 12 TotalCurrency 50 Where spawnbot_alt TotalCount 15 SpawnCount 3 MaxActive 5 TFBot { Class Demoman Skill Hard } } WaveSpawn // subwave 16 maxactive { StartWaveOutput { Target limited_spawns_disable_a_relay Action Trigger } WaitForAllSpawned sub1 WaitBeforeStarting 15 WaitBetweenSpawns 18 TotalCurrency 70 Where spawnbot TotalCount 20 SpawnCount 5 MaxActive 10 RandomChoice { TFBot { Template T_TFBot_Soldier_Extended_Buff_Banner } TFBot { Template T_TFBot_Soldier_Extended_Buff_Banner } TFBot { Template T_TFBot_Soldier_Extended_Buff_Banner } TFBot { Template T_TFBot_Soldier_Extended_Buff_Banner } TFBot { Template T_TFBot_Soldier_Extended_Buff_Banner Name "poop toot" } } } WaveSpawn { WaitForAllSpawned sub1 WaitBeforeStarting 20 WaitBetweenSpawns 26 TotalCurrency 100 Where spawnbot TotalCount 4 SpawnCount 2 MaxActive 4 TFBot { Class Demoman //copied from robot_giant and edited Name "Giant Burst Fire Demo" ClassIcon demo_burst_giant Health 3300 Skill Expert WeaponRestrictions PrimaryOnly Tag giant Attributes MiniBoss Attributes HoldFireUntilFullReload ItemAttributes { ItemName "TF_WEAPON_GRENADELAUNCHER" "faster reload rate" 0.5 //50% faster reload "fire rate bonus" 0.1 "clip size upgrade atomic" 7.0 "projectile spread angle penalty" 5 "Projectile speed increased" 1.1 } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.4 "airblast vulnerability multiplier" 0.4 "override footstep sound set" 4 } } } } Wave // wave 4. money 700 { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } WaveSpawn // subwave 1 maxactive 10 { Name sub0 WaitBeforeStarting 0 WaitBetweenSpawns 12 TotalCurrency 50 Where spawnbot TotalCount 15 SpawnCount 5 MaxActive 10 TFBot { Class Scout Skill Hard } } // tank bombing phuckery //////////////////////////////////////////////////////////////////////////////////////////////////// WaveSpawn { DoneOutput { Target air_warning_notxt_relay Action Trigger } WaitBeforeStarting 10 Name wait Where spawnbot_alt } WaveSpawn { WaitForAllSpawned wait WaitBeforeStarting 5 Name surprise Where spawnbot_alt } WaveSpawn { WaitForAllSpawned surprise StartWaveOutput { Target drop_bomb0_relay // call in a plane to drop the tank. Action Trigger } Name a TotalCount 1 Support Limited TotalCurrency 10 WaitBeforeStarting 3.9 Tank { Health 300 Speed 75 StartingPathTrackNode "tank_path_air_bomb" } } WaveSpawn { WaitForAllSpawned a WaitBeforeStarting 2 Name andanotherone Where spawnbot_alt } WaveSpawn { WaitForAllSpawned andanotherone StartWaveOutput { Target drop_bomb0_relay Action Trigger } TotalCount 1 TotalCurrency 10 Support Limited WaitBeforeStarting 4.1 Tank { Health 300 Speed 75 StartingPathTrackNode "tank_path_air_bomb1" } } // tank bombing phuckery //////////////////////////////////////////////////////////////////////////////////////////////////// WaveSpawn //subwave 16 maxactive { WaitForAllSpawned sub0 Name sub1 WaitBeforeStarting 5 WaitBetweenSpawns 18 TotalCurrency 70 Where spawnbot TotalCount 16 SpawnCount 4 MaxActive 6 Squad { TFBot { Template T_TFBot_Soldier_Extended_Concheror } TFBot { Class Medic Skill Easy ClassIcon medic_kritz Name "The Cringekrieg" Item "The Kritzkrieg" Attributes SpawnWithFullCharge ItemAttributes { ItemName "The Kritzkrieg" "uber duration bonus" 60000 } CharacterAttributes { "bot medic uber health threshold" 155 } } TFBot { Class Pyro Skill Normal Attributes AlwaysFireWeapon } TFBot { Class Pyro Skill Normal Attributes AlwaysFireWeapon } } } WaveSpawn { WaitForAllSpawned sub0 Name sub1 WaitBeforeStarting 7 WaitBetweenSpawns 12 TotalCurrency 60 Where spawnbot_invasion TotalCount 24 SpawnCount 4 MaxActive 8 TFBot { Template T_TFBot_Sniper_Huntsman } } WaveSpawn { WaitForAllSpawned sub0 Name sub1 WaitBeforeStarting 9 WaitBetweenSpawns 24 TotalCurrency 100 Where spawnbot TotalCount 2 SpawnCount 1 MaxActive 2 TFBot { Template T_TFBot_Giant_Heavyweapons_Deflector Tag giant } } WaveSpawn { StartWaveOutput { Target air_warning_notxt_relay Action Trigger } WaitForAllSpawned sub1 WaitBeforeStarting 5 Name warning Where spawnbot_alt } WaveSpawn { WaitForAllSpawned warning StartWaveOutput { Target drop_bomb0_relay Action Trigger } TotalCount 1 TotalCurrency 200 WaitBeforeStarting 3.9 Tank { Health 20000 Name "droptank0" Speed 75 StartingPathTrackNode "tank_path_drop0_b" OnKilledOutput // safety measure to remove the 'chute { Target droptank0_killed_relay Action Trigger } OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn // subwave 3 maxactive { WaitForAllSpawned sub1 Name sub2 WaitBeforeStarting 10 WaitBetweenSpawns 25 TotalCurrency 90 Where spawnbot TotalCount 3 SpawnCount 1 MaxActive 2 TFBot { Template T_TFBot_Giant_Scout_Fast Tag giant } } WaveSpawn { WaitForAllSpawned sub1 Name sub2 WaitBeforeStarting 5 WaitBetweenSpawns 12 TotalCurrency 50 Where spawnbot TotalCount 20 SpawnCount 4 MaxActive 8 TFBot { Class Scout Attributes AlwaysCrit Name "Kritz Infused Scout" Skill Normal ClassIcon scout_giant } } WaveSpawn { WaitForAllSpawned sub1 Name sub2 WaitBeforeStarting 9 WaitBetweenSpawns 9 TotalCurrency 60 Where spawnbot_alt TotalCount 12 SpawnCount 3 MaxActive 6 TFBot { Class Soldier Attributes AlwaysCrit Name "Kritz Infused Soldier" Skill Hard } } } Wave // wave 5, endurance. sniper(2) mission. money 1900 { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } WaveSpawn // wave 1 subwave 1 maxactive 20 { Name sub0 WaitBeforeStarting 0 WaitBetweenSpawns 22 TotalCurrency 80 Where spawnbot TotalCount 12 SpawnCount 6 MaxActive 12 TFBot { Class Pyro Skill Hard Attributes AlwaysCrit } } WaveSpawn { Name sub0 WaitBeforeStarting 2 WaitBetweenSpawns 20 TotalCurrency 50 Where spawnbot TotalCount 4 SpawnCount 2 MaxActive 4 TFBot { Template T_TFBot_Heavyweapons_Fist Tag giant } } WaveSpawn { StartWaveOutput { Target air_warning_notxt_relay Action Trigger } Name sub0 WaitBeforeStarting 10 WaitBetweenSpawns 15 TotalCurrency 50 Where spawnbot_airdrop0 TotalCount 4 SpawnCount 2 MaxActive 4 TFBot { Template aircrap_Air_Striker } } WaveSpawn // wave 1 subwave 2 maxactive 18 { StartWaveOutput { Target air_warning_notxt_relay Action Trigger } WaitForAllSpawned sub0 Name sub1 WaitBeforeStarting 10 WaitBetweenSpawns 15 TotalCurrency 90 Where spawnbot_airdrop0 Where spawnbot_airdrop1 RandomSpawn 1 TotalCount 12 SpawnCount 4 MaxActive 8 TFBot { Template aircrap_sup_flare Item "The B.A.S.E. Jumper" } } WaveSpawn { WaitForAllSpawned sub0 Name sub1 WaitBeforeStarting 10 WaitBetweenSpawns 30 TotalCurrency 130 Where spawnbot_airdrop0 TotalCount 2 SpawnCount 2 MaxActive 4 TFBot { Template aircrap_Air_Striker Tag giant Health 3800 Name "Giant Air Striker" ClassIcon soldier_giant Attributes MiniBoss ItemAttributes { ItemName "The Air Strike" "faster reload rate" -0.8 "fire rate bonus" 0.5 } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.3 "airblast vulnerability multiplier" 0.3 "override footstep sound set" 3 "Projectile speed increased" 0.65 } } } WaveSpawn { WaitForAllSpawned sub0 Name sub1 WaitBeforeStarting 5 WaitBetweenSpawns 10 TotalCurrency 60 Where spawnbot_side TotalCount 18 SpawnCount 3 MaxActive 6 TFBot { Template T_TFBot_Demo_Burst } } WaveSpawn // wave 1 subwave 3 maxactive { WaitForAllSpawned sub1 TotalCount 1 TotalCurrency 100 WaitBeforeStarting 15 Support Limited Tank { StartingPathTrackNode "tank_path_a" Name "tank" Health 18000 Speed 70 OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn { WaitBeforeStarting 35 WaitForAllSpawned sub1 Name waitforit Where spawnbot_alt } WaveSpawn { StartWaveOutput { Target air_warning_notxt_relay Action Trigger } WaitBeforeStarting 5 WaitForAllSpawned waitforit Name surprise Where spawnbot_alt } WaveSpawn { WaitForAllSpawned surprise StartWaveOutput { Target drop_bomb0_relay Action Trigger } TotalCount 1 Support Limited TotalCurrency 20 WaitBeforeStarting 3.9 Tank { Health 300 Name "tank" Speed 75 StartingPathTrackNode "tank_path_air_bomb" } } WaveSpawn { WaitForAllSpawned sub1 Name sub2 WaitBeforeStarting 25 WaitBetweenSpawns 0 TotalCurrency 100 TotalCount 1 SpawnCount 1 MaxActive 1 Tank { Name "tank" StartingPathTrackNode tank_path_b Speed 70 Health 20000 OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn // wave 1 subwave 3 maxactive 20 { WaitForAllSpawned sub1 Name sub2 WaitBeforeStarting 10 WaitBetweenSpawns 20 TotalCurrency 60 Where spawnbot TotalCount 24 SpawnCount 6 MaxActive 12 TFBot { Template T_TFBot_Soldier_RocketShotgun } } WaveSpawn { WaitForAllSpawned sub1 Name sub2 WaitBeforeStarting 10 WaitBetweenSpawns 10 TotalCurrency 60 Where spawnbot TotalCount 12 SpawnCount 3 MaxActive 6 TFBot { Template T_TFBot_Soldier_Extended_Concheror } } WaveSpawn { WaitForAllSpawned sub1 Name sub2 WaitBeforeStarting 7 WaitBetweenSpawns 10 TotalCurrency 100 Where spawnbot TotalCount 4 SpawnCount 2 MaxActive 2 TFBot { Template T_TFBot_Giant_Soldier_RocketShotgun Tag giant Attributes UseBossHealthBar } } // wave 2 WaveSpawn // break { StartWaveWarningSound "ui/mm_round_end_stalemate_music.wav" WaitForAllDead sub2 WaitBeforeStarting 35 Name wavebreak StartWaveOutput { Target break_start_relay Action Trigger } FirstSpawnOutput { Target break_end_relay Action Trigger } } WaveSpawn { FirstSpawnWarningSound "ui/mm_round_start.wav" WaitForAllDead sub2 WaitBeforeStarting 30 } WaveSpawn // wave 2 subwave 18 maxactive { WaitForAllSpawned wavebreak Name sub02 WaitBeforeStarting 2 WaitBetweenSpawns 20 TotalCurrency 50 Where spawnbot TotalCount 2 SpawnCount 1 MaxActive 1 TFBot { Template T_TFBot_Giant_Soldier_Extended_Battalion Tag giant } } WaveSpawn { WaitForAllSpawned wavebreak Name sub02 WaitBeforeStarting 2 WaitBetweenSpawns 20 TotalCurrency 50 Where spawnbot TotalCount 2 SpawnCount 1 MaxActive 1 TFBot { Template T_TFBot_Giant_Soldier_Extended_Buff_Banner Tag giant } } WaveSpawn { WaitForAllSpawned wavebreak Name sub02 WaitBeforeStarting 5 WaitBetweenSpawns 10 TotalCurrency 50 Where spawnbot_airdrop0 TotalCount 10 SpawnCount 2 MaxActive 4 TFBot { Class Scout Name "Air Delivery Milk" Skill Easy ClassIcon scout_milk Item "Mad Milk" Item "The B.A.S.E. Jumper" Item "The Fan O'War" WeaponRestrictions SecondaryOnly Attributes AlwaysFireWeapon CharacterAttributes { "effect bar recharge rate increased" 0.1 } } } WaveSpawn { StartWaveOutput { Target air_warning_notxt_relay Action Trigger } WaitForAllSpawned wavebreak Name sub02 WaitBeforeStarting 8 WaitBetweenSpawns 15 TotalCurrency 80 Where spawnbot_airdrop0 Where spawnbot_side //RandomSpawn 1 TotalCount 30 SpawnCount 6 MaxActive 12 TFBot { Template aircrap_SMG_Fodder_Air } } WaveSpawn // wave 2 subwave 18 maxactive { WaitForAllSpawned sub02 Name sub12 WaitBeforeStarting 8 WaitBetweenSpawns 15 TotalCurrency 90 Where spawnbot TotalCount 30 SpawnCount 6 MaxActive 12 TFBot { Class Heavy Skill Normal } } WaveSpawn { WaitForAllSpawned sub02 Name sub12 WaitBeforeStarting 8 WaitBetweenSpawns 15 TotalCurrency 80 Where spawnbot_alt TotalCount 18 SpawnCount 3 MaxActive 6 TFBot { Template T_TFBot_Scout_Bonk } } WaveSpawn { StartWaveOutput { Target air_warning_notxt_relay Action Trigger } WaitForAllSpawned sub02 Name sub12 WaitBeforeStarting 10 WaitBetweenSpawns 15 TotalCurrency 120 Where spawnbot_airdrop0 TotalCount 2 SpawnCount 1 MaxActive 2 TFBot { Template T_TFBot_Soldier_BurstFire Tag giant Item "The B.A.S.E. Jumper" } } WaveSpawn { WaitForAllSpawned sub02 WaitBeforeStarting 35 Name tankdrop Where spawnbot_alt } WaveSpawn { WaitForAllSpawned tankdrop StartWaveOutput { Target drop_bomb0_relay Action Trigger } Name sub12 TotalCount 1 TotalCurrency 100 WaitBeforeStarting 3.9 Tank { Health 20000 Name "droptank0" Speed 75 StartingPathTrackNode "tank_path_drop0_b" OnKilledOutput // safety measure to remove the 'chute { Target droptank0_killed_relay Action Trigger } OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn // wave 2 subwave 3 maxactive 9 { WaitForAllDead sub12 Name sub22 WaitBeforeStarting 15 TotalCurrency 200 Where spawnbot_mission_sentrybuster TotalCount 1 SpawnCount 1 MaxActive 1 TFBot // boss inspired by all the attributes phuckery on... was it winterbridge? { Class Scout Health 46000 Name "A.C.E. 5000" ClassIcon scout_giant AutoJumpMin 1 AutoJumpMax 1 EventChangeAttributes { Default // default shooty shooty with the pistol { Attributes MiniBoss Attributes UseBossHealthBar Tag giant Skill Hard Tag nav_spawn_right WeaponRestrictions SecondaryOnly Item "The C.A.P.P.E.R" Item "Batsaber" Item "The Bolt Boy" ItemAttributes { ItemName "The C.A.P.P.E.R" "override projectile type" 13 "projectile penetration" 1 } CharacterAttributes { "move speed bonus" 0.35 "cancel falling damage" 1 "damage force reduction" 0.2 "airblast vulnerability multiplier" 0.2 "Projectile speed increased" 0.3 } } BotAttributes1 // run like a madlad and shoot rockets because he can { Attributes MiniBoss Attributes UseBossHealthBar Attributes AlwaysFireWeapon Tag giant Skill Hard WeaponRestrictions PrimaryOnly Item "The C.A.P.P.E.R" Item "Batsaber" Item "The Bolt Boy" ItemAttributes { ItemName "TF_WEAPON_SCATTERGUN" "override projectile type" 2 "Reload time decreased" 0.05 "damage bonus" 15 // rockets with bullet's damage are pathetic "rocket specialist" 1 } CharacterAttributes { "move speed bonus" 0.2 "cancel falling damage" 1 "increased jump height" 0 "damage force reduction" 0.2 "airblast vulnerability multiplier" 0.2 "Projectile speed increased" 0.5 "mini rockets" 1 } } BotAttributes2 // get high and shoot barrage of shit at poor people down there { Attributes MiniBoss Attributes UseBossHealthBar Tag giant Skill Hard Attributes AutoJump WeaponRestrictions SecondaryOnly Item "The C.A.P.P.E.R" Item "Batsaber" Item "The Bolt Boy" Attributes AlwaysCrit ItemAttributes { ItemName "The C.A.P.P.E.R" "override projectile type" 13 "Reload time decreased" 0.1 "projectile penetration" 1 "clip size bonus upgrade" 50 "fire rate bonus" 0.1 "projectile spread angle penalty" 15 } CharacterAttributes { "move speed bonus" 0.1 "cancel falling damage" 1 "increased jump height" 10 "damage force reduction" 0.2 "airblast vulnerability multiplier" 0.2 "Projectile speed increased" 0.3 "hand scale" 2 } } } } } // attributes phuckery ////////////////////////////////////////////////////////////////////////////// WaveSpawn { FirstSpawnOutput { Target bot_attributes_1_relay Action Trigger } WaitForAllSpawned sub22 Name attributes0 Support Limited WaitBeforeStarting 11.8 Where spawnbot_alt } WaveSpawn { FirstSpawnOutput { Target bot_attributes_default_relay Action Trigger } WaitForAllSpawned attributes0 Name attributes1 Support Limited WaitBeforeStarting 20 Where spawnbot_alt } WaveSpawn { FirstSpawnWarningSound "mvm/mvm_tele_activate.wav" WaitForAllSpawned attributes1 Name attributes1wait Support Limited WaitBeforeStarting 18 Where spawnbot_alt } WaveSpawn { FirstSpawnOutput { Target bot_attributes_2_relay Action Trigger } WaitForAllSpawned attributes1wait Name attributes2 Support Limited WaitBeforeStarting 5 Where spawnbot_alt } WaveSpawn { FirstSpawnOutput { Target bot_attributes_default_relay Action Trigger } WaitForAllSpawned attributes2 Name attributes3 Support Limited WaitBeforeStarting 2 Where spawnbot_alt } WaveSpawn { FirstSpawnWarningSound "mvm/mvm_tele_activate.wav" WaitForAllSpawned attributes3 Name attributes3wait Support Limited WaitBeforeStarting 18 Where spawnbot_alt } WaveSpawn { FirstSpawnOutput { Target bot_attributes_2_relay Action Trigger } WaitForAllSpawned attributes3wait Name attributes4 Support Limited WaitBeforeStarting 5 Where spawnbot_alt } WaveSpawn { FirstSpawnOutput { Target bot_attributes_default_relay Action Trigger } WaitForAllSpawned attributes4 Support Limited WaitBeforeStarting 2 Where spawnbot_alt } // attributes phuckery //////////////////////////////////////////////////////////////////////////////// WaveSpawn { WaitForAllDead sub12 WaitBeforeStarting 6 WaitBetweenSpawns 25 TotalCurrency 80 Support 1 Where spawnbot_invasion TotalCount 20 SpawnCount 4 MaxActive 8 TFBot { Class Scout Skill Normal Name "Subwoofer" WeaponRestrictions SecondaryOnly Item "The C.A.P.P.E.R" Item "The Hound's Hood" } } WaveSpawn { StartWaveOutput { Target air_warning_notxt_relay Action Trigger } WaitBeforeStarting 5 WaitForAllSpawned attributes1 Name lastttank Where spawnbot_alt } WaveSpawn { WaitForAllSpawned lastttank StartWaveOutput { Target drop_bomb1_relay Action Trigger } TotalCount 1 TotalCurrency 100 WaitBeforeStarting 3.9 Tank { Health 12500 Skin 1 Name "droptank1" Speed 75 StartingPathTrackNode "tank_path_drop1" OnKilledOutput // safety measure to remove the 'chute { Target droptank1_killed_relay Action Trigger } OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } } }