//Merasmus themed wave //Drip fortress 2 red robots //Metro malice style end #base robot_standard.pop #base robot_giant.pop WaveSchedule { StartingCurrency 20000 RespawnWaveTime 6 CanBotsAttackWhileInSpawnRoom No TextPrintTime 0 Templates { T_TFBot_Message { Class Scout Attributes SuppressFire Attributes IgnoreFlag FireInput { Target "spawnbot_message" Action "Disable" Delay 0 Repeats 1 } CharacterAttributes { "health regen" -1 "move speed bonus" 0.001 } } } PointTemplates { MultiTankSpawner { NoFixup 1 env_entity_maker { "targetname" "multi_tank_start_spawn" "EntityTemplate" "MultiTankTeleport" "spawnflags" "0" } logic_relay { "targetname" "multi_tank_next" "OnTrigger" "multi_tank_start_spawn,ForceSpawnAtEntityOrigin,tank_multi_next,0.5,-1" "OnTrigger" "multi_tank_path_parent,SetParent,tank_multi_next,0.52,-1" "OnTrigger" "multi_tank_teleport,Teleport,,0.51,-1" "OnTrigger" "multi_tank_teleport,Kill,,1,-1" } } MultiTankTeleport { NoFixup 1 KeepAlive 1 point_teleport { "targetname" "multi_tank_teleport" "target" "multi_tank_path_parent" } } MultiTankTest { NoFixup 1 KeepAlive 1 logic_relay { "targetname" "multi_tank_test" "OnSpawn" "multipath_1,AddOutput,target multipath_20,1,-1" } } MultiTankParent { NoFixup 1 KeepAlive 1 info_target { "targetname" "multi_tank_path_parent" } } MultiPath { NoFixup 1 KeepAlive 1 path_track{"targetname" "multipath_1" "target" "multipath_2" "origin" "-1793 1154 -108" "OnPass" "!self,SetParent,multi_tank_path_parent,1,-1"} path_track{"targetname" "multipath_2" "target" "multipath_3" "origin" "-1459 1154 -110" "OnPass" "!self,SetParent,multi_tank_path_parent,1,-1"} path_track{"targetname" "multipath_3" "target" "multipath_4" "origin" "-1083 1154 -110" "OnPass" "!self,SetParent,multi_tank_path_parent,1,-1"} path_track{"targetname" "multipath_4" "target" "multipath_5" "origin" "-984 1144 -110" "OnPass" "!self,SetParent,multi_tank_path_parent,1,-1"} path_track{"targetname" "multipath_5" "target" "multipath_6" "origin" "-848 1048 -110" "OnPass" "!self,SetParent,multi_tank_path_parent,1,-1"} path_track{"targetname" "multipath_6" "target" "multipath_7" "origin" "-792 988 -110" "OnPass" "!self,SetParent,multi_tank_path_parent,1,-1"} path_track{"targetname" "multipath_7" "target" "multipath_8" "origin" "-728 940 -110" "OnPass" "!self,SetParent,multi_tank_path_parent,1,-1"} path_track{"targetname" "multipath_8" "target" "multipath_9" "origin" "-640 860 -110" "OnPass" "!self,SetParent,multi_tank_path_parent,1,-1"} path_track{"targetname" "multipath_9" "target" "multipath_10" "origin" "-556 840 -110" "OnPass" "!self,SetParent,multi_tank_path_parent,1,-1"} path_track{"targetname" "multipath_10" "target" "multipath_11" "origin" "-468 832 -110" "OnPass" "!self,SetParent,multi_tank_path_parent,1,-1"} path_track{"targetname" "multipath_11" "target" "multipath_12" "origin" "-60 832 -62" "OnPass" "!self,SetParent,multi_tank_path_parent,1,-1"} path_track{"targetname" "multipath_12" "target" "multipath_13" "origin" "56 832 -62" "OnPass" "!self,SetParent,multi_tank_path_parent,1,-1"} path_track{"targetname" "multipath_13" "target" "multipath_14" "origin" "204 832 -62" "OnPass" "!self,SetParent,multi_tank_path_parent,1,-1"} path_track{"targetname" "multipath_14" "target" "multipath_15" "origin" "288 804 -62" "OnPass" "!self,SetParent,multi_tank_path_parent,1,-1"} path_track{"targetname" "multipath_15" "target" "multipath_16" "origin" "348 764 -62" "OnPass" "!self,SetParent,multi_tank_path_parent,1,-1"} path_track{"targetname" "multipath_16" "target" "multipath_17" "origin" "400 708 -62" "OnPass" "!self,SetParent,multi_tank_path_parent,1,-1"} path_track{"targetname" "multipath_17" "target" "multipath_18" "origin" "440 644 -62" "OnPass" "!self,SetParent,multi_tank_path_parent,1,-1"} path_track{"targetname" "multipath_18" "target" "multipath_19" "origin" "468 540 -62" "OnPass" "!self,SetParent,multi_tank_path_parent,1,-1"} path_track{"targetname" "multipath_19" "target" "multipath_20" "origin" "466 -670 -62" "OnPass" "!self,SetParent,multi_tank_path_parent,1,-1"} path_track{"targetname" "multipath_20" "target" "multipath_21" "origin" "488 -736 -62" "OnPass" "!self,SetParent,multi_tank_path_parent,1,-1"} path_track{"targetname" "multipath_21" "target" "multipath_22" "origin" "520 -792 -62" "OnPass" "!self,SetParent,multi_tank_path_parent,1,-1"} path_track{"targetname" "multipath_22" "target" "multipath_23" "origin" "576 -840 -62" "OnPass" "!self,SetParent,multi_tank_path_parent,1,-1"} path_track{"targetname" "multipath_23" "target" "multipath_24" "origin" "648 -848 -62" "OnPass" "!self,SetParent,multi_tank_path_parent,1,-1"} path_track{"targetname" "multipath_24" "target" "multipath_25" "origin" "1016 -848 -62" "OnPass" "!self,SetParent,multi_tank_path_parent,1,-1"} path_track{"targetname" "multipath_25" "target" "multipath_26" "origin" "1088 -848 -62" "OnPass" "!self,SetParent,multi_tank_path_parent,1,-1"} path_track{"targetname" "multipath_26" "target" "multipath_27" "origin" "1144 -864 -62" "OnPass" "!self,SetParent,multi_tank_path_parent,1,-1"} path_track{"targetname" "multipath_27" "target" "multipath_28" "origin" "1184 -888 -62" "OnPass" "!self,SetParent,multi_tank_path_parent,1,-1"} path_track{"targetname" "multipath_28" "target" "multipath_29" "origin" "1208 -928 -62" "OnPass" "!self,SetParent,multi_tank_path_parent,1,-1"} path_track{"targetname" "multipath_29" "target" "multipath_30" "origin" "1224 -976 -62" "OnPass" "!self,SetParent,multi_tank_path_parent,1,-1"} path_track{"targetname" "multipath_30" "target" "multipath_31" "origin" "1224 -1056 -62" "OnPass" "!self,SetParent,multi_tank_path_parent,1,-1"} path_track{"targetname" "multipath_31" "target" "multipath_32" "origin" "1224 -2096 -62" "OnPass" "!self,SetParent,multi_tank_path_parent,1,-1"} path_track{"targetname" "multipath_32" "target" "multipath_33" "origin" "1224 -2464 56" "OnPass" "!self,SetParent,multi_tank_path_parent,1,-1"} path_track{"targetname" "multipath_33" "target" "multipath_34" "origin" "1224 -2528 56" "OnPass" "!self,SetParent,multi_tank_path_parent,1,-1"} path_track{"targetname" "multipath_34" "target" "multipath_35" "origin" "1240 -2576 56" "OnPass" "!self,SetParent,multi_tank_path_parent,1,-1"} path_track{"targetname" "multipath_35" "target" "multipath_36" "origin" "1272 -2608 56" "OnPass" "!self,SetParent,multi_tank_path_parent,1,-1"} path_track{"targetname" "multipath_36" "target" "multipath_37" "origin" "1312 -2616 56" "OnPass" "!self,SetParent,multi_tank_path_parent,1,-1"} path_track{"targetname" "multipath_37" "target" "multipath_38" "origin" "1384 -2624 56" "OnPass" "!self,SetParent,multi_tank_path_parent,1,-1"} path_track{"targetname" "multipath_38" "target" "multipath_39" "origin" "2480 -2624 56" "OnPass" "!self,SetParent,multi_tank_path_parent,1,-1"} path_track{"targetname" "multipath_39" "target" "multipath_40" "origin" "2536 -2600 56" "OnPass" "!self,SetParent,multi_tank_path_parent,1,-1"} path_track{"targetname" "multipath_40" "target" "multipath_41" "origin" "2608 -2536 56" "OnPass" "!self,SetParent,multi_tank_path_parent,1,-1"} path_track{"targetname" "multipath_41" "target" "multipath_42" "origin" "2624 -2472 56" "OnPass" "!self,SetParent,multi_tank_path_parent,1,-1"} path_track{"targetname" "multipath_42" "target" "multipath_43" "origin" "2624 -2088 -80" "OnPass" "!self,SetParent,multi_tank_path_parent,1,-1"} path_track{"targetname" "multipath_43" "target" "multipath_44" "origin" "2624 -2010 -80" "OnPass" "!self,SetParent,multi_tank_path_parent,1,-1"} path_track{"targetname" "multipath_44" "target" "multipath_45" "origin" "2656 -1942 -80" "OnPass" "!self,SetParent,multi_tank_path_parent,1,-1"} path_track{"targetname" "multipath_45" "target" "multipath_46" "origin" "2702 -1904 -80" "OnPass" "!self,SetParent,multi_tank_path_parent,1,-1"} path_track{"targetname" "multipath_46" "target" "multipath_47" "origin" "2760 -1886 -80" "OnPass" "!self,SetParent,multi_tank_path_parent,1,-1"} path_track{"targetname" "multipath_47" "target" "multipath_48" "origin" "2822 -1970 -80" "OnPass" "!self,SetParent,multi_tank_path_parent,1,-1"} path_track{"targetname" "multipath_48" "target" "multipath_49" "origin" "2874 -1836 -80" "OnPass" "!self,SetParent,multi_tank_path_parent,1,-1"} path_track{"targetname" "multipath_49" "target" "multipath_50" "origin" "2918 -1800 -80" "OnPass" "!self,SetParent,multi_tank_path_parent,1,-1"} path_track{"targetname" "multipath_50" "target" "multipath_51" "origin" "2960 -1768 -80" "OnPass" "!self,SetParent,multi_tank_path_parent,1,-1"} path_track{"targetname" "multipath_51" "target" "multipath_52" "origin" "2986 -1740 -80" "OnPass" "!self,SetParent,multi_tank_path_parent,1,-1"} path_track{"targetname" "multipath_52" "target" "multipath_53" "origin" "3008 -1712 -80" "OnPass" "!self,SetParent,multi_tank_path_parent,1,-1"} path_track{"targetname" "multipath_53" "target" "multipath_54" "origin" "3064 -1680 -80" "OnPass" "!self,SetParent,multi_tank_path_parent,1,-1"} path_track{"targetname" "multipath_54" "origin" "3644 -1680 -80"} } Jarate { KeepAlive 1 tf_projectile_pipe { "origin" "0 0 0" "teamnum" "3" "skin" "1" } } BotSpawns { NoFixup 1 info_player_teamspawn { "angles" "0 0 0" "origin" "-1823 1140 -70" "spawnflags" "511" "targetname" "spawnbot_tunnel" //Bumper car spawns setpos 223.986176 -221 "StartDisabled" "1" "TeamNum" "3" } info_player_teamspawn { "angles" "0 90 0" "origin" "223 -2213 81" "spawnflags" "511" "targetname" "spawnbot_message" "TeamNum" "3" } } KarenLogic { NoFixup 1 // trigger_multiple // { // "targetname" "karen_push_trigger" // // "filtername" "karen_filter" // "spawnflags" "1" // "wait" "0.01" // "origin" "-1823 1140 -40" // "mins" "-45 -45 -36" // "maxs" "45 45 36" // "OnTrigger" "!activator,AddOutput,basevelocity 1200 0 200,0,-1" // } filter_tf_bot_has_tag { "targetname" "karen_filter" "tags" "karen_scout" "Negated" "0" } trigger_teleport { "targetname" "karen_teleport" // "filtername" "karen_filter" "target" "karen_target" "origin" "-1823 1140 -70" "spawnflags" "1" "mins" "-200 -200 -50" "maxs" "200 200 200" "OnStartTouch" "entitycheck,Display,,0,-1" } game_text_tf { "background" "2" "display_to_team" "2" "message" "Touching" "targetname" "entitycheck" } logic_timer { "targetname" "karen_timer" "RefireTime" "0.01" "spawnflags" "0" "UseRandomTime" "0" "StartDisabled" "1" "OnTimer" "karen_teleport,Toggle,,0,-1" } } KarenTeleTarget { NoFixup 1 info_target { "targetname" "karen_target" } } Wave3Text { NoFixup 1 logic_relay { "targetname" "wave3text_relay" "OnTrigger" "wave3text1,Display,,1,-1" "OnTrigger" "wave3text2,Display,,6,-1" "OnTrigger" "wave3text3,Display,,12,-1" } game_text { "targetname" "wave3text1" "message" "Evil Manager: thank god he is gone" "effect" "0" "color" "252 126 1" "channel" "1" "fadein" "1.5" "fadeout" "0.5" "holdtime" "2" "spawnflags" "1" "x" "0.2" "y" "0.7" } game_text { "targetname" "wave3text2" "message" "Evil Manager: wait.. why i am speaking like this?" "effect" "0" "color" "252 126 1" "channel" "1" "fadein" "1.5" "fadeout" "0.5" "holdtime" "3" "spawnflags" "1" "x" "0.2" "y" "0.7" } game_text { "targetname" "wave3text3" "message" "Evil Manager: oh my god. it is machine attack crossover!" "effect" "0" "color" "252 126 1" "channel" "1" "fadein" "1.5" "fadeout" "0.5" "holdtime" "6" "spawnflags" "1" "x" "0.2" "y" "0.7" } } } SpawnTemplate "MultiPath" SpawnTemplate "MultiTankNext" SpawnTemplate "MultiTankSpawner" SpawnTemplate "BotSpawns" SpawnTemplate "Wave3Text" SpawnTemplate "KarenLogic" Wave { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action trigger } WaitWhenDone 65 Checkpoint Yes WaveSpawn { Where spawnbot Name "start" SpawnCount 1 MaxActive 1 TotalCount 1 TFBot { Template T_TFBot_Giant_Scout_Fast Skill Expert Health 1000000 CharacterAttributes { "damage bonus" 10000 "airblast vulnerability multiplier" 0 "airblast vertical vulnerability multiplier" 0 "damage force reduction" 0 "dmg taken increased" 0.0000001 } } } WaveSpawn { Where spawnbot Name "start" WaitBeforeStarting 5 DoneOutput { Target boss_deploy_relay Action Trigger } } } Wave //WAVE 1 { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action trigger } WaitWhenDone 65 Checkpoint Yes WaveSpawn { Name "wave01a" Where spawnbot TotalCount 24 MaxActive 8 SpawnCount 3 WaitBetweenSpawns 5 TotalCurrency 100 FirstSpawnOutput { Target A_door_open Action Trigger } TFBot { Template T_TFBot_Heavyweapons_Shotgun } } WaveSpawn { Name "wave01supporta" Where spawnbot TotalCount 50 MaxActive 4 SpawnCount 4 WaitBetweenSpawns 15 WaitBeforeStarting 25 TotalCurrency 5 Support 1 FirstSpawnOutput { Target A_door_open Action Trigger } TFBot { Class Heavyweapons ClassIcon heavy_champ Name "Minimum Wage Employee" Skill Normal WeaponRestrictions MeleeOnly Item "Ellis hat" ItemAttributes { ItemName "Ellis hat" "set item tint rgb" 15185211 } } } } Wave //Wave 2 { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action trigger } WaitWhenDone 65 Checkpoint Yes Explanation { Line "{ec7a15}Evil Manager : {fbeccb}Oh great, it's this creep again. He always asks for girl toys in his Happy Mealâ„¢." } WaveSpawn { Name "wave01a" Where spawnbot_tunnel TotalCount 5 MaxActive 5 SpawnCount 5 TFBot { Class Heavyweapons Skill Expert Action Mobber AddCond {Index 82} UseMeleeThreatPrioritization 1 UseHumanModel 1 // FireWeapon //Periodically fires weapon // { // Delay 2 // Cooldown 15 // Repeats 0 // IfSeeTarget 1 // Duration 0.1 // Type "Secondary" // } CharacterAttributes { "damage bonus" 0.5 } } } } Wave //Wave 7 (final) { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action trigger } WaitWhenDone 65 Checkpoint Yes Explanation { Line "{ec7a15}Evil Manager : {fbeccb}So you have bested all of my challenges. Fine, you will now face my most advanced machine!" } WaveSpawn { Name "hellmet" Where spawnbot TotalCount 1 MaxActive 1 SpawnCount 1 TotalCurrency 6969 FirstSpawnOutput { Target A_door_open Action Trigger } TFBot { Template T_TFBot_Giant_Soldier Item "the direct hit" Item "the gunboats" Item "the escape plant" Name "Hell-metal" Attributes UseBossHealthBar Health 90000 FireInput { Target "spawnbot_message" Action "Enable" Repeats 0 IfHealthBelow 20000 } Message { Name "{99CCFF}Hell-metal : {fbeccb}hit multiple niggas" Delay 0 Repeats 1 IfHealthBelow 60000 } CharacterAttributes { "dmg taken increased" 100 } } } WaveSpawn { Name "message_bot1" Where spawnbot_message TotalCount 1 MaxActive 1 SpawnCount 1 TFBot { Template T_TFBot_Message Health 20 Message { Name "{ec7a15}Evil Manager : {fbeccb}Destroy the team, Hell-metal." Delay 1 Repeats 1 } Message { Name "{99CCFF}Hell-metal : {fbeccb}ok retard" Delay 5 Repeats 1 } Message { Name "{ec7a15}Evil Manager : {fbeccb}You dare speak to me in such manners?!" Delay 9 Repeats 1 } Message { Name "{99CCFF}Hell-metal : {fbeccb}shut up" Delay 12 Repeats 1 } Message { Name "{fbeccb}[MvM-Admin] Gagged Evil Manager for 99999 seconds" Delay 14 Repeats 1 } } } WaveSpawn { Name "message_bot2" Where spawnbot_message WaitBeforeStarting 10 TotalCount 1 MaxActive 1 SpawnCount 1 TFBot { Template T_TFBot_Message Health 10 Message { Name "{fbeccb}[MvM-Admin] Added condition #5 to Hell-metal for a duration of 8 seconds" Delay 0 Repeats 1 } Message { Name "{fbeccb}Server cvar 'host_timescale' changed to 2.0" Delay 3 Repeats 1 } Message { Name "{99CCFF}Hell-metal : {fbeccb}im a very busy person" Delay 5 Repeats 1 } } } } Wave { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action trigger } WaitWhenDone 65 Checkpoint Yes WaveSpawn //WAVE 01a: 27 total, 9 active, Scout (melee only) { Name "wave01a" Where spawnbot TotalCount 3 MaxActive 3 SpawnCount 3 TotalCurrency 200 FirstSpawnOutput { Target A_door_open Action Trigger } Squad { TFBot { Template T_TFBot_Giant_Heavyweapons Item "upgradeable tf_weapon_minigun" Item "security shades" Item "Buck Turner All-Stars" ItemAttributes { ItemName "upgradeable tf_weapon_minigun" "item style override" 1 "is australium item" 1 } } TFBot { Template T_TFBot_Giant_Demoman Item "upgradeable tf_weapon_grenadelauncher" Item "security shades" Item "Buck Turner All-Stars" ItemAttributes { ItemName "upgradeable tf_weapon_grenadelauncher" "item style override" 1 "is australium item" 1 } } TFBot { Template T_TFBot_Giant_Scout Item "upgradeable tf_weapon_scattergun" Item "security shades" Item "Buck Turner All-Stars" ItemAttributes { ItemName "upgradeable tf_weapon_scattergun" "item style override" 1 "is australium item" 1 } } } } } Wave { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action trigger } WaitWhenDone 65 Checkpoint Yes WaveSpawn //WAVE 01a: 27 total, 9 active, Scout (melee only) { Name "wave01a" Where spawnbot TotalCount 1 MaxActive 1 SpawnCount 1 TotalCurrency 200 FirstSpawnOutput { Target A_door_open Action Trigger } TFBot { Template T_TFBot_Giant_Demo_Burst Attributes SuppressFire FireWeapon //Periodically fires weapon { Delay 12 Cooldown 6 Repeats 0 Duration 1 Type "Primary" } FireInput { Target "spawnbot_tunnel" Action "Enable" Delay 12 Cooldown 6 Repeats 0 } FireInput { Target "karen_timer" Action "Enable" Delay 12 Cooldown 6 Repeats 0 } FireInput { Target "spawnbot_tunnel" Action "Disable" Delay 13 Cooldown 6 Repeats 0 } FireInput { Target "karen_timer" Action "Disable" Delay 13 Cooldown 6 Repeats 0 } SpawnTemplate { Name "KarenTeleTarget" Bone "bip_head" } ItemAttributes { ItemName "TF_WEAPON_GRENADELAUNCHER" "faster reload rate" 0.8 "fire rate bonus" 0.2 "clip size upgrade atomic" 4 // "override projectile type" 7 } } } WaveSpawn { Name "support_scout" Where spawnbot_tunnel TotalCount 1 MaxActive 8 SpawnCount 1 WaitBetweenSpawns 0.12 Support 1 RandomChoice { Squad { TFBot { Class Scout Skill Hard WeaponRestrictions MeleeOnly Tag karen_scout } } } } } Wave { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action trigger } WaitWhenDone 65 Checkpoint Yes SpawnTemplate "MultiTankTest" WaveSpawn { TotalCount 1 Name "wank_multi_start" WaitBeforeStarting 1 FirstSpawnOutput { Target boss_spawn_relay Action Trigger } Tank { Name "wank_multi_start" Health 1500 Speed 75 StartingPathTrackNode "multipath_1" SpawnTemplate "MultiTankParent" MaxTurnRate 9999999 OnKilledOutput { Target boss_dead_relay Action Trigger } OnKilledOutput { Target multi_tank_next Action Trigger } OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn { TotalCount 1 Name "tank_multi_2" WaitForAllDead "wank_multi_start" WaitBeforeStarting 0.2 FirstSpawnOutput { Target boss_spawn_relay Action Trigger } Tank { Name "tank_multi_next" Health 1000 Speed 100 Scale 0.8 StartingPathTrackNode "multipath_1" MaxTurnRate 9999999 OnKilledOutput { Target boss_dead_relay Action Trigger } OnKilledOutput { Target multi_tank_next Action Trigger } OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn { TotalCount 1 Name "tank_multi_3" WaitForAllDead "tank_multi_2" WaitBeforeStarting 0.2 FirstSpawnOutput { Target boss_spawn_relay Action Trigger } Tank { Name "tank_multi_next" Health 750 Speed 150 Scale 0.6 StartingPathTrackNode "multipath_1" MaxTurnRate 9999999 OnKilledOutput { Target boss_dead_relay Action Trigger } OnKilledOutput { Target multi_tank_next Action Trigger } OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn { TotalCount 1 Name "tank_multi_4" WaitForAllDead "tank_multi_3" WaitBeforeStarting 0.2 FirstSpawnOutput { Target boss_spawn_relay Action Trigger } Tank { Name "tank_multi_next" Health 400 Speed 250 Scale 0.5 StartingPathTrackNode "multipath_1" MaxTurnRate 9999999 OnKilledOutput { Target boss_dead_relay Action Trigger } OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } } }