// Mission file made by Sergeant Table, Conga Dispenser and PDA Expert. // To Action One By One by OrangeGlazer and Rusty Yet Pristine by SnurperBob // Drill Tank models by Charlie/MadMinerMonkey // RobotFactory by Charlie // This mission file is part of the Termination campaign in collaboration with B855, Charlie/MadMinerMonkey, Conga Dispenser, Claudz, PDA Expert, OrangeGlazer and Snurper Bob. #base robot_giant.pop #base robot_standard.pop #base robot_standard_red.pop #base robot_giant_red.pop //Add info_target to tank and interrupt action to bots so bots do not target players at spawn population { StartingCurrency 2000 RespawnWaveTime 3 CanBotsAttackWhileInSpawnRoom No AddSentryBusterWhenDamageDealtExceeds 3000 AddSentryBusterWhenKillCountExceeds 10 reversewinconditions 1 RobotLimit 40 AllowBotExtraSlots 1 WaveStartCountdown 3 enemyteamforreverse blue PrecacheModel "models/props_frontline/splosivebarrel.mdl" PrecacheModel "models/robot_factory/monorail_tank.mdl" PrecacheModel "models/robot_factory/monorail_tank_damage1.mdl" PrecacheModel "models/robot_factory/monorail_tank_damage2.mdl" PrecacheModel "models/robot_factory/monorail_tank_damage3.mdl" DisableSound "music.mvm_end_last_wave" DisableSound "music.mvm_end_mid_wave" DisableSound "music.mvm_end_tank_wave" DisableSound "music.mvm_end_wave" DisableSound "music.mvm_lost_wave" DisableSound "music.mvm_start_last_wave" DisableSound "music.mvm_start_mid_wave" DisableSound "music.mvm_start_tank_wave" DisableSound "music.mvm_start_wave" DisableSound "Announcer.MVM_Get_To_Upgrade" DisableSound "Announcer.MVM_Spy_Alert" DisableSound "Announcer.mvm_spybot_death" DisableSound "Announcer.mvm_spybot_death_all" DisableSound "Announcer.MVM_First_Wave_Start" DisableSound "Announcer.MVM_Wave_Start" DisableSound "Announcer.MVM_Wave_End" DisableSound "Announcer.MVM_Wave_Lose" DisableSound "Announcer.MVM_Final_Wave_Start" DisableSound "Announcer.MVM_Final_Wave_End" DisableSound "Announcer.MVM_Robots_Planted" DisableSound "Announcer.MVM_All_Dead" DisableSound "Announcer.MVM_Bomb_Alert_Entered" DisableSound "Announcer.MVM_Bomb_Alert_Near_Hatch" DisableSound "Announcer.MVM_Bomb_Alert_Deploying" DisableSound "Announcer.MVM_Sentry_Buster_Alert" DisableSound "Announcer.MVM_Sentry_Buster_Alert_Another" DisableSound "Announcer.MVM_General_Wave_Start" DisableSound "Announcer.MVM_Game_Over_Loss" DisableSound "Announcer.MVM_Tank_Planted" DisableSound "Announcer.MVM_Tank_Alert_Spawn" DisableSound "Announcer.MVM_Tank_Alert_Another" DisableSound "Announcer.MVM_Tank_Alert_Multiple" DisableSound "Announcer.MVM_Tank_Alert_Halfway" DisableSound "Announcer.MVM_Tank_Alert_Halfway_Multiple" DisableSound "Announcer.MVM_Tank_Alert_Near_Hatch" DisableSound "Announcer.MVM_Tank_Alert_Deploying" DisableSound "Announcer.RoundBegins1Seconds" DisableSound "Announcer.RoundBegins2Seconds" DisableSound "Announcer.RoundBegins3Seconds" DisableSound "Announcer.RoundEnds1Seconds" DisableSound "Announcer.RoundEnds2Seconds" DisableSound "Announcer.RoundEnds3Seconds" PrecacheGeneric "materials/hud/leaderboard_class_dead_heat_blue_nys.vmt" PrecacheGeneric "materials/hud/leaderboard_class_dead_heat_blue_nys.vtf" PrecacheGeneric "materials/hud/leaderboard_class_dead_heat_red_nys.vmt" PrecacheGeneric "materials/hud/leaderboard_class_dead_heat_red_nys.vtf" PrecacheGeneric "materials/temp_vmts/ibeam001_medium.vmt" PrecacheGeneric "materials/temp_vmts/ibeam001b.vmt" PrecacheGeneric "materials/temp_vmts/metalgrate011a.vmt" PrecacheGeneric "materials/temp_vmts/metaltruss001.vmt" PrecacheGeneric "materials/models/bots/pyro/thermal_pyro/pyro_bot_armour_blue.vtf" PrecacheGeneric "materials/models/bots/pyro/thermal_pyro/pyro_bot_armour_red.vtf" PrecacheGeneric "materials/models/bots/pyro/thermal_pyro/pyro_bot_armour_blue.vmt" PrecacheGeneric "materials/models/bots/pyro/thermal_pyro/pyro_bot_armour_red.vmt" PrecacheGeneric "materials/models/bots/pyro/thermal_pyro/pyro_bot_fan_blue_fire.vtf" PrecacheGeneric "materials/models/bots/pyro/thermal_pyro/pyro_bot_fan_red_fire.vtf" PrecacheGeneric "materials/models/bots/pyro/thermal_pyro/pyro_bot_fan_blue_ice.vtf" PrecacheGeneric "materials/models/bots/pyro/thermal_pyro/pyro_bot_fan_red_ice.vtf" PrecacheGeneric "materials/models/bots/pyro/thermal_pyro/pyro_bot_fan_blue_fire.vmt" PrecacheGeneric "materials/models/bots/pyro/thermal_pyro/pyro_bot_fan_red_fire.vmt" PrecacheGeneric "materials/models/bots/pyro/thermal_pyro/pyro_bot_fan_blue_ice.vmt" PrecacheGeneric "materials/models/bots/pyro/thermal_pyro/pyro_bot_fan_red_ice.vmt" PrecacheGeneric "materials/models/bots/pyro/thermal_pyro/pyro_bot_turbine_blue_fire.vmt" PrecacheGeneric "materials/models/bots/pyro/thermal_pyro/pyro_bot_turbine_blue_ice.vmt" PrecacheGeneric "materials/models/bots/pyro/thermal_pyro/pyro_bot_turbine_red_fire.vmt" PrecacheGeneric "materials/models/bots/pyro/thermal_pyro/pyro_bot_turbine_red_ice.vmt" PrecacheGeneric "materials/models/bots/pyro/thermal_pyro/pyro_bot_turbine_blue_fire.vtf" PrecacheGeneric "materials/models/bots/pyro/thermal_pyro/pyro_bot_turbine_blue_ice.vtf" PrecacheGeneric "materials/models/bots/pyro/thermal_pyro/pyro_bot_turbine_red_fire.vtf" PrecacheGeneric "materials/models/bots/pyro/thermal_pyro/pyro_bot_turbine_red_ice.vtf" PrecacheGeneric "materials/models/bots/pyro/thermal_pyro/pyro_bot_fan_illum.vtf" PrecacheGeneric "materials/models/bots/pyro/thermal_pyro/pyro_bot_turbine_illum.vtf" PrecacheModel "models/bots/pyro_boss/bot_thermal_pyro.mdl" PrecacheModel "models/watermine/drill_tank_dispenser.mdl" PrecacheModel "models/flags/scrap_metal_flag.mdl" PrecacheModel "models/watermine/drill_tank.mdl" PrecacheModel "models/watermine/drill_tank_damage1.mdl" PrecacheModel "models/watermine/drill_tank_damage2.mdl" PrecacheModel "models/watermine/drill_tank_damage3.mdl" PrecacheModel "models/robot_factory/robot_factory_generator_fixed.mdl" PrecacheSound "rusty_yet_pristine.mp3" PrecacheSound "denominator/drill2.wav" PrecacheSound "act_2_wave_1.mp3" PrecacheSound "act_3_wave_1_placeholder.mp3" PrecacheSound "mobo_siren.wav" LuaScriptFile "tank_repair.lua" LuaScriptFile "scripts\crackass.lua" OverrideSounds { "MVM.GiantHeavyExplodes" "npc\env_headcrabcanister\explosion.wav" "MVM.GiantCommonExplodes" "npc\env_headcrabcanister\explosion.wav" } DisallowUpgrade "ubercharge" DisallowUpgrade "critboost" DisableSound "mvm\mvm_tank_deploy.wav" PlayerAttributes //Player attributes appied for the whole mission { Spy { "cannot pick up intelligence" 1 } } // Mission // { // Objective DestroySentries // Where spawnbotRedSpawnRight // BeginAtWave 1 // RunForThisManyWaves 7 // InitialCooldown 30 // CooldownTime 90 // DesiredCount 1 // TFBot // { // Template T_TFBot_SentryBuster // } // } PointTemplates { texttimerv2_setup { OnSpawnOutput { Target addtime Action setvalue Param -360 // timer(minutes,seconds) Delay 6 } } barrel_stuff { info_particle_system { "targetname" "particuladefuego" "parentname" "barrel" "effect_name" "burninggibs" "start_active" "1" "parentname" "barrel" } prop_dynamic { "TargetName" "barrildefuego" "model" "models/props_frontline/splosivebarrel.mdl" "rendermode" "1" "solid" "0" "angles" "0 0 85" "origin" "0 20 12" "parentname" "barrel" "modelscale" "0.6" } KeepAlive 1 item_teamflag { "targetname" "barrel" "TeamNum" "2" "OnReturn" "!self,Kill,,0,-1" "flag_model" "models/empty.mdl" "OnPickup1" "!activatorRunScriptCodeClientPrint(self, 4, `YOU PICKED UP A FIRE BARREL, DROP IT ON THE BOSS' ICE SHIELD`)0-1" } OnParentKilledOutput { Target barrel Action Enable } OnParentKilledOutput { Target barrel Action SetTeam Param 3 } OnCapture { Target barrel Action Kill } } boss_logic { OnSpawnOutput { Target bossiceshield Action Trigger Delay 15 } OnSpawnOutput { Target @p@boss_thingy Action $ChangeAttributes Param test_freeze Delay 16 } OnSpawnOutput { Target boss_thingy Action SetParent Param "!activator" Delay 0.05 } OnSpawnOutput { Target temporary_solution Action $SetOwner Param "@p@boss_thingy" Delay 2 } info_target { "TargetName" "boss_thingy" "origin" "0 0 0" } prop_dynamic { "TargetName" "iceshield" "model" "models\props_moonbase\moon_cube_crystal07.mdl" "renderamt" "125" "rendermode" "1" "solid" "0" "origin" "0 0 15" "startdisabled" 1 } logic_relay { "targetname" "bossiceshield" "OnTrigger" "tf_gamerules,PlayVO,vo\mvm\mght\pyro_mvm_m_jeers01.mp3,0.5,-1" "OnTrigger" "incomingshield,start,,0,-1" "OnTrigger" "incomingshield2,start,,1,-1" "OnTrigger" "incomingshield3,start,,4,-1" "OnTrigger" "iceshield,enable,,4,-1" "Ontrigger" "tf_gamerules,PlayVO,weapons\icicle_freeze_victim_01.wav,3.7,-1" "OnTrigger" "aceptaelbarril,enable,,4,-1" "OnTrigger" "@p@boss_thingyRunScriptCodeself.AddCustomAttribute(`move speed bonus`,0.3,-1)4-1" "OnTrigger" "@p@boss_thingyRunScriptCodeself.AddCustomAttribute(`dmg taken increased`,0.4,-1)4-1" } info_particle_system { "targetname" "incomingshield" "effect_name" "utaunt_snowfall_parent" "origin" "0 0 0" } info_particle_system { "targetname" "incomingshield" "effect_name" "utaunt_snowfall_parent" "origin" "0 0 0" } info_particle_system { "targetname" "incomingshield3" "effect_name" "xms_snowburst" "origin" "0 0 60" } info_particle_system { "targetname" "incomingshield2" "effect_name" "utaunt_snowring_space_wind" "origin" "0 0 120" } info_particle_system { "targetname" "incomingshield2" "effect_name" "utaunt_snowring_space_wind" "origin" "0 0 110" } info_particle_system { "targetname" "incomingshield2" "effect_name" "utaunt_snowring_space_wind" "origin" "0 0 100" } info_particle_system { "targetname" "incomingshield2" "effect_name" "utaunt_snowring_space_wind" "origin" "0 0 90" } info_particle_system { "targetname" "incomingshield2" "effect_name" "utaunt_snowring_space_wind" "origin" "0 0 80" } info_particle_system { "targetname" "incomingshield2" "effect_name" "utaunt_snowring_space_wind" "origin" "0 0 70" } info_particle_system { "targetname" "incomingshield2" "effect_name" "utaunt_snowring_space_wind" "origin" "0 0 60" } info_particle_system { "targetname" "incomingshield2" "effect_name" "utaunt_snowring_space_wind" "origin" "0 0 50" } info_particle_system { "targetname" "incomingshield2" "effect_name" "utaunt_snowring_space_wind" "origin" "0 0 40" } info_particle_system { "targetname" "incomingshield2" "effect_name" "utaunt_snowring_space_wind" "origin" "0 0 30" } info_particle_system { "targetname" "incomingshield2" "effect_name" "utaunt_snowring_space_wind" "origin" "0 0 20" } info_particle_system { "targetname" "incomingshield2" "effect_name" "utaunt_snowring_space_wind" "origin" "0 0 10" } func_flagdetectionzone { "targetname" "aceptaelbarril" "mins" "-150 -150 -60" "maxs" "150 150 60" "OnStartTouchFlag" "@p@boss_thingy,$TakeDamage,10000,0,-1" "OnStartTouchFlag" "deploydebarrel,Enable,,0,-1" "OnStartTouchFlag" "deploydebarrel,Disable,,0.1,-1" "OnStartTouchFlag" "tf_gamerules,PlayVO,vo\mvm\mght\pyro_mvm_m_painsevere02.mp3,0.5,-1" "OnStartTouchFlag" "tf_gamerules,PlayVO,vo\mvm\mght\pyro_mvm_m_painsevere02.mp3,0.5,-1" "OnStartTouchFlag" "tf_gamerules,PlayVO,player\flame_out.wav,0,-1" "OnStartTouchFlag" "tf_gamerules,PlayVO,weapons\icicle_melt_01.wav,0,-1" "OnStartTouchFlag" "iceshield,disable,,0.1,-1" "OnStartTouchFlag" "incomingshield*,stop,,0.1,-1" "OnStartTouchFlag" "callateputa,enable,,0.1,-1" "OnStartTouchFlag" "callateputa,disable,,0.2,-1" "OnStartTouchFlag" "tf_gamerules,PlayVO,ambient\explosions\explode_7.wav,0,-1" "OnStartTouchFlag" "@p@boss_thingyRunScriptCodeself.AddCustomAttribute(`move speed bonus`,0.5,-1)0-1" "OnStartTouchFlag" "@p@boss_thingyRunScriptCodeself.AddCustomAttribute(`dmg taken increased`,1.001,-1)0-1" "startdisabled" "1" } filter_tf_bot_has_tag { "Negated" "0" "require_all_tags" "1" "tags" "is_chief" "targetname" "filter_chief" "origin" "0 0 0" } trigger_stun { "move_speed_reduction" "0" "origin" "0 0 0" "spawnflags" "1" "StartDisabled" "1" "filtername" "filter_chief" "stun_duration" "5" "stun_effects" "0" "stun_type" "1" "targetname" "callateputa" "trigger_delay" "0" "mins" "-117 -99 -140" "maxs" "117 99 140" } func_respawnflag { StartDisabled 1 "targetname" "deploydebarrel" "mins" "-300 -200 -60" "maxs" "300 200 60" "ReturnTime" "15" } } steamhappey { logic_relay { "targetname" "Wave5Relay" } logic_relay { "targetname" "wallahigokaboom" "OnTrigger" "the_funny_man_boss,setplaybackrate,0.6,0.1,-1" "OnTrigger" "the_funny_man_boss*,turnon,0,0.3,-1" "OnTrigger" "the_funny_man_actual,turnon,0,0.3,-1" "OnTrigger" "the_funny_man_boss,kill,,5,-1" "OnTrigger" "the_funny_man,kill,,0.3,-1" "OnTrigger" "incomingboss,start,,4.8,-1" "OnTrigger" "abrawlissurelybrewing,startshake,,4.9,-1" "OnTrigger" "tf_gamerules,PlayVO,vo\mvm\mght\pyro_mvm_m_laughevil01.mp3,4.5,-1" "OnTrigger" "tf_gamerules,PlayVO,vo\mvm\mght\pyro_mvm_m_laugh_addl04.mp3,0.5,-1" "OnTrigger" "tf_gamerules,PlayVO,mvm\giant_soldier\giant_soldier_explode.wav,5,-1" "OnTrigger" "tf_gamerules,PlayVO,mvm/giant_heavy/giant_heavy_entrance.wav,4.5,-1" "OnTrigger" "tf_gamerules,PlayVO,npc\combine_gunship\ping_patrol.wav,5.4,-1" // "OnTrigger" "tf_gamerules,PlayVO,hatred_of_human_mankind.mp3,0,-1" "OnTrigger" "tf_gamerules,PlayVO,mobo_siren.wav,0,-1" "OnTrigger" "tf_gamerules,PlayVO,mobo_siren.wav,2,-1" "OnTrigger" "tf_gamerules,PlayVO,mobo_siren.wav,4,-1" "OnTrigger" "tf_gamerules,PlayVO,mobo_siren.wav,6,-1" "OnTrigger" "tf_gamerules,PlayVO,mobo_siren.wav,8,-1" "OnTrigger" "tf_gamerules,PlayVO,mobo_siren.wav,10,-1" "OnTrigger" "tf_gamerules,PlayVO,mobo_siren.wav,12,-1" "OnTrigger" "tf_gamerules,PlayVO,mobo_siren.wav,14,-1" } info_particle_system { "targetname" "incomingboss" "effect_name" "mvm_tank_destroy" "origin" "1715 261 107" } } canister { RemoveIfKilled can OnSpawnOutput { Target can Action FireUser1 Delay 0.2 } OnSpawnOutput { Target can Action Kill Delay 10 } OnSpawnOutput { Target can Action $playsound Param "npc/waste_scanner/grenade_fire.wav" Delay 0.015 } prop_physics_multiplayer { "targetname" "can" "parentname" "" "model" "models/props_junk/propanecanister001a.mdl" "physicsmode" "2" "onuser1" "!self,fireuser1,0,0.12,14" "onuser1" "flametemplate,forcespawnatentityorigin,location,0,-1" "overridescript" "$inertia,0,$mass,100000" } info_target { "targetname" "location" "parentname" "can" } } canister2 { KeepAlive 1 OnParentKilledOutput { Target flametemplate Action ForceSpawnAtEntityOrigin Param location } OnParentKilledOutput { Target location Action Kill Delay 1 } info_target { "targetname" "location" } } flametemplate { RemoveIfKilled "firetrigger" OnSpawnOutput { Target firetrigger Action $setowner Param namedbot Delay 0.015 } OnSpawnOutput { Target firetrigger Action Kill Delay 4 } OnSpawnOutput { Target firetrigger Action Enable Delay 0.03 } OnSpawnOutput { Target firetrigger Action $playsound Param "=90|ambient/fire/mtov_flame2.wav" Delay 0.015 } OnSpawnOutput { Target gods_worst_hack Action $setprop$m_CollisionGroup Param 1 Delay 0.015 } $bot_npc { "targetname" "gods_worst_hack" "parentname" "" "$model" "models/empty.mdl" "model" "models/empty.mdl" "rendermode" "10" "teamnum" "3" "deatheffecttype" "none" "$hurtsound" "misc/null.wav" "$deathsound" "misc/null.wav" "collisiongroup" "1" "solid" "0" "$notsolidtoplayers" "1" } info_particle_system { "targetname" "fireparticle" "parentname" "gods_worst_hack" "effect_name" "lava_fireball_01" "start_active" "1" } trigger_hurt { "targetname" "firetrigger" "parentname" "gods_worst_hack" "mins" "-60 -60 -60" "maxs" "60 60 60" "damagetype" "8" "damage" "40" "startdisabled" "1" "spawnflags" "64" "onhurtplayer" "!activator,$igniteplayerduration,5,0,-1" "$killicon" "firedeath" "filtername" "filter_red" } } canisterfreeze { KeepAlive 1 OnParentKilledOutput { Target freezetemplate Action ForceSpawnAtEntityOrigin Param location } OnParentKilledOutput { Target location Action Kill Delay 3 } OnParentKilledOutput { Target freezeparticle Action kill Delay 3 } info_target { "targetname" "location" } } freezetemplate { RemoveIfKilled "freezehurt" OnSpawnOutput { Target freezehurt Action $setowner Param namedbot Delay 0.015 } OnSpawnOutput { Target freezehurt Action Kill Delay 6 } OnSpawnOutput { Target freezehurt Action Enable Delay 0.03 } OnSpawnOutput { Target freezehurt Action $playsound Param "=90|weapons\icicle_freeze_victim_01.wav" Delay 0.015 } OnSpawnOutput { Target trollerofmontenegro Action $setprop$m_CollisionGroup Param 1 Delay 0.015 } $bot_npc { "targetname" "trollerofmontenegro" "parentname" "" "$model" "models/empty.mdl" "model" "models/empty.mdl" "rendermode" "10" "teamnum" "3" "deatheffecttype" "none" "$hurtsound" "misc/null.wav" "$deathsound" "misc/null.wav" "collisiongroup" "1" "solid" "0" "$notsolidtoplayers" "1" } info_particle_system { "targetname" "freezeparticle" "parentname" "trollerofmontenegro" "effect_name" "xms_icicle_impact_dryice" "start_active" "1" } info_particle_system { "targetname" "freezeparticle" "parentname" "trollerofmontenegro" "effect_name" "xms_icicle_impact_dryice" "start_active" "1" } info_particle_system { "targetname" "freezeparticle" "parentname" "trollerofmontenegro" "effect_name" "xms_icicle_impact_dryice" "start_active" "1" "origin" "0 0 30" } info_particle_system { "targetname" "freezeparticle" "parentname" "trollerofmontenegro" "effect_name" "unusual_symbols_parent_ice" "start_active" "1" } trigger_hurt { "targetname" "freezehurt" "parentname" "trollerofmontenegro" "mins" "-60 -60 -60" "maxs" "60 60 60" "damagetype" "131072" "damage" "20" "startdisabled" "1" "spawnflags" "64" "$killicon" "firedeath" "filtername" "redteam" } } wave4setup { logic_relay { "targetname" "oleada4" "OnTrigger" "RouteB1barrier,kill,,0,-1" "OnTrigger" "RouteC2barrier,kill,,0,-1" "OnTrigger" "RouteDEbarrier*,kill,,0,-1" "OnTrigger" "forcefield*,kill,,0,-1" "OnTrigger" "SetupBlueBarrier,kill,,0,-1" "OnTrigger" "generatedeez,kill,,0,-1" "OnTrigger" "red_spawn_security_door,open,,0.5,-1" "OnTrigger" "red_spawn_security_door,setspeed,2000,0,-1" "OnTrigger" "Relay_D,trigger,,0,-1" "OnTrigger" "red_spawn_point_normal*,Enable,,1,-1" "OnTrigger" "red_spawn_point_rev*,Disable,,1,-1" "OnTrigger" "telezone_3,enable,,0.4,-1" "OnTrigger" "telezone_3,disable,,0.5,-1" "OnTrigger" "red_normal_mission_relay,trigger,,0.1,-1" "OnTrigger" "drill_tank_prop,kill,,0,-1" "OnTrigger" "upgradetp*,kill,,0,-1" "OnTrigger" "spawnbot*,enable,,10,-1" "OnTrigger" "spawnbotreddit,disable,,11,-1" "OnTrigger" "tf_objective_resource,$SetClientProp$m_iszMvMPopfileName,TERMINATION - INDUSTRIAL SABOTAGE,1,-1" "OnTrigger" "boss_deploy_relay,AddOutput,ontrigger payloadtank:removehealth:99999:0:-1,0,-1" "OnTrigger" "boss_deploy_relay,AddOutput,ontrigger monotank:removehealth:99999:0:-1,0,-1" } logic_relay { "targetname" "timeforarealbrawl" "OnTrigger" "musicforw4,disable,,0,1" "OnTrigger" "protect_the_engi,FadeOut,3,0,1" "OnTrigger" "spawnbotreddit,enable,,0,1" "OnTrigger" "spawnbot*,disable,,0.6,1" "OnTrigger" "spawnbot*,enable,,11.6,1" "OnTrigger" "cleanupbots,enable,,0,1" "OnTrigger" "cleanupbots,disable,,1,-1" "OnTrigger" "player,SetHUDVisibility,0,0,1" "OnTrigger" "player,SetHUDVisibility,1,11.4,1" "OnTrigger" "camera2,$EnableAll,,0.7,1" "OnTrigger" "camera2,$DisableAll,,11.4,1" "OnTrigger" "fadetest,trigger,,0,1" "OnTrigger" "fadetest,trigger,,1.5,1" "OnTrigger" "fadetest,trigger,,3,1" "OnTrigger" "fadetest,trigger,,4.5,1" "OnTrigger" "fadetest,trigger,,6,-1" "OnTrigger" "fadetest,trigger,,7.5,1" "OnTrigger" "fadetest,trigger,,9,1" "OnTrigger" "fadetest,trigger,,10.5,1" "OnTrigger" "pyromdl1,color,255 0 0,6.7,1" "OnTrigger" "the_funny_man,setplaybackrate,1,6.7,1" "OnTrigger" "the_funny_man,setanimation,Run_PRIMARY,9.8,1" "OnTrigger" "tf_gamerules,PlayVO,mvm/mvm_deploy_giant.wav,9.5,1" "OnTrigger" "tf_gamerules,PlayVO,vo\mvm\mght\pyro_mvm_m_laughevil01.mp3,11.4,1" "OnTrigger" "smoke,kill,,9.3,1" "OnTrigger" "tf_gamerules,PlayVO,music\stingers\hl1_stinger_song8.mp3,6.7,1" "OnTrigger" "tf_gamerules,PlayVO,music\stingers\hl1_stinger_song8.mp3,6.7,1" "OnTrigger" "tf_gamerules,PlayVO,mobo_siren.wav,0,1" "OnTrigger" "tf_gamerules,PlayVO,mobo_siren.wav,1.75,1" "OnTrigger" "tf_gamerules,PlayVO,mobo_siren.wav,3.50,1" "OnTrigger" "tf_gamerules,PlayVO,mobo_siren.wav,5.25,1" "OnTrigger" "tf_gamerules,PlayVO,mobo_siren.wav,7.50,1" "OnTrigger" "tf_gamerules,PlayVO,mobo_siren.wav,9.25,1" } logic_relay { "targetname" "fadetest" "OnTrigger" "noob,fade,,0,-1" "OnTrigger" "noob2,fade,,0.7,-1" } env_fade { "targetname" "noob" "duration" "0.7" "holdtime" "0.2" "rendercolor" "0 0 0" "spawnflags" "0" } env_fade { "targetname" "noob2" "duration" "0.7" "holdtime" "0.2" "rendercolor" "0 0 0" "spawnflags" "1" } point_viewcontrol { "acceleration" "0" "deceleration" "0" "interpolatepositiontoplayer" "0" "spawnflags" "4" "speed" "0" "wait" "10" "targetname" "camera2" "origin" "1730 295 74" "angles" "-68 -48 0" } } unstablecharge { OnSpawnOutput { Target popscript Action "$unstablesetup" } OnParentKilledOutput { Target boomtime Action Trigger } trigger_ignite { "targetname" "blastzone" "origin" "0 0 0" "angles" "0 0 0" "mins" "-270 -270 -120" "maxs" "270 270 600" "spawnflags" "1" "burn_duration" "7" "damage_percent_per_second" "25" "filtername" "redteam" "StartDisabled" "1" } KeepAlive 1 filter_activator_tfteam { "targetname" "redteam" "teamnum" "2" } KeepAlive 1 logic_relay { "targetname" "boomtime" "ontrigger" "blastzone,Enable,,0,-1" "ontrigger" "blastzone,Kill,,4,-1" "ontrigger" "buffzone,Enable,,0,-1" "ontrigger" "buffzone,Kill,,0.5,-1" "OnTrigger" "bigblast,start,,0,-1" "OnTrigger" "bigblast,Kill,,4,-1" "OnTrigger" "shake,StartShake,,0,-1" "OnTrigger" "shake,Kill,,2,-1" "OnTrigger" "!self,Kill,,5,-1" } KeepAlive 1 info_particle_system { "targetname" "bigblast" "origin" "0 0 90" "angles" "0 0 0" "effect_name" "cinefx_goldrush" } KeepAlive 1 env_shake { "targetname" "shake" "amplitude" "7" "duration" "1.5" "frequency" "255" "radius" "300" "spawnflags" "4" } } wave4_thinguses { OnSpawnOutput { Target spawnbotReddit Action Disable Delay 0.1 } logic_relay { "targetname" "cmonrobots" "OnTrigger" "incomingbomb,show,,0,-1" "OnTrigger" "tf_gamerules,PlayVO,mvm\mvm_warning.wav,0,-1" "OnTrigger" "tf_gamerules,PlayVO,mvm\mvm_warning.wav,0,-1" "OnTrigger" "protect_the_engi,playsound,,1,-1" "OnTrigger" "musicforw4,enable,,1,-1" "OnTrigger" "abrawlissurelybrewing,startshake,,0,-1" "OnTrigger" "carrier_door_front_open_relay,trigger,,0,-1" "OnTrigger" "protectthisn,show,,10,-1" "OnTrigger" "tf_gamerules,PlayVO,misc\doomsday_lift_start.wav,1,1" "OnTrigger" "tf_gamerules,PlayVO,misc\doomsday_lift_start.wav,1,1" } logic_timer { "Ontimer" "protect_the_engi,stopsound,,0.1,-1" "Ontimer" "protect_the_engi,playsound,,0.2,-1" "targetname" "musicforw4" "RefireTime" "130" "StartDIsabled" "1" } ambient_generic { "targetname" "protect_the_engi" "message" "act_3_wave_1_placeholder.mp3" "health" "10" "pitch" "100" "spawnflags" "17" } training_annotation { "targetname" "unstablebots" "lifetime" "6" "display_text" "Unstable Giants will blow up on low health!" "origin" "-1808 2636 209" } training_annotation { "targetname" "incomingbomb" "lifetime" "6" "display_text" "The robots have brought in a nuclear bomb!" "origin" "-1808 2636 209" } env_fade { "targetname" "panic_fade" "angles" "0 0 0" "duration" "0.30" "holdtime" "0.250" "renderamt" "20" "rendercolor" "255 0 0" "spawnflags" "9" } logic_relay { "targetname" "panic_subwave_incoming" "OnTrigger" "tf_gamerules,PlayVO,ambient\alarms\klaxon1.wav,0.05,-1" "OnTrigger" "tf_gamerules,PlayVO,ambient\alarms\klaxon1.wav,0.75,-1" "OnTrigger" "tf_gamerules,PlayVO,ambient\alarms\klaxon1.wav,1.45,-1" "OnTrigger" "tf_gamerules,PlayVO,ambient\alarms\klaxon1.wav,2.15,-1" "OnTrigger" "tf_gamerules,PlayVO,mvm\mvm_warning.wav,0,-1" "OnTrigger" "tf_gamerules,PlayVO,mvm\mvm_warning.wav,0,-1" "OnTrigger" "panic_fade,fade,,0.05" "OnTrigger" "panic_fade,fade,,0.75" "OnTrigger" "panic_fade,fade,,1.45" "OnTrigger" "panic_fade,fade,,2.15" } ///trigger_multiple ///{ /// "targetname" "red_engi_is_sad_it_cant_build_steamsad" /// "origin" "1262 -3026 0" /// "mins" "-300 -300 -300" /// "maxs" "300 300 300" /// "StartDisabled" "1" /// "filtername" "stopthebloodytimer" /// "spawnflags" "64" /// "OnStartTouchAll" "realtimer,cancelpending,,0,-1" /// "OnStartTouchAll" "red_engi_can_build_steamhappy,toggle,,0,-1" /// "OnStartTouchAll" "red_engi_is_sad_it_cant_build_steamsad,toggle,,0,-1" ///} /// trigger_multiple ///{ /// "targetname" "red_engi_can_build_steamhappy" /// "origin" "1262 -3026 0" /// "mins" "-300 -300 -300" /// "maxs" "300 300 300" /// "StartDisabled" "1" /// "filtername" "startthebloodytimer" /// "spawnflags" "64" /// "OnStartTouchAll" "realtimer,trigger,,0,-1" /// "OnStartTouchAll" "red_engi_is_sad_it_cant_build_steamsad,toggle,,0,-1" /// "OnStartTouchAll" "red_engi_can_build_steamhappy,toggle,,0,-1" ///} logic_relay { "targetname" "loserrelay" "startdisabled" "1" "ontrigger" "GETTHEFUCKOUT,trigger,,2,1" "ontrigger" "realtimer,cancelpending,,2,-1" "onspawn" "wave_start*,addoutput,ontrigger realtimer:trigger::0:-1,0,-1" "onspawn" "wave_finish*,addoutput,ontrigger realtimer:cancelpending::0:-1,0,-1" "onspawn" "wave_finish*,addoutput,ontrigger loserrelay:cancelpending::0:-1,0,-1" } logic_relay { "targetname" "GETTHEFUCKOUT" "OnTrigger" "gettothepayload,show,,0,-1" "OnTrigger" "abrawlissurelybrewing,startshake,,0,-1" "OnTrigger" "tf_gamerules,PlayVO,misc/cp_harbor_blue_whistle.wav,0,-1" "OnTrigger" "tf_gamerules,PlayVO,vo\mvm\norm\engineer_mvm_laughlong01.mp3,8,-1" "OnTrigger" "tf_gamerules,PlayVO,vo\mvm\norm\engineer_mvm_wranglekills02.mp3,12.5,-1" "OnTrigger" "tf_gamerules,PlayVO,vo\mvm\norm\engineer_mvm_gunslingertriplepunchfinal01.mp3,15,-1" "OnTrigger" "tf_gamerules,PlayVO,weapons\rescue_ranger_teleport_receive_02.wav,16.7,-1" "ontrigger" "spawnbotreddit,enable,,0,-1" "ontrigger" "spawnbotreddit,disable,,0.1,-1" "OnTrigger" "red_lose_relay,disable,,0,-1" "OnTrigger" "red_lose_relay,Enable,,25,-1" } training_annotation { "targetname" "protectthisn" "lifetime" "7" "display_text" "Protect your engineer bot! Australium payload will be ready in 4 mins." "origin" "1254 -3185 285" } training_annotation { "targetname" "gettothepayload" "lifetime" "10" "display_text" "The Australium Payload is ready to be escorted!" "origin" "1254 -3185 285" } NoFixup 1 math_counter { "targetname" "minutehand" "max" "9999" "outvalue" "timerformat,$setkey$case01,,0,-1" "onhitmin" "loserrelay,enable,,1,-1" } math_counter { "targetname" "secondhand" "max" "60" "outvalue" "timerformat,$setkey$case02,,0,-1" "outvalue" "zerocompare,setvaluecompare,,0,-1" "onhitmin" "loserrelay,trigger,,0,1" "onhitmin" "!self,setvalue,60,1,-1" "onhitmin" "minutehand,subtract,1,1,-1" } logic_compare { "targetname" "zerocompare" "comparevalue" "9" "onequalto" "timerformat,$setkey$case16,%:0%,0,-1" "ongreaterthan" "timerformat,$setkey$case16,%:%,0,-1" } logic_case { "targetname" "timerformat" "case16" "%:%" "ondefault" "timertext,$setkey$message,,0,-1" "ondefault" "timertext,display,0,0,-1" } game_text { "targetname" "timertext" "color" "65 155 255" "holdtime" "2" "spawnflags" "1" "x" "0.7" "y" "0.9" } logic_relay { "targetname" "realtimer" "spawnflags" "2" "ontrigger" "timerformat,$format,,0.01,-1" "ontrigger" "secondhand,subtract,1,0,-1" "ontrigger" "!self,trigger,,1,-1" } } wave4payload { prop_dynamic { "targetname" "tankrequirements" "model" "models/props_trainyard/bomb_cart_red.mdl" "angles" "0 180 0" "solid" "0" "origin" "0 0 28" } prop_dynamic { "targetname" "tankrequirementslegs" "model" "models/bots/boss_bot/tank_track_l.mdl" // "angles" "0 180 0" "solid" "0" "modelscale" "0.44" "origin" "0 35 0" "defaultanim" "forward" "playbackrate" "0.44" } prop_dynamic { "targetname" "tankrequirementslegs" "model" "models/bots/boss_bot/tank_track_l.mdl" // "angles" "0 180 0" "solid" "0" "modelscale" "0.44" "origin" "0 -35 0" "defaultanim" "forward" "playbackrate" "0.44" } //The healing rad dispenser_touch_trigger { "targetname" "healzonerange" "origin" "0 0 0" "mins" "-350 -350 -500" "maxs" "350 350 500" "filtername" "red_filter" } mapobj_cart_dispenser { "targetname" "healzone" "origin" "-30 0 50" "defaultupgrade" "2" "spawnflags" "14" "SolidToPlayer" "0" "touch_trigger" "healzonerange" "TeamNum" "2" "renderamt" "255" "rendercolor" "255 255 255" } } texttimerv2_simple { NoFixup 1 logic_compare { "targetname" "addtime" } logic_compare { "targetname" "settime" } game_text { "targetname" "timerdisplay" "channel" "4" "color" "0 255 255" "holdtime" "1" "spawnflags" "1" "x" "0.7" "y" "0.9" } game_round_win { "teamnum" "3" "targetname" "bots_win_red" "force_map_reset" "1" } logic_relay { "onspawn" "red_reverse_wave_start_relay*,addoutput,ontrigger timerdisplay:runscriptcode:AddThinkToSelf(`timerthink`):0:-1,0,-1" "onspawn" "red_reverse_wave_finished_relay*,addoutput,ontrigger timerdisplay:runscriptcode:AddThinkToSelf(null):0:-1,0,-1" "targetname" "timerpause" "ontrigger" "timerdisplay,callscriptfunction,timerpause,0,-1" } } DrillTankV2 { OnSpawnOutput { Target "drill_tank_prop" Action Kill } logic_relay { "targetname" "tank_drill" "onspawn" "!parent,addoutput,onuser4 @c@!self:fireuser1::0:-1,0,-1" } trigger_brush { "targetname" "drill_trap" "origin" "182 0 86" "mins" "0 -25 -50" "maxs" "50 25 30" "onuser1" "!self,disable,,0,-1" } // filter_activator_team // { // "targetname" "drilltankfilter" // "TeamNum" "3" // } trigger_multiple { "targetname" "drill_hurt" "origin" "182 0 86" "mins" "-50 -40 -50" "maxs" "50 40 50" "spawnflags" "1" // "filtername" "drilltankfilter" //Cannot work as red players can get clipped into the tank. May be worth while to look at other viable options to stop red from getting killed by their own tank. "ontrigger" "driller,SetSpeed,25,0,-1" "ontrigger" "!activator,bleedplayer,1,0,-1" "ontrigger" "!activator,$takedamage,25,0,-1" "ontrigger" "!activator,$takedamage,25,0.25,-1" "ontrigger" "!activator,$takedamage,25,0.50,-1" "ontrigger" "!activator,$takedamage,25,0.75,-1" "ontrigger" "drill,Pitch,100,0,-1" "ontrigger" "drill2,Pitch,100,0.25,-1" "ontrigger" "drill3,Pitch,100,0.50,-1" "ontrigger" "drill4,Pitch,100,0.75,-1" "onendtouch" "driller,SetSpeed,75,0,-1" "wait" "0.1" "onuser1" "!self,disable,,0,-1" } ambient_generic { "targetname" "drill" "message" "ambient\grinder\grinderbot_01.wav" "health" "5" "pitch" "100" "pitchstart" "100" "radius" "5000" "spawnflags" "17" "sourceentityname" "!parent" "onuser1" "!self,stopsound,,0,-1" } ambient_generic { "targetname" "drill2" "message" "ambient\grinder\grinderbot_02.wav" "health" "5" "pitch" "100" "pitchstart" "100" "radius" "5000" "spawnflags" "17" "sourceentityname" "!parent" "onuser1" "!self,stopsound,,0,-1" } ambient_generic { "targetname" "drill3" "message" "ambient\grinder\grinderbot_03.wav" "health" "5" "pitch" "100" "pitchstart" "100" "radius" "5000" "spawnflags" "17" "sourceentityname" "!parent" "onuser1" "!self,stopsound,,0,-1" } ambient_generic { "targetname" "drill4" "message" "mvm\physics\robo_impact_hard_05.wav" "health" "5" "pitch" "100" "pitchstart" "100" "radius" "5000" "spawnflags" "17" "sourceentityname" "!parent" "onuser1" "!self,stopsound,,0,-1" } ambient_generic { "targetname" "drill_sound" "message" "ambient/sawblade.wav" "health" "5" "pitch" "60" "pitchstart" "60" "radius" "1000" "sourceentityname" "!parent" "onuser1" "!self,stopsound,,0,-1" } func_flagdetectionzone { "targetname" "drill_repairzone" "mins" "-300 -200 -60" "maxs" "300 200 60" "OnStartTouchFlag" "tank_boss,AddHealth,1500,0,-1" "OnStartTouchFlag" "drill_repairaccept,Enable,,0,-1" "OnStartTouchFlag" "drill_repairaccept,Disable,,0.1,-1" } func_respawnflag { StartDisabled 1 "targetname" "drill_repairaccept" "mins" "-300 -200 -60" "maxs" "300 200 60" "ReturnTime" "15" } dispenser_touch_trigger { "targetname" "drill_dispenserzone" "mins" "-300 -200 -60" "maxs" "300 200 60" } mapobj_cart_dispenser { "targetname" "drill_dispensertarget" "TeamNum" "2" "touch_trigger" "drill_dispenserzone" } prop_dynamic { "model" "models/watermine/drill_tank_dispenser.mdl" "origin" "0 0 25" "scale" "1.5" "skin" "1" "solid" "0" } } repairflag { KeepAlive 1 item_teamflag { "targetname" "scrapflag" "TeamNum" "2" "OnReturn" "!self,Kill,,0,-1" "StartDisabled" "1" "flag_model" "models/flags/scrap_metal_flag.mdl" "origin" "0 0 15" "OnPickup1" "!activatorRunScriptCodeClientPrint(self, 4, `YOU PICKED UP A PIECE OF SCRAP!`)0-1" } tf_glow { "GlowColor" "0 176 199 255" "target" "scrapflag" "targetname" "flag_glow" "startdisabled" "1" } OnParentKilledOutput { Target flag_glow Action Enable } OnParentKilledOutput { Target scrapflag Action Enable } OnParentKilledOutput { Target scrapflag Action SetTeam Param 3 } } corelogic { NoFixup 1 item_healthkit_medium { "targetname" "ammo_pack1" "angles" "0 0 0" "origin" "960 -1430 -1" } item_ammopack_medium { "targetname" "ammo_pack1" "angles" "0 0 0" "origin" "960 -1510 -1" } item_ammopack_full { "targetname" "ammo_pack1" "angles" "0 0 0" "origin" "-400 -1040 13" } item_ammopack_medium { "targetname" "ammo_pack1" "angles" "0 0 0" "origin" "353 -328 0" } item_healthkit_full { "targetname" "ammo_pack1" "angles" "0 0 0" "origin" "270 -328 0" } item_healthkit_medium { "targetname" "ammo_pack1" "angles" "0 0 0" "origin" "1973 444 80" } item_healthkit_full { "targetname" "ammo_pack1" "angles" "0 0 0" "origin" "1360 440 80" } item_ammopack_full { "targetname" "ammo_pack1" "angles" "0 0 0" "origin" "1270 430 80" } logic_auto { "targetname" "mainrelay" "OnMapSpawn" "tf_objective_resource,$SetClientProp$m_iszMvMPopfileName,TERMINATION - UNAUTHORIZED ACQUISITION,0,-1" "OnMapSpawn" "red_spawn_point_normal,Disable,,0,-1" "OnMapSpawn" "red_spawn_point_rev*,Enable,,0,-1" "onmapspawn" "red_spawn_security_door,close,,0,-1" "OnMapSpawn" "payload_path_B_15,AddOutput,OnPass red_lose_relay:disable::0:-1,0,-1" "OnMapSpawn" "payload_path_B_15,AddOutput,OnPass timeforarealbrawl:trigger::0:-1,0,-1" "OnMapSpawn" "payload_path_B_15,AddOutput,OnPass payloadtank:removehealth:99999:10.6:-1,0,-1" "OnMapSpawn" "payload_path_B_15,AddOutput,OnPass payloadtank:setspeed:0:0:-1,0,-1" //Ensure players are in red spawn and with no buildings at the start of each wave. "OnMapSpawn" "telezone,Enable,,0,-1" "OnMapSpawn" "telezone,Disable,,0.2,-1" "OnMapSpawn" "red_reverse_wave_finished_relay*,AddOutput,OnTrigger obj_teleporter*:removehealth:99999:0:-1,0,-1" "OnMapSpawn" "red_reverse_wave_finished_relay*,AddOutput,OnTrigger obj_dispenser*:removehealth:99999:0:-1,0,-1" "OnMapSpawn" "red_reverse_wave_finished_relay*,AddOutput,OnTrigger obj_sentry*:removehealth:99999:0:-1,0,-1" "onMapSpawn" "carrier_door_front_close_relay,trigger,,0,-1" //Tank section for wave 2 "OnMapSpawn" "escortpath_14,AddOutput,OnPass tank_boss:SetSpeed:1.5:0:-1,0,-1" "OnMapSpawn" "escortpath_14,AddOutput,OnPass walldown:trigger::59:-1,0,-1" "OnMapSpawn" "escortpath_14,AddOutput,OnPass B1_wall_drill_relay:Trigger::0:-1,0,-1" "OnMapSpawn" "escortpath_15,AddOutput,OnPass SectionComplete2-1Relay:Trigger::0:-1,0,-1" "OnMapSpawn" "escortpath_15,AddOutput,OnPass tank_boss:AddHealth:2001:0:-1,0,-1" "OnMapSpawn" "escortpath_15,AddOutput,OnPass tank_boss:SetSpeed:75:0:-1,0,-1" "OnMapSpawn" "escortpath_17,AddOutput,OnPass tank_boss:SetSpeed:1.5:0:-1,0,-1" "OnMapSpawn" "escortpath_17,AddOutput,OnPass walldown2:trigger::59:-1,0,-1" "OnMapSpawn" "escortpath_17,AddOutput,OnPass SectionComplete2-2Relay:Trigger::0:-1,0,-1" "OnMapSpawn" "escortpath_18,AddOutput,OnPass tank_boss:AddHealth:2001:0:-1,0,-1" "OnMapSpawn" "escortpath_18,AddOutput,OnPass tank_boss:SetSpeed:83:0:-1,0,-1" "OnMapSpawn" "escortpath_24,AddOutput,OnPass tank_boss:SetSpeed:6.4:0:-1,0,-1" "OnMapSpawn" "escortpath_24,AddOutput,OnPass A_route_wall_2_drill_relay:trigger:6.4:0:-1,0,-1" "OnMapSpawn" "escortpath_24,AddOutput,OnPass SectionComplete2-3Relay:Trigger::60:-1,0,-1" "OnMapSpawn" "escortpath_25,AddOutput,OnPass tank_boss:AddHealth:2001:0:-1,0,-1" "OnMapSpawn" "escortpath_24,AddOutput,OnPass tank_boss:SetSpeed:75:60:-1,0,-1" "OnMapSpawn" "escortpath_36,AddOutput,OnPass tank_boss:SetSpeed:0.5:0:-1,0,-1" "OnMapSpawn" "escortpath_36,AddOutput,OnPass deezexplosions:pickrandomshuffle:0:5:-1,0,-1" "OnMapSpawn" "escortpath_36,AddOutput,OnPass deezexplosions:pickrandomshuffle:0:10:-1,0,-1" "OnMapSpawn" "escortpath_36,AddOutput,OnPass deezexplosions:pickrandomshuffle:0:15:-1,0,-1" "OnMapSpawn" "escortpath_36,AddOutput,OnPass deezexplosions:pickrandomshuffle:0:20:-1,0,-1" "OnMapSpawn" "escortpath_36,AddOutput,OnPass deezexplosions:pickrandomshuffle:0:25:-1,0,-1" "OnMapSpawn" "escortpath_36,AddOutput,OnPass deezexplosions:pickrandomshuffle:0:30:-1,0,-1" "OnMapSpawn" "escortpath_36,AddOutput,OnPass deezexplosions:pickrandomshuffle:0:35:-1,0,-1" "OnMapSpawn" "escortpath_36,AddOutput,OnPass deezexplosions:pickrandomshuffle:0:40.1:-1,0,-1" "OnMapSpawn" "escortpath_36,AddOutput,OnPass deezexplosions:pickrandomshuffle:0:40.2:-1,0,-1" "OnMapSpawn" "escortpath_36,AddOutput,OnPass deezexplosions:pickrandomshuffle:0:40.3:-1,0,-1" "OnMapSpawn" "escortpath_36,AddOutput,OnPass deezexplosions:pickrandomshuffle:0:45:-1,0,-1" "OnMapSpawn" "escortpath_36,AddOutput,OnPass deezexplosions:pickrandomshuffle:0:45.1:-1,0,-1" "OnMapSpawn" "escortpath_36,AddOutput,OnPass deezexplosions:pickrandomshuffle:0:55:-1,0,-1" "OnMapSpawn" "escortpath_36,AddOutput,OnPass deezexplosions:pickrandomshuffle:0:55.1:-1,0,-1" "OnMapSpawn" "escortpath_36,AddOutput,OnPass deezexplosions:pickrandomshuffle:0:57:-1,0,-1" "OnMapSpawn" "escortpath_36,AddOutput,OnPass deezexplosions:pickrandomshuffle:0:57.1:-1,0,-1" "OnMapSpawn" "escortpath_36,AddOutput,OnPass deezexplosions:pickrandomshuffle:0:62:-1,0,-1" "OnMapSpawn" "escortpath_36,AddOutput,OnPass deezexplosions:pickrandomshuffle:0:62.1:-1,0,-1" "OnMapSpawn" "escortpath_36,AddOutput,OnPass deezexplosions:pickrandomshuffle:0:62.2:-1,0,-1" "OnMapSpawn" "escortpath_36,AddOutput,OnPass deezexplosions:pickrandomshuffle:0:62.4:-1,0,-1" "OnMapSpawn" "escortpath_36,AddOutput,OnPass deezexplosions:pickrandomshuffle:0:70:-1,0,-1" "OnMapSpawn" "escortpath_36,AddOutput,OnPass deezexplosions:pickrandomshuffle:0:70.1:-1,0,-1" "OnMapSpawn" "escortpath_36,AddOutput,OnPass deezexplosions:pickrandomshuffle:0:70.2:-1,0,-1" "OnMapSpawn" "escortpath_36,AddOutput,OnPass deezexplosions:pickrandomshuffle:0:75.1:-1,0,-1" "OnMapSpawn" "escortpath_36,AddOutput,OnPass deezexplosions:pickrandomshuffle:0:80.1:-1,0,-1" "OnMapSpawn" "escortpath_36,AddOutput,OnPass deezexplosions:pickrandomshuffle:0:80.2:-1,0,-1" "OnMapSpawn" "escortpath_36,AddOutput,OnPass deezexplosions:pickrandomshuffle:0:80.3:-1,0,-1" "OnMapSpawn" "escortpath_36,AddOutput,OnPass deezexplosions:pickrandomshuffle:0:80.4:-1,0,-1" "OnMapSpawn" "escortpath_36,AddOutput,OnPass deezexplosions:pickrandomshuffle:0:80.5:-1,0,-1" "OnMapSpawn" "escortpath_36,AddOutput,OnPass deezexplosions:pickrandomshuffle:0:80.6:-1,0,-1" "OnMapSpawn" "escortpath_36,AddOutput,OnPass deezexplosions:pickrandomshuffle:0:80.7:-1,0,-1" "OnMapSpawn" "escortpath_36,AddOutput,OnPass deezexplosions:pickrandomshuffle:0:80.8:-1,0,-1" "OnMapSpawn" "escortpath_36,AddOutput,OnPass deezexplosions:pickrandomshuffle:0:83:-1,0,-1" "OnMapSpawn" "escortpath_36,AddOutput,OnPass deezexplosions:pickrandomshuffle:0:86:-1,0,-1" "OnMapSpawn" "escortpath_36,AddOutput,OnPass deezexplosions:pickrandomshuffle:0:89:-1,0,-1" "OnMapSpawn" "escortpath_36,AddOutput,OnPass deezexplosions:pickrandomshuffle:0:93:-1,0,-1" "OnMapSpawn" "escortpath_36,AddOutput,OnPass deezexplosions:pickrandomshuffle:0:96:-1,0,-1" "OnMapSpawn" "escortpath_36,AddOutput,OnPass deezexplosions:pickrandomshuffle:0:99:-1,0,-1" "OnMapSpawn" "escortpath_36,AddOutput,OnPass deezexplosions:pickrandomshuffle:0:102:-1,0,-1" "OnMapSpawn" "escortpath_36,AddOutput,OnPass deezexplosions:pickrandomshuffle:0:105:-1,0,-1" "OnMapSpawn" "escortpath_36,AddOutput,OnPass deezexplosions:pickrandomshuffle:0:106.1:-1,0,-1" "OnMapSpawn" "escortpath_36,AddOutput,OnPass deezexplosions:pickrandomshuffle:0:106.2:-1,0,-1" "OnMapSpawn" "escortpath_36,AddOutput,OnPass deezexplosions:pickrandomshuffle:0:106.3:-1,0,-1" "OnMapSpawn" "escortpath_36,AddOutput,OnPass deezexplosions:pickrandomshuffle:0:106.4:-1,0,-1" "OnMapSpawn" "escortpath_36,AddOutput,OnPass deezexplosions:pickrandomshuffle:0:106.5:-1,0,-1" "OnMapSpawn" "escortpath_36,AddOutput,OnPass deezexplosions:pickrandomshuffle:0:106.6:-1,0,-1" "OnMapSpawn" "escortpath_36,AddOutput,OnPass deezexplosions:pickrandomshuffle:0:106.7:-1,0,-1" "OnMapSpawn" "escortpath_36,AddOutput,OnPass deezexplosions:pickrandomshuffle:0:106.8:-1,0,-1" "OnMapSpawn" "escortpath_36,AddOutput,OnPass deezexplosions:pickrandomshuffle:0:106.9:-1,0,-1" "OnMapSpawn" "escortpath_36,AddOutput,OnPass deezexplosions:pickrandomshuffle:0:107:-1,0,-1" "OnMapSpawn" "escortpath_36,AddOutput,OnPass deezexplosions:pickrandomshuffle:0:107.1:-1,0,-1" "OnMapSpawn" "escortpath_36,AddOutput,OnPass deezexplosions:pickrandomshuffle:0:107.2:-1,0,-1" "OnMapSpawn" "escortpath_36,AddOutput,OnPass deezexplosions:pickrandomshuffle:0:107.3:-1,0,-1" "OnMapSpawn" "escortpath_36,AddOutput,OnPass deezexplosions:pickrandomshuffle:0:107.4:-1,0,-1" "OnMapSpawn" "escortpath_36,AddOutput,OnPass deezexplosions:pickrandomshuffle:0:107.5:-1,0,-1" "OnMapSpawn" "escortpath_36,AddOutput,OnPass deezexplosions:pickrandomshuffle:0:107.6:-1,0,-1" "OnMapSpawn" "escortpath_36,AddOutput,OnPass deezexplosions:pickrandomshuffle:0:107.7:-1,0,-1" "OnMapSpawn" "escortpath_36,AddOutput,OnPass deezexplosions:pickrandomshuffle:0:107.8:-1,0,-1" "OnMapSpawn" "escortpath_36,AddOutput,OnPass deezexplosions:pickrandomshuffle:0:107.9:-1,0,-1" "OnMapSpawn" "escortpath_36,AddOutput,OnPass deezexplosions:pickrandomshuffle:0:108:-1,0,-1" "OnMapSpawn" "escortpath_36,AddOutput,OnPass deezexplosions:pickrandomshuffle:0:108.1:-1,0,-1" "OnMapSpawn" "escortpath_36,AddOutput,OnPass deezexplosions:pickrandomshuffle:0:108.2:-1,0,-1" "OnMapSpawn" "escortpath_36,AddOutput,OnPass deezexplosions:pickrandomshuffle:0:108.3:-1,0,-1" "OnMapSpawn" "escortpath_36,AddOutput,OnPass deezexplosions:pickrandomshuffle:0:108.4:-1,0,-1" "OnMapSpawn" "escortpath_36,AddOutput,OnPass deezexplosions:pickrandomshuffle:0:108.5:-1,0,-1" "OnMapSpawn" "escortpath_36,AddOutput,OnPass deezexplosions:pickrandomshuffle:0:108.6:-1,0,-1" "OnMapSpawn" "escortpath_36,AddOutput,OnPass deezexplosions:pickrandomshuffle:0:108.7:-1,0,-1" "OnMapSpawn" "escortpath_36,AddOutput,OnPass deezexplosions:pickrandomshuffle:0:108.8:-1,0,-1" "OnMapSpawn" "escortpath_36,AddOutput,OnPass deezexplosions:pickrandomshuffle:0:108.9:-1,0,-1" "OnMapSpawn" "escortpath_36,AddOutput,OnPass deezexplosions:pickrandomshuffle:0:109:-1,0,-1" "OnMapSpawn" "escortpath_36,AddOutput,OnPass deezexplosions:pickrandomshuffle:0:109.1:-1,0,-1" "OnMapSpawn" "escortpath_36,AddOutput,OnPass deezexplosions:pickrandomshuffle:0:109.2:-1,0,-1" "OnMapSpawn" "escortpath_36,AddOutput,OnPass deezexplosions:pickrandomshuffle:0:109.3:-1,0,-1" "OnMapSpawn" "escortpath_36,AddOutput,OnPass deezexplosions:pickrandomshuffle:0:109.4:-1,0,-1" "OnMapSpawn" "escortpath_36,AddOutput,OnPass deezexplosions:pickrandomshuffle:0:109.5:-1,0,-1" "OnMapSpawn" "escortpath_36,AddOutput,OnPass deezexplosions:pickrandomshuffle:0:109.6:-1,0,-1" "OnMapSpawn" "escortpath_36,AddOutput,OnPass deezexplosions:pickrandomshuffle:0:109.7:-1,0,-1" "OnMapSpawn" "escortpath_36,AddOutput,OnPass deezexplosions:pickrandomshuffle:0:109.8:-1,0,-1" "OnMapSpawn" "escortpath_36,AddOutput,OnPass deezexplosions:pickrandomshuffle:0:109.9:-1,0,-1" "OnMapSpawn" "escortpath_36,AddOutput,OnPass deezexplosions:pickrandomshuffle:0:110:-1,0,-1" "OnMapSpawn" "escortpath_36,AddOutput,OnPass deezexplosions:pickrandomshuffle:0:110.1:-1,0,-1" "OnMapSpawn" "escortpath_36,AddOutput,OnPass deezexplosions:pickrandomshuffle:0:110.2:-1,0,-1" "OnMapSpawn" "escortpath_36,AddOutput,OnPass deezexplosions:pickrandomshuffle:0:110.3:-1,0,-1" "OnMapSpawn" "escortpath_36,AddOutput,OnPass deezexplosions:pickrandomshuffle:0:110.4:-1,0,-1" "OnMapSpawn" "escortpath_36,AddOutput,OnPass deezexplosions:pickrandomshuffle:0:110.5:-1,0,-1" "OnMapSpawn" "escortpath_36,AddOutput,OnPass deezexplosions:pickrandomshuffle:0:110.6:-1,0,-1" "OnMapSpawn" "escortpath_36,AddOutput,OnPass deezexplosions:pickrandomshuffle:0:110.7:-1,0,-1" "OnMapSpawn" "escortpath_36,AddOutput,OnPass deezexplosions:pickrandomshuffle:0:110.8:-1,0,-1" "OnMapSpawn" "escortpath_36,AddOutput,OnPass EscortFailure:disable:0:108:-1,0,-1" "OnMapSpawn" "escortpath_37,AddOutput,OnPass EscortVictory:Trigger::0:-1,0,-1" "OnMapSpawn" "escortpath_37,AddOutput,OnPass tank_boss:RemoveHealth:99999:0:-1,0,-1" } } boss_foreshadowing { OnSpawnOutput { Target tube_bot_model Action Disable } OnSpawnOutput { Target the_funny_man_actual Action TurnOff } OnSpawnOutput { Target smoke Action Start Delay 0.1 } info_particle_system { "targetname" "smoke" "origin" "1754 263 182" "angles" "0 0 0" "effect_name" "smoke_train" "parentname" "the_funny_man" } prop_dynamic { "targetname" "the_funny_man_boss" "origin" "1800 254 74" "angles" "0 180 0" "model" "models/player/pyro.mdl" "modelscale" "2.1" "defaultanim" "taunt_bubbles" "disablebonefollowers" "1" "onanimationbegun" "!self,setplaybackrate,0.0001,0,-1" "renderamt" "0" "skin" "1" "startdisabled" "1" } prop_dynamic_ornament { "targetname" "the_funny_man_actual" "model" "models/bots/pyro_boss/bot_thermal_pyro.mdl" "modelscale" "2.1" "StartDisabled" "1" "solid" "0" "skin" "1" "disablebonefollowers" "1" "disableshadows" "1" "initialowner" "the_funny_man_boss" } prop_dynamic { "targetname" "the_funny_man" "origin" "1800 254 74" "angles" "0 180 0" "model" "models/bots/pyro_boss/bot_thermal_pyro.mdl" "modelscale" "2.1" "defaultanim" "primary_stun_middle" "disablebonefollowers" "1" "onanimationbegun" "!self,setplaybackrate,1,0,-1" "skin" "1" } prop_dynamic_ornament { "targetname" "pyromdl1" "model" "models\workshop\player\items\pyro\hwn2023_dead_heat\hwn2023_dead_heat.mdl" "solid" "0" "disablebonefollowers" "1" "disableshadows" "1" "skin" "1" "rendercolor" "0 0 0" "initialowner" "the_funny_man" } prop_dynamic_ornament { "targetname" "deadheat" "model" "models\workshop\player\items\pyro\hwn2023_dead_heat\hwn2023_dead_heat.mdl" "solid" "0" "disablebonefollowers" "1" "disableshadows" "1" "skin" "1" "rendercolor" "0 0 0" "initialowner" "the_funny_man_boss" } } LoseRelay { NoFixup 1 game_round_win //NOTICE - I copied this from my electric avenue rev, thus it's a standard naming scheme. bots_win_red triggers a blue victory. { "TeamNum" "3" "targetname" "bots_lose_red" "switch_teams" "0" "force_map_reset" "1" "classname" "game_round_win" } game_round_win //NOTICE - I copied this from my electric avenue rev, thus it's a standard naming scheme. bots_win_red triggers a blue victory. { "TeamNum" "2" "targetname" "bots_winning_red" "switch_teams" "0" "force_map_reset" "1" "classname" "game_round_win" } logic_relay { "targetname" "red_lose_relay" "OnTrigger" "bots_lose_red,RoundWin,,0,-1" } logic_relay { "targetname" "redwin_relay" "OnTrigger" "bots_winning_red,RoundWin,,0,-1" } } playerguides { point_viewcontrol { "acceleration" "0" "deceleration" "0" "interpolatepositiontoplayer" "0" "spawnflags" "0" "speed" "0" "wait" "10" "targetname" "camera" "origin" "1213 -2889 355" "angles" "17 -60 0" } training_annotation { "targetname" "officeNOW" "lifetime" "6" "display_text" "Get to Gray Mann's Office!" "origin" "1586 -3880 166" } training_annotation { "targetname" "killtheoldman" "lifetime" "6" "display_text" "Gray Mann's getting away! Stop him!" "origin" "288 -2550 476" } training_annotation { "targetname" "capdeez" "lifetime" "10" "display_text" "Capture the control point to take ownership of the Drill Tank!" "origin" "510 0 489" } training_annotation { "targetname" "healtank" "lifetime" "10" "display_text" "Robots may drop their scrap, pick them up and take them to the tank to heal it!" "origin" "-1151 -487 266" } training_annotation { "targetname" "A2Annotation" "lifetime" "3" "display_text" "Door unlocked!" "origin" "0 382 135" } training_annotation { "targetname" "A1Annotation" "lifetime" "3" "display_text" "Door unlocked!" "origin" "0 -382 135" } training_annotation { "targetname" "SetupForcefieldAnnotation" "lifetime" "3" "display_text" "Forcefield lifted!" "origin" "-640 1200 270" } training_annotation { "targetname" "B1Annotation" "lifetime" "3" "display_text" "Door unlocked!" "origin" "-640 -1300 140" } training_annotation { "targetname" "LoadingZoneAAnnotation" "lifetime" "3" "display_text" "Door unlocked!" "origin" "-884 0 338" } training_annotation { "targetname" "LoadingZoneCAnnotation" "lifetime" "3" "display_text" "Door unlocked!" "origin" "292 0 438" } training_annotation { "targetname" "Wave2StartAnnotation" "lifetime" "3" "display_text" "Escort the drill tank to damage the power grid!" "origin" "200 0 420" } training_annotation { "targetname" "Wave2TankWarnAnnotation" "lifetime" "3" "display_text" "Stay clear from the drill! It's deadly!" "origin" "0 0 420" } } forcefields { logic_case { "targetname" "deezexplosions" "OnCase01" "generator_explosion,trigger,,0,-1" "OnCase02" "generator_explosion1,trigger,,0,-1" "OnCase03" "generator_explosion2,trigger,,0,-1" "OnCase04" "generator_explosion3,trigger,,0,-1" "OnCase05" "generator_explosion4,trigger,,0,-1" "OnCase06" "generator_explosion5,trigger,,0,-1" "OnCase07" "generator_explosion6,trigger,,0,-1" "OnCase08" "generator_explosion7,trigger,,0,-1" } logic_relay { "targetname" "generator_explosion" "OnTrigger" "explosion,start,,0,-1" "OnTrigger" "explosion,stop,,0.1,-1" "OnTrigger" "player,$PlaySoundToSelf,weapons\airstrike_small_explosion_01.wav,0,-1" } logic_relay { "targetname" "generator_explosion1" "OnTrigger" "explosion1,start,,0,-1" "OnTrigger" "explosion1,stop,,0.1,-1" "OnTrigger" "player,$PlaySoundToSelf,weapons\airstrike_small_explosion_02.wav,0,-1" } logic_relay { "targetname" "generator_explosion2" "OnTrigger" "explosion2,start,,0,-1" "OnTrigger" "explosion2,stop,,0.1,-1" "OnTrigger" "player,$PlaySoundToSelf,ambient\explosions\explode_7.wav,0,-1" } logic_relay { "targetname" "generator_explosion3" "OnTrigger" "explosion3,start,,0,-1" "OnTrigger" "explosion3,stop,,0.1,-1" "OnTrigger" "player,$PlaySoundToSelf,weapons\airstrike_small_explosion_03.wav,0,-1" } logic_relay { "targetname" "generator_explosion4" "OnTrigger" "explosion4,start,,0,-1" "OnTrigger" "explosion4,stop,,0.1,-1" "OnTrigger" "player,$PlaySoundToSelf,ambient\explosions\explode_3.wav,0,-1" } logic_relay { "targetname" "generator_explosion5" "OnTrigger" "explosion5,start,,0,-1" "OnTrigger" "explosion5,stop,,0.1,-1" "OnTrigger" "player,$PlaySoundToSelf,weapons\airstrike_small_explosion_02.wav,0,-1" } logic_relay { "targetname" "generator_explosion6" "OnTrigger" "explosion6,start,,0,-1" "OnTrigger" "explosion6,stop,,0.1,-1" "OnTrigger" "player,$PlaySoundToSelf,ambient\explosions\explode_7.wav,0,-1" } logic_relay { "targetname" "generator_explosion7" "OnTrigger" "explosion7,start,,0,-1" "OnTrigger" "explosion7,stop,,0.1,-1" "OnTrigger" "player,$PlaySoundToSelf,ambient\explosions\explode_4.wav,0,-1" } logic_relay { "targetname" "boom" "OnTrigger" "boomexplosion,start,,0,-1" "OnTrigger" "boomexplosion,stop,,0.1,-1" "OnTrigger" "player,$PlaySoundToSelf,items\cart_explode.wav,0,-1" } info_particle_system { "targetname" "explosion" "origin" "815 513 209" "angles" "0 0 0" "effect_name" "ExplosionCore_MidAir" } info_particle_system { "targetname" "explosion1" "origin" "815 513 209" "angles" "0 0 0" "effect_name" "ExplosionCore_MidAir" } info_particle_system { "targetname" "explosion2" "origin" "931 727 114" "angles" "0 0 0" "effect_name" "ExplosionCore_MidAir" } info_particle_system { "targetname" "explosion3" "origin" "904 652 185" "angles" "0 0 0" "effect_name" "ExplosionCore_MidAir" } info_particle_system { "targetname" "boomexplosion" "origin" "904 652 185" "angles" "0 0 0" "effect_name" "hightower_explosion" } info_particle_system { "targetname" "explosion4" "origin" "804 751 358" "angles" "0 0 0" "effect_name" "ExplosionCore_MidAir" } info_particle_system { "targetname" "explosion5" "origin" "889 865 150" "angles" "0 0 0" "effect_name" "ExplosionCore_MidAir" } info_particle_system { "targetname" "explosion6" "origin" "867 661 347" "angles" "0 0 0" "effect_name" "ExplosionCore_MidAir" } info_particle_system { "targetname" "explosion7" "origin" "953 769 298" "angles" "0 0 0" "effect_name" "ExplosionCore_MidAir" } prop_dynamic { "origin" "800 657 223.5" "targetname" "generatedeez" "model" "models/robot_factory/robot_factory_generator_fixed.mdl" "angles" "0 -90 0" "solid" "6" "defaultanim" "ref" } prop_dynamic { "origin" "848 -287 336" "targetname" "drill_tank_prop" "model" "models/watermine/drill_tank.mdl" "angles" "0 143 0" "solid" "6" } prop_dynamic { "targetname" "drill_tank_prop" "model" "models/bots/boss_bot/tank_track_l.mdl" "angles" "0 143 0" "solid" "0" "modelscale" "1" "origin" "838 -347 336" } prop_dynamic { "targetname" "drill_tank_prop" "model" "models/bots/boss_bot/tank_track_l.mdl" "angles" "0 143 0" "solid" "0" "modelscale" "1" "origin" "901 -259 336" } NoFixup 1 func_forcefield //This barrier is not redundant, despite the name. It stops players from rocket jumping around the B1 door. { "targetname" "RouteB1barrier" "origin" "-642 -1160 72" "angles" "0 0 0" "rendermode" "10" //10 = don't render "TeamNum" "3" //2 for red, 3 for blu "mins" "-4 -1856 -420" "maxs" "4 356 720" } // prop_dynamic // { // "targetname" "forcefield5sign" // "disableshadows" "1" // "angles" "0 -90 0" // "fademindist" "-1" // "fadescale" "1" // "MaxAnimTime" "10" // "MinAnimTime" "5" // "model" "models/props_mvm/reversemvm_redwall_696x337.mdl" // "modelscale" "1.0" // "renderamt" "255" // "rendercolor" "50 80 255" // "skin" "0" // "solid" "0" // "origin" "-642 -1160 72" // } // prop_dynamic // { // "targetname" "forcefield5sign" // "disableshadows" "1" // "angles" "0 90 0" // "fademindist" "-1" // "fadescale" "1" // "MaxAnimTime" "10" // "MinAnimTime" "5" // "model" "models/props_mvm/reversemvm_redwall_696x337.mdl" // "modelscale" "1.0" // "renderamt" "255" // "rendercolor" "50 80 255" // "skin" "0" // "solid" "0" // "origin" "-642 -1160 72" // } prop_dynamic { "targetname" "forcefield5sign" "disableshadows" "1" "angles" "0 -90 0" "fademindist" "-1" "fadescale" "1" "MaxAnimTime" "10" "MinAnimTime" "5" "model" "models/props_mvm/reversemvm_redwall_696x337.mdl" "modelscale" "4.0" "renderamt" "255" "rendercolor" "50 80 255" "skin" "0" "solid" "0" "origin" "-642 -2826 -342" } prop_dynamic { "targetname" "forcefield5sign" "disableshadows" "1" "angles" "0 90 0" "fademindist" "-1" "fadescale" "1" "MaxAnimTime" "10" "MinAnimTime" "5" "model" "models/props_mvm/reversemvm_redwall_696x337.mdl" "modelscale" "4.0" "renderamt" "255" "rendercolor" "50 80 255" "skin" "0" "solid" "0" "origin" "-642 -2826 -342" } func_forcefield { "targetname" "RouteC2barrier" "origin" "1664 -1140 68" "angles" "0 0 0" "rendermode" "10" //10 = don't render "TeamNum" "3" //2 for red, 3 for blu "mins" "-4 -254 -20" "maxs" "4 254 720" } prop_dynamic { "targetname" "forcefield9sign" "disableshadows" "1" "angles" "0 90 0" "fademindist" "-1" "fadescale" "1" "MaxAnimTime" "10" "MinAnimTime" "5" "model" "models/props_mvm/reversemvm_redwall_696x337.mdl" "modelscale" "1.0" "renderamt" "255" "rendercolor" "50 80 255" "skin" "0" "solid" "0" "origin" "1664 -1140 68" } prop_dynamic { "targetname" "forcefield9sign" "disableshadows" "1" "angles" "0 -90 0" "fademindist" "-1" "fadescale" "1" "MaxAnimTime" "10" "MinAnimTime" "5" "model" "models/props_mvm/reversemvm_redwall_696x337.mdl" "modelscale" "1.0" "renderamt" "255" "rendercolor" "50 80 255" "skin" "0" "solid" "0" "origin" "1664 -1140 68" } func_forcefield { "targetname" "RouteDEbarrier" "origin" "-1420 382 260" "angles" "0 0 0" "rendermode" "10" //10 = don't render "TeamNum" "3" //2 for red, 3 for blu "mins" "-504 -4 -20" "maxs" "504 4 420" } prop_dynamic { "targetname" "forcefield10sign" "disableshadows" "1" "angles" "0 0 0" "fademindist" "-1" "fadescale" "1" "MaxAnimTime" "10" "MinAnimTime" "5" "model" "models/props_mvm/reversemvm_redwall_512x320.mdl" "modelscale" "1.0" "renderamt" "255" "rendercolor" "50 80 255" "skin" "0" "solid" "0" "origin" "-1120 382 290" } prop_dynamic { "targetname" "forcefield10sign" "disableshadows" "1" "angles" "0 0 0" "fademindist" "-1" "fadescale" "1" "MaxAnimTime" "10" "MinAnimTime" "5" "model" "models/props_mvm/reversemvm_redwall_512x320.mdl" "modelscale" "1.0" "renderamt" "255" "rendercolor" "50 80 255" "skin" "0" "solid" "0" "origin" "-1120 382 290" } prop_dynamic { "targetname" "forcefield10sign" "disableshadows" "1" "angles" "0 0 0" "fademindist" "-1" "fadescale" "1" "MaxAnimTime" "10" "MinAnimTime" "5" "model" "models/props_mvm/reversemvm_redwall_512x320.mdl" "modelscale" "1.0" "renderamt" "255" "rendercolor" "50 80 255" "skin" "0" "solid" "0" "origin" "-1632 382 290" } prop_dynamic { "targetname" "forcefield10sign" "disableshadows" "1" "angles" "0 0 0" "fademindist" "-1" "fadescale" "1" "MaxAnimTime" "10" "MinAnimTime" "5" "model" "models/props_mvm/reversemvm_redwall_512x320.mdl" "modelscale" "1.0" "renderamt" "255" "rendercolor" "50 80 255" "skin" "0" "solid" "0" "origin" "-1632 382 290" } func_forcefield { "targetname" "RouteDEbarrier" "origin" "-1920 386 -124" "angles" "0 0 0" "rendermode" "10" //10 = don't render "TeamNum" "3" //2 for red, 3 for blu "mins" "-504 -4 -20" "maxs" "1004 4 220" } prop_dynamic { "targetname" "forcefield10sign" "disableshadows" "1" "angles" "0 0 0" "fademindist" "-1" "fadescale" "1" "MaxAnimTime" "10" "MinAnimTime" "5" "model" "models/props_mvm/reversemvm_redwall_512x320.mdl" "modelscale" "1.0" "renderamt" "255" "rendercolor" "50 80 255" "skin" "0" "solid" "0" "origin" "-1800 386 -124" } prop_dynamic { "targetname" "forcefield10sign" "disableshadows" "1" "angles" "0 0 0" "fademindist" "-1" "fadescale" "1" "MaxAnimTime" "10" "MinAnimTime" "5" "model" "models/props_mvm/reversemvm_redwall_512x320.mdl" "modelscale" "1.0" "renderamt" "255" "rendercolor" "50 80 255" "skin" "0" "solid" "0" "origin" "-1800 386 -124" } prop_dynamic { "targetname" "forcefield10sign" "disableshadows" "1" "angles" "0 0 0" "fademindist" "-1" "fadescale" "1" "MaxAnimTime" "10" "MinAnimTime" "5" "model" "models/props_mvm/reversemvm_redwall_256x288.mdl" "modelscale" "1.0" "renderamt" "255" "rendercolor" "50 80 255" "skin" "0" "solid" "0" "origin" "-1020 386 -124" } prop_dynamic { "targetname" "forcefield10sign" "disableshadows" "1" "angles" "0 0 0" "fademindist" "-1" "fadescale" "1" "MaxAnimTime" "10" "MinAnimTime" "5" "model" "models/props_mvm/reversemvm_redwall_256x288.mdl" "modelscale" "1.0" "renderamt" "255" "rendercolor" "50 80 255" "skin" "0" "solid" "0" "origin" "-1020 386 -124" } func_forcefield { "targetname" "SetupBlueBarrier" "origin" "-640 1168 116" "angles" "0 0 0" "rendermode" "10" //10 = don't render "TeamNum" "3" //2 for red, 3 for blu "mins" "-4 -452 -140" "maxs" "4 500 600" } prop_dynamic { "targetname" "forcefieldsetupbluesign" "disableshadows" "1" "angles" "0 -90 00" "fademindist" "-1" "fadescale" "1" "MaxAnimTime" "10" "MinAnimTime" "5" "model" "models/props_mvm/reversemvm_redwall_384x224.mdl" "modelscale" "3.0" "renderamt" "255" "rendercolor" "50 80 255" "skin" "0" "solid" "0" "origin" "-640 1168 116" } prop_dynamic { "targetname" "forcefieldsetupbluesign" "disableshadows" "1" "angles" "0 90 00" "fademindist" "-1" "fadescale" "1" "MaxAnimTime" "10" "MinAnimTime" "5" "model" "models/props_mvm/reversemvm_redwall_384x224.mdl" "modelscale" "3.0" "renderamt" "255" "rendercolor" "50 80 255" "skin" "0" "solid" "0" "origin" "-640 1168 116" } // func_forcefield // { // "targetname" "SetupBarrier" // "origin" "-640 1168 116" // "angles" "0 0 0" // "rendermode" "10" //10 = don't render // "TeamNum" "3" //2 for red, 3 for blu // "mins" "-4 -452 -40" // "maxs" "4 500 600" // } // prop_dynamic // { // "targetname" "forcefieldsetupsign" // "disableshadows" "1" // "angles" "0 -90 00" // "fademindist" "-1" // "fadescale" "1" // "MaxAnimTime" "10" // "MinAnimTime" "5" // "model" "models/props_mvm/reversemvm_redwall_384x224.mdl" // "modelscale" "3.0" // "renderamt" "255" // "rendercolor" "255 87 107" // "skin" "0" // "solid" "0" // "origin" "-640 1168 116" // } } robotspawnindicators //IMPORTANT!!! These are the respective spawn indicators for the spawns! Actual spawn names add 'spawnbot' to the start of the commented name. { // prop_dynamic //ABC // { // "targetname" "robospawnsign" // "disableshadows" "1" // "angles" "0 90 0" // "fademindist" "-1" // "fadescale" "1" // "MaxAnimTime" "10" // "MinAnimTime" "5" // "model" "models/props_mvm/robot_spawnpoint.mdl" // "modelscale" "1.0" // "renderamt" "255" // "rendercolor" "255 255 255" // "skin" "1" // "solid" "0" // "origin" "300 500 0" // } prop_dynamic //DEBridge { "targetname" "robospawnsign" "disableshadows" "1" "angles" "0 0 0" "fademindist" "-1" "fadescale" "1" "MaxAnimTime" "10" "MinAnimTime" "5" "model" "models/props_mvm/robot_spawnpoint.mdl" "modelscale" "1.0" "renderamt" "255" "rendercolor" "255 255 255" "skin" "1" "solid" "0" "origin" "-1760 256 192" } prop_dynamic //Lava { "targetname" "robospawnsign" "disableshadows" "1" "angles" "0 90 0" "fademindist" "-1" "fadescale" "1" "MaxAnimTime" "10" "MinAnimTime" "5" "model" "models/props_mvm/robot_spawnpoint.mdl" "modelscale" "1.0" "renderamt" "255" "rendercolor" "255 255 255" "skin" "1" "solid" "0" "origin" "-1808 -2256 64" } prop_dynamic //DECrate { "targetname" "robospawnsign" "disableshadows" "1" "angles" "0 180 0" "fademindist" "-1" "fadescale" "1" "MaxAnimTime" "10" "MinAnimTime" "5" "model" "models/props_mvm/robot_spawnpoint.mdl" "modelscale" "1.0" "renderamt" "255" "rendercolor" "255 255 255" "skin" "1" "solid" "0" "origin" "-958 -920 0" } prop_dynamic //AControlWindow { "targetname" "robospawnsign" "disableshadows" "1" "angles" "0 135 0" "fademindist" "-1" "fadescale" "1" "MaxAnimTime" "10" "MinAnimTime" "5" "model" "models/props_mvm/robot_spawnpoint.mdl" "modelscale" "1.0" "renderamt" "255" "rendercolor" "255 255 255" "skin" "1" "solid" "0" "origin" "542 0 336" } prop_dynamic //ABrokenStairs { "targetname" "robospawnsign" "disableshadows" "1" "angles" "0 -90 0" "fademindist" "-1" "fadescale" "1" "MaxAnimTime" "10" "MinAnimTime" "5" "model" "models/props_mvm/robot_spawnpoint.mdl" "modelscale" "1.0" "renderamt" "255" "rendercolor" "255 255 255" "skin" "1" "solid" "0" "origin" "1200 1300 80" } prop_dynamic //AExitCorner { "targetname" "robospawnsign" "disableshadows" "1" "angles" "0 135 0" "fademindist" "-1" "fadescale" "1" "MaxAnimTime" "10" "MinAnimTime" "5" "model" "models/props_mvm/robot_spawnpoint.mdl" "modelscale" "1.0" "renderamt" "255" "rendercolor" "255 255 255" "skin" "1" "solid" "0" "origin" "1686 -500 80" } prop_dynamic //MidPlatform { "targetname" "robospawnsign" "disableshadows" "1" "angles" "0 45 0" "fademindist" "-1" "fadescale" "1" "MaxAnimTime" "10" "MinAnimTime" "5" "model" "models/props_mvm/robot_spawnpoint.mdl" "modelscale" "1.0" "renderamt" "255" "rendercolor" "255 255 255" "skin" "1" "solid" "0" "origin" "-188 -1720 256" } prop_dynamic //MidGround { "targetname" "robospawnsign" "disableshadows" "1" "angles" "0 -90 0" "fademindist" "-1" "fadescale" "1" "MaxAnimTime" "10" "MinAnimTime" "5" "model" "models/props_mvm/robot_spawnpoint.mdl" "modelscale" "1.0" "renderamt" "255" "rendercolor" "255 255 255" "skin" "1" "solid" "0" "origin" "0 -640 0" } prop_dynamic //HatchBMC (Get it? It's a round ramp? Hilarious, I know.) { "targetname" "robospawnsign" "disableshadows" "1" "angles" "0 -90 0" "fademindist" "-1" "fadescale" "1" "MaxAnimTime" "10" "MinAnimTime" "5" "model" "models/props_mvm/robot_spawnpoint.mdl" "modelscale" "1.0" "renderamt" "255" "rendercolor" "255 255 255" "skin" "1" "solid" "0" "origin" "860 -2712 0" } prop_dynamic //RedSpawnRight { "targetname" "robospawnsign" "disableshadows" "1" "angles" "0 90 0" "fademindist" "-1" "fadescale" "1" "MaxAnimTime" "10" "MinAnimTime" "5" "model" "models/props_mvm/robot_spawnpoint.mdl" "modelscale" "1.0" "renderamt" "255" "rendercolor" "255 255 255" "skin" "1" "solid" "0" "origin" "2028 -3700 80" } prop_dynamic //Reddit { "targetname" "robospawnsign" "disableshadows" "1" "angles" "0 0 0" "fademindist" "-1" "fadescale" "1" "MaxAnimTime" "10" "MinAnimTime" "5" "model" "models/props_mvm/robot_spawnpoint.mdl" "modelscale" "1.0" "renderamt" "255" "rendercolor" "255 255 255" "skin" "1" "solid" "0" "origin" "1122 -2046 80" } prop_dynamic //DrillTankTall { "targetname" "robospawnsign" "disableshadows" "1" "angles" "0 15 0" "fademindist" "-1" "fadescale" "1" "MaxAnimTime" "10" "MinAnimTime" "5" "model" "models/props_mvm/robot_spawnpoint.mdl" "modelscale" "1.0" "renderamt" "255" "rendercolor" "255 255 255" "skin" "1" "solid" "0" "origin" "2312 -1954 224" } prop_dynamic //DrillTankShort { "targetname" "robospawnsign" "disableshadows" "1" "angles" "0 195 0" "fademindist" "-1" "fadescale" "1" "MaxAnimTime" "10" "MinAnimTime" "5" "model" "models/props_mvm/robot_spawnpoint.mdl" "modelscale" "1.0" "renderamt" "255" "rendercolor" "255 255 255" "skin" "1" "solid" "0" "origin" "2606 -1876 0" } prop_dynamic //DrillTankBehind { "targetname" "robospawnsign" "disableshadows" "1" "angles" "0 15 0" "fademindist" "-1" "fadescale" "1" "MaxAnimTime" "10" "MinAnimTime" "5" "model" "models/props_mvm/robot_spawnpoint.mdl" "modelscale" "1.0" "renderamt" "255" "rendercolor" "255 255 255" "skin" "1" "solid" "0" "origin" "3252 -1632 230" } prop_dynamic //These two spawn indicators are different, they are indicators to use the tankdoor spawns. This indicator is for the right side tank door. { "targetname" "robospawnsign" "disableshadows" "1" "angles" "0 180 0" "fademindist" "-1" "fadescale" "1" "MaxAnimTime" "10" "MinAnimTime" "5" "model" "models/props_mvm/robot_spawnpoint.mdl" "modelscale" "1.0" "renderamt" "255" "rendercolor" "255 255 255" "skin" "1" "solid" "0" "origin" "-730 2304 -192" } prop_dynamic //This indicator is for the left side tank door. { "targetname" "robospawnsign" "disableshadows" "1" "angles" "0 45 0" "fademindist" "-1" "fadescale" "1" "MaxAnimTime" "10" "MinAnimTime" "5" "model" "models/props_mvm/robot_spawnpoint.mdl" "modelscale" "1.0" "renderamt" "255" "rendercolor" "255 255 255" "skin" "1" "solid" "0" "origin" "-2432 1606 -192" } prop_dynamic //This indicator is for the B2 door. { "targetname" "robospawnsign" "disableshadows" "1" "angles" "0 0 0" "fademindist" "-1" "fadescale" "1" "MaxAnimTime" "10" "MinAnimTime" "5" "model" "models/props_mvm/robot_spawnpoint.mdl" "modelscale" "1.0" "renderamt" "255" "rendercolor" "255 255 255" "skin" "1" "solid" "0" "origin" "-2070 -1280 0" } } teleportstuff { NoFixup 1 info_target { "targetname" "spawn" "origin" "408 1688 55" "angles" "0 135 0" } trigger_teleport { "spawnflags" "1" "targetname" "telezone" "origin" "0 0 0" "target" "spawn" "mins" "-10000 -10000 -10000" "maxs" "10000 10000 10000" "StartDisabled" "1" } } act_intro { OnSpawnOutput { Target "text" Action "Display" Delay 0.1 } OnSpawnOutput { Target "text_lower" Action "Display" Delay 1 } OnSpawnOutput { Target no_setup* Action Disable } game_text { "origin" "0 0 0" "targetname" "text" "message" "ACT 2" "x" "-1" "y" "0.4" "spawnflags" "1" "effect" "2" "channel" "1" "color" "255 255 255" "fxtime" "0.2" "fadeout" "1" //"fadein" "0" "holdtime" "5" } game_text { "origin" "0 0 0" "targetname" "text_lower" "message" "UNAUTHORIZED ACQUISITION" "x" "-1" "y" "0.45" "effect" "2" "channel" "0" "spawnflags" "1" "color" "255 255 255" "fadein" "0.05" "fadeout" "1" "holdtime" "3.8" } } relays { tf_point_nav_interface { Name skibidi } NoFixup 1 logic_relay //This section is commented in case someone else needs to make changes to the relays and coding. 'Code blocks' continue until the next one begins unless otherwise specified. They have also been named as to allow easy communication for what needs changing. { "targetname" "Wave1Relay" // "OnTrigger" "RouteB1barrier,Disable,,0,-1" // "OnTrigger" "forcefield5sign,Disable,,0,-1" "OnTrigger" "RouteC2barrier,Disable,,0,-1" //Code block W1-A: Disabling barriers for the wave "OnTrigger" "forcefield9sign,Disable,,0,-1" "OnTrigger" "RouteDEbarrier,Disable,,0,-1" "OnTrigger" "forcefield10sign,Disable,,0,-1" "OnTrigger" "red_reverse_mission_relay,Trigger,,0,-1" //M-A: Relay setup for the wave/mission "OnTrigger" "carrier_lift_raise_relay,Trigger,,0,-1" "OnTrigger" "container_lift_raise_relay,Trigger,,0,-1" "OnTrigger" "B1_wall_fix_relay,Trigger,,0,-1" "OnTrigger" "C1_wall_fix_relay,Trigger,,0,-1" "OnTrigger" "A_route_wall_2_fix_relay,Trigger,,0,-1" "OnTrigger" "A_route_wall_3_fix_relay,Trigger,,0,-1" "OnTrigger" "A_route_wall_4_fix_relay,Trigger,,0,-1" "OnTrigger" "hatch_shortcut_B_fix_relay,Trigger,,0,-1" "OnTrigger" "B1_door_lock_relay,Trigger,,0.1,-1" "OnTrigger" "C1_door_lock_relay,Trigger,,0.1,-1" "OnTrigger" "A1_door_lock_relay,Trigger,,0,-1" "OnTrigger" "A2_door_lock_relay,Trigger,,0,-1" "OnTrigger" "bridge_flank_door_A_lock_relay,Trigger,,0,-1" "OnTrigger" "bridge_flank_door_B_lock_relay,Trigger,,0,-1" "OnTrigger" "bridge_flank_door_C_lock_relay,Trigger,,0,-1" } logic_relay { "targetname" "SetupWave1FinishedRelay" "OnTrigger" "A1_door_unlock_relay,Trigger,,0,-1" "OnTrigger" "A2_door_unlock_relay,Trigger,,0,-1" "OnTrigger" "A2Annotation,Show,,0,-1" "OnTrigger" "A1Annotation,Show,,0,-1" "OnTrigger" "player,$DisplayTextChat,{yellow}[ Now Playing: {6383ff} To Action One by One - GoodBobFR {yellow}],0,-1" } logic_relay { "targetname" "SectionComplete1-1Relay" //Relay for completing the first segment of wave 1, further relays with this name structure are self-explanitory. "OnTrigger" "RouteB1barrier,Disable,,0,-1" //W1-B: Disabling forcefields for defeating robots "OnTrigger" "forcefield5sign,Disable,,0,-1" "OnTrigger" "SetupBlueBarrier,Disable,,0,-1" "OnTrigger" "forcefieldsetupbluesign,Disable,,0,-1" "OnTrigger" "spawnbotDrillTankShort,Disable,,0,-1" //W1-C: Disabling spawns for commons so they don't spawn anymore "OnTrigger" "spawnbotMidPlatform,Disable,,0,-1" "OnTrigger" "spawnbotHatchBMC,Disable,,0,-1" // "OnTrigger" "addtime,SetValue,180,0,-1" //R1-A: Firing relays rewarding the players for progression. example: time, unlocking new areas, ect. "OnTrigger" "B1_door_unlock_relay,Trigger,,0,-1" "OnTrigger" "C1_door_unlock_relay,Trigger,,0,-1" "OnTrigger" "B1Annotation,Show,,0,-1" "OnTrigger" "SetupForcefieldAnnotation,Show,,0,-1" "OnTrigger" "addtime,SetValue,120,0,-1" "OnTrigger" "player,$PlaySoundToSelf,=150|vo\announcer_time_added.mp3,0,-1" "OnTrigger" "tf_point_nav_interface*,recomputeblockers,,17,-1" } logic_relay { "targetname" "SectionComplete1-2Relay" "OnTrigger" "spawnbot_left_tank,Disable,,0,-1" "OnTrigger" "spawnbot_right_tank,Disable,,0,-1" "OnTrigger" "spawnbotLava,Disable,,0,-1" "OnTrigger" "bridge_flank_door_A_unlock_relay,Trigger,,0,-1" "OnTrigger" "bridge_flank_door_B_unlock_relay,Trigger,,0,-1" "OnTrigger" "bridge_flank_door_C_unlock_relay,Trigger,,0,-1" "OnTrigger" "LoadingZoneAAnnotation,Show,,0,-1" "OnTrigger" "LoadingZoneCAnnotation,Show,,0,-1" "OnTrigger" "addtime,SetValue,60,0,-1" "OnTrigger" "player,$PlaySoundToSelf,=150|vo\announcer_time_added.mp3,0,-1" "OnTrigger" "Wave1CapPoint,ForceSpawn,,0,-1" "OnTrigger" "tf_point_nav_interface*,recomputeblockers,,17,-1" } logic_relay { "targetname" "Wave2Relay" "OnTrigger" "red_reverse_mission_relay,Trigger,,0,-1" "OnTrigger" "spawnbotDrillTankShort,Enable,,0,-1" //Re-enable spawns coming from wave 1 "OnTrigger" "spawnbotMidPlatform,Enable,,0,-1" "OnTrigger" "spawnbotHatchBMC,Enable,,0,-1" "OnTrigger" "spawnbot_left_tank,Enable,,0,-1" "OnTrigger" "spawnbot_right_tank,Enable,,0,-1" "OnTrigger" "spawnbotLava,Enable,,0,-1" "OnTrigger" "RouteB1barrier,Disable,,0,-1" //Forcefield Wave 2 setup "OnTrigger" "forcefield5sign,Disable,,0,-1" "OnTrigger" "RouteC2barrier,Disable,,0,-1" "OnTrigger" "forcefield9sign,Disable,,0,-1" "OnTrigger" "RouteDEbarrier,Disable,,0,-1" "OnTrigger" "forcefield10sign,Disable,,0,-1" "OnTrigger" "SetupBlueBarrier,Enable,,0,-1" "OnTrigger" "forcefieldsetupbluesign,Enable,,0,-1" "OnTrigger" "reverse_mission_relay,Trigger,,0,-1" //M-B: Relay setup for the wave/mission "OnTrigger" "carrier_lift_raise_relay,Trigger,,0,-1" "OnTrigger" "container_lift_raise_relay,Trigger,,0,-1" "OnTrigger" "B1_wall_fix_relay,Trigger,,0,-1" "OnTrigger" "C1_wall_fix_relay,Trigger,,0,-1" "OnTrigger" "A_route_wall_2_fix_relay,Trigger,,0,-1" "OnTrigger" "A_route_wall_3_fix_relay,Trigger,,0,-1" "OnTrigger" "A_route_wall_4_fix_relay,Trigger,,0,-1" "OnTrigger" "hatch_shortcut_B_fix_relay,Trigger,,0,-1" "OnTrigger" "bridge_flank_door_A_lock_relay,Trigger,,0.1,-1" "OnTrigger" "bridge_flank_door_B_lock_relay,Trigger,,0.1,-1" "OnTrigger" "bridge_flank_door_C_lock_relay,Trigger,,0.1,-1" "OnTrigger" "B1_door_lock_relay,Trigger,,0.1,-1" "OnTrigger" "C1_door_lock_relay,Trigger,,0.1,-1" "OnTrigger" "A1_door_lock_relay,Trigger,,0,-1" "OnTrigger" "A2_door_lock_relay,Trigger,,0,-1" "OnTrigger" "upgradetp*,TurnOn,,10,-1" "OnTrigger" "cylindrical_upgrades_deploy_relay,trigger,,0,-1" "OnTrigger" "upgrade_station,enable,,12,-1" "OnTrigger" "fuckingwoodenfence,kill,,10,-1" "OnTrigger" "tf_gamerules,PlayVO,vo\mvm\norm\engineer_mvm_battlecry04.mp3,5,-1" "OnTrigger" "tf_gamerules,PlayVO,ambient_mp3\walkway_move.mp3,2.5,-1" "OnTrigger" "tf_gamerules,PlayVO,vo\mvm\norm\engineer_mvm_laughhappy01.mp3,7.5,-1" "OnTrigger" "tf_gamerules,PlayVO,vo\mvm\norm\engineer_mvm_cheers01.mp3,10,-1" "OnTrigger" "tf_gamerules,PlayVO,vo\mvm\norm\engineer_mvm_cheers05.mp3,14,-1" "OnTrigger" "red_spawn_point_rev*,disable,,0,-1" "OnTrigger" "forward_spawn,enable,,0.1,-1" "OnTrigger" "telezone,enable,,0.5,-1" "OnTrigger" "telezone,disable,,0.6,-1" "OnTrigger" "telezone_2,enable,,0.1,-1" } logic_relay { "targetname" "controlroom_window" "OnTrigger" "window_gone,start,,2,-1" "OnTrigger" "A_route_wall_4_break_relay,trigger,,2,-1" "OnTrigger" "tf_point_nav_interface*,recomputeblockers,,4,-1" "OnTrigger" "player,$PlaySoundToSelf,ambient\explosions\explode_3.wav,2,-1" "OnTrigger" "bridge_flank_door_B_lock_relay,Trigger,,2.1,-1" "OnTrigger" "bridge_flank_door_A_lock_relay,Trigger,,2.1,-1" } logic_relay { "targetname" "spawnbotreddit_wall" "OnTrigger" "wall_gone,start,,2,-1" "OnTrigger" "hatch_shortcut_B_break_relay,trigger,,2,-1" "OnTrigger" "tf_point_nav_interface*,recomputeblockers,,4,-1" "OnTrigger" "player,$PlaySoundToSelf,ambient\explosions\explode_3.wav,2,-1" } trigger_push { "alternateticksfix" "0" "origin" "230 -639 256" "mins" "-120 -120 -144" "maxs" "30 30 144" "pushdir" "-150 0 0" "spawnflags" "1" "speed" "400" "targetname" "mudun_ur_romanian2" "filtername" "blue_team_filter" } info_particle_system { "targetname" "wall_gone" "origin" "1287 -1678 31" "angles" "0 0 0" "effect_name" "hightower_explosion" } info_particle_system { "targetname" "window_gone" "origin" "274 -643 286" "angles" "0 0 0" "effect_name" "hightower_explosion" } OnSpawnOutput { Target upgrade_station Action Disable Delay 0 } info_particle_system { "targetname" "telein_1" "origin" "545 -734 427" "angles" "0 0 0" "effect_name" "teleporter_mvm_bot_persist" } info_particle_system { "targetname" "telein_1" "origin" "543 -730 276" "angles" "0 0 0" "effect_name" "hammer_lock_vanish01" } func_upgradestation { "targetname" "upgrade_station" "origin" "604 -666 315" "mins" "-55 -55 -40" "maxs" "55 55 92" } prop_dynamic { "targetname" "upgradetp_engi" "Model" "models\bots\engineer\bot_engineer.mdl" "angles" "0 45 90" "origin" "534 -740 255" "disablebonefollowers" "1" "defaultanim" "stand_MELEE_ALLCLASS" "angles" "0 75 0" "startdisabled" "1" "setbodygroup" 1 "onanimationbegun" "!self,setplaybackrate,1.4,0.1,-1" } OnSpawnOutput { Target upgradetp_engi_prop Action TurnOff } prop_dynamic { "origin" "565 -536 360" "targetname" "fuckingwoodenfence" "model" "models\props_coalmines\wood_fence_256.mdl" "angles" "0 135 0" "disableshadows" "1" "renderamt" "0.1" "rendermode" "10" "solid" "6" } prop_dynamic_ornament { "targetname" "upgradetp_engi_prop" "model" "models\weapons\c_models\c_wrench\c_wrench.mdl" "color" "255 0 0" "origin" "534 -740 255" "disablebonefollowers" "1" "rendercolor" "0 0 0" "angles" "0 45 0" "startdisabled" "1" "initialowner" "upgradetp_engi" } info_particle_system { "targetname" "walldust" "origin" "-573 -1276 556" "angles" "0 0 180" "effect_name" "base_destroyed_smoke_doomsday" } info_particle_system { "targetname" "secondwalldust" "origin" "827 -1287 597" "angles" "0 90 180" "effect_name" "base_destroyed_smoke_doomsday" } logic_relay { "targetname" "SetupWave2FinishedRelay" "OnTrigger" "A2_door_unlock_relay,Trigger,,0,-1" "OnTrigger" "SetupBlueBarrier,Disable,,0,-1" "OnTrigger" "forcefieldsetupbluesign,Disable,,0,-1" "OnTrigger" "A2Annotation,Show,,0,-1" "OnTrigger" "SetupForcefieldAnnotation,Show,,0,-1" "OnTrigger" "Wave2StartAnnotation,Show,,3,-1" "OnTrigger" "Wave2TankWarnAnnotation,Show,,6,-1" "OnTrigger" "healtank,Show,,30,-1" "OnTrigger" "player,$DisplayTextChat,{yellow}[ Now Playing: {6383ff} Rusty Yet Pristine - GoodBobFR {yellow}],10,-1" } logic_relay { "targetname" "EscortFailure" "OnTrigger" "red_lose_relay,Trigger,,0,-1" //Despite the name this will make red lose, im just too lazy to change the name from my other rev "OnTrigger" "EscortVictory,disable,,0,-1" } env_shake { "spawnflags" "1" "amplitude" "16" "duration" "5" "frequency" "9" "targetname" "abrawlissurelybrewing" } logic_relay { "targetname" "walldown" "OnTrigger" "walldust,start,,0,-1" "OnTrigger" "walldust,Stop,,6,-1" "OnTrigger" "player,$PlaySoundToSelf,ambient\machines\wall_crash1.wav,1.2,-1" "OnTrigger" "player,$PlaySoundToSelf,denominator/drill2.wav,0,-1" "OnTrigger" "player,$PlaySoundToSelf,ambient\machines\wall_crash1.wav,1.2,-1" "OnTrigger" "player,$PlaySoundToSelf,denominator/drill2.wav,0,-1" "OnTrigger" "abrawlissurelybrewing,startshake,,1,-1" } logic_relay { "targetname" "walldown2" "OnTrigger" "secondwalldust,start,,0,-1" "OnTrigger" "secondwalldust,Stop,,6,-1" "OnTrigger" "player,$PlaySoundToSelf,ambient\machines\wall_crash1.wav,1.2,-1" "OnTrigger" "player,$PlaySoundToSelf,denominator/drill2.wav,0,-1" "OnTrigger" "player,$PlaySoundToSelf,ambient\machines\wall_crash1.wav,1.2,-1" "OnTrigger" "player,$PlaySoundToSelf,denominator/drill2.wav,0,-1" "OnTrigger" "abrawlissurelybrewing,startshake,,1,-1" } logic_relay { "targetname" "SectionComplete2-1Relay" // "OnTrigger" "B1_wall_break_relay,Trigger,,0,-1" "OnTrigger" "A1_door_unlock_relay,Trigger,,0,-1" "OnTrigger" "A1Annotation,Show,,0,-1" "OnTrigger" "tf_point_nav_interface*,recomputeblockers,,5,-1" } logic_relay { "targetname" "SectionComplete2-2Relay" "OnTrigger" "C1_wall_drill_relay,Trigger,,0,-1" "OnTrigger" "tf_point_nav_interface*,recomputeblockers,,60,-1" } logic_relay { "targetname" "SectionComplete2-3Relay" "OnTrigger" "A_route_wall_2_break_relay,Trigger,,0,-1" "OnTrigger" "tf_point_nav_interface*,recomputeblockers,,5,-1" } logic_relay { "targetname" "EscortVictory" "OnTrigger" "EscortFailure,Disable,,0,-1" "OnTrigger" "A_route_wall_3_break_relay,Trigger,,0,-1" "OnTrigger" "spawnbotHatchBMC,Disable,,0,-1" "OnTrigger" "spawnbotMidPlatform,Disable,,0,-1" "OnTrigger" "spawnbotDrillTankTall,Disable,,0,-1" "OnTrigger" "boom,trigger,,0,-1" "OnTrigger" "generatedeez,kill,,0,-1" "OnTrigger" "camera,$EnableAll,,3,-1" "OnTrigger" "camera,$DisableAll,,7,-1" "OnTrigger" "scrapflag*" "OnTrigger" "spawnbot*,disable,,0,-1" "OnTrigger" "cleanupbots,enable,,0,-1" "OnTrigger" "cleanupbots,disable,,1,-1" "OnTrigger" "red_spawn_security_door,open,,3.5,-1" "OnTrigger" "red_spawn_security_door,setspeed,45,0,-1" "OnTrigger" "tf_gamerules,PlayVO,ambient\rottenburg\tunneldoor_open.wav,3.5,-1" "OnTrigger" "tf_gamerules,PlayVO,ambient\rottenburg\tunneldoor_open_complete.wav,6,-1" "OnTrigger" "red_normal_mission_relay,trigger,,7,-1" "ONTrigger" "checking_office,enable,,7,-1" "OnTrigger" "red_spawn_point_normal*,Enable,,0,-1" "OnTrigger" "red_spawn_point_rev*,Disable,,0,-1" "OnTrigger" "officeNOW,show,,7,-1" } trigger_multiple { "targetname" "checking_office" "origin" "1586 -3880 166" "mins" "-500 -300 -300" "maxs" "500 300 300" "StartDisabled" "1" "spawnflags" "1" "OnStartTouchAll" "act_3_transition,trigger,,0,1" } logic_relay { "targetname" "fadeforcutscene" "OnTrigger" "noob,fade,,0,-1" "OnTrigger" "noob2,fade,,0.7,-1" } point_viewcontrol { "acceleration" "0" "deceleration" "0" "interpolatepositiontoplayer" "0" "spawnflags" "4" "speed" "0" "wait" "10" "targetname" "camera_grey" "origin" "1340 -2897 376" "angles" "0 -45 0" } logic_relay { "targetname" "act_3_transition" "OnTrigger" "moosic,kill,,10,1" "OnTrigger" "fadeforcutscene,trigger,,8.3,1" "OnTrigger" "fadeforcutscene,trigger,,16.3,1" "OnTrigger" "vault_door_open,trigger,,0,1" "OnTrigger" "camera_grey,$EnableAll,,9,-1" "OnTrigger" "camera_grey,$DisableAll,,17,-1" "OnTrigger" "player,SetHUDVisibility,0,9,-1" "OnTrigger" "player,SetHUDVisibility,1,17,-1" "OnTrigger" "tf_gamerules,PlayVO,misc\doomsday_cap_open_start.wav,10,-1" "OnTrigger" "tf_gamerules,PlayVO,mvm\mvm_tank_start.wav,12,1" "OnTrigger" "tf_gamerules,PlayVO,music\stingers\hl1_stinger_song27.mp3,33,1" "OnTrigger" "alarma,playsound,,2,1" "OnTrigger" "alarma,stopsound,,44,1" "OnTrigger" "carrier_unhide_relay,trigger,,22,1" "OnTrigger" "container_lift_lower_relay,trigger,,22,1" "OnTrigger" "carrier_lift_lower_relay,trigger,,22,1" "OnTrigger" "grey_mann_escape_relay,trigger,,12,1" "OnTrigger" "text_act_3,display,,45.1,1" "OnTrigger" "text_lower_act_3,display,,46,1" "OnTrigger" "spawnbotreddit,enable,,12,1" "OnTrigger" "tf_objective_resource,$SetClientProp$m_iszMvMPopfileName,TERMINATION - INDUSTRIAL SABOTAGE,46,1" "OnTrigger" "killtheoldman,show,,22,1" "OnTrigger" "func_respawnroomvisualizer*,setsolid,1,22,1" } game_text { "origin" "0 0 0" "targetname" "text_act_3" "message" "ACT 3" "x" "-1" "y" "0.4" "spawnflags" "1" "effect" "2" "channel" "1" "color" "255 255 255" "fxtime" "0.2" "fadeout" "1" //"fadein" "0" "holdtime" "5" } game_text { "origin" "0 0 0" "targetname" "text_lower_act_3" "message" "INDUSTRIAL SABOTAGE" "x" "-1" "y" "0.45" "effect" "2" "channel" "0" "spawnflags" "1" "color" "255 255 255" "fadein" "0.05" "fadeout" "1" "holdtime" "3.8" } ambient_generic { "targetname" "alarma" "message" "ambient\lair\jungle_alarm.wav" "health" "10" "pitch" "100" "spawnflags" "17" } logic_relay { "targetname" "WaveBeginRelay" "OnTrigger" "red_reverse_wave_start_relay,Trigger,,0,-1" "OnTrigger" "timerdisplay,runscriptfile,textualtimer_simple,0,-1" } trigger_hurt { "targetname" "cleanupbots" "origin" "0 0 0" "mins" "-5000 -5000 -5000" //Trigger bounds, relative to origin "maxs" "5000 5000 5000" "damage" "3000000" "damagecap" "3000000" "damagemodel" "0" "damagetype" "16" "filtername" "blue_team_filter" "nodmgforce" "1" "spawnflags" "1" "StartDisabled" "1" } info_target { "targetname" "spawn_info_target" "origin" "565 -88 336" "angles" "0 0 0" } info_target { "targetname" "spawn_info_target" "origin" "1264 -3786 32" "angles" "0 0 0" } trigger_teleport { "spawnflags" "1" "targetname" "telezone" "origin" "0 0 0" "target" "spawn_info_target" "mins" "-4000 -4000 -4000" "maxs" "4000 4000 4000" "StartDisabled" 1 } trigger_teleport { "spawnflags" "1" "targetname" "telezone_2" "origin" "384 1667 0" "target" "spawn_info_target" "mins" "-400 -400 -400" "maxs" "400 400 400" "StartDisabled" 1 } trigger_teleport { "spawnflags" "1" "targetname" "telezone_3" "origin" "384 1667 0" "target" "spawn_info_target_normal" "mins" "-400 -400 -400" "maxs" "400 400 400" "StartDisabled" 1 } info_target { "TargetName" "spawn_info_target_normal" "origin" "1322 -4214 56" "angles" "0 90 0" } ambient_generic { "targetname" "moosic" "message" "#rusty_yet_pristine.mp3" "health" "10" "pitch" "100" "spawnflags" "17" } logic_relay { "targetname" "Wave2BeginRelay" "OnTrigger" "red_reverse_wave_start_relay,Trigger,,0,-1" "OnTrigger" "bridge_flank_door_A_unlock_relay,Trigger,,0.1,-1" "OnTrigger" "bridge_flank_door_B_unlock_relay,Trigger,,0.1,-1" "OnTrigger" "bridge_flank_door_C_unlock_relay,Trigger,,0.1,-1" "OnTrigger" "A2_door_unlock_relay,Trigger,,0.1,-1" "OnTrigger" "upgradetp*,disable,,4,-1" "OnTrigger" "upgrade_station,disable,,0,-1" "OnTrigger" "cylindrical_upgrades_retract,trigger,,2,-1" "OnTrigger" "player,$PlaySoundToSelf,=90|vo\mvm\norm\engineer_mvm_battlecry03.mp3,0,-1" "OnTrigger" "player,$PlaySoundToSelf,=90|vo\mvm\norm\engineer_mvm_battlecry07.mp3,4,-1" "OnTrigger" "red_spawn_point_rev*,enable,,0,-1" "OnTrigger" "forward_spawn,disable,,0.1,-1" "OnTrigger" "telezone_2,disable,,15,-1" "OnTrigger" "moosic,PlaySound,,8.5,-1" } } Wave1CapPoint { logic_relay { "onspawn" "cap_point_a_cap,setcontrolpoint,cap_point_a,0,-1" //capture zones have to be manually assigned to their control points or they will stay locked forever "onspawn" "capdeez,show,,3,-1" } team_control_point_master // makes the cp hud show up { "targetname" "cap_master" "cpm_restrict_team_cap_win" "1" //restrict this team from winning by having all control points capped (0 is none and 1 restricts both), afaik winning through cap points is bugged and triggers multiple victories, use a game_round_win instead "custom_position_x" "0.3" //horizontal hud position, should be used to move it away from the bomb compass //"caplayout" "0 1 2" //allows vertical point layouts, "2, 0 1" will make a pyramid with the 2nd point on top and 1st on bottom left and 0th on bottom right } prop_dynamic //you get the deal "model" "models\props_spytech\radio_tower001.mdl" { "targetname" "cap_point_a_base" "origin" "534 -0 336" "model" "models/props_gameplay/cap_point_base.mdl" "solid" "0" "skin" "0" //skingroup to use, the control point base prop is a little special and doesnt follow the "0 is red 1 is blu" formula and instead 0 = neutral, 1 = red, 2 = blu } trigger_capture_area { "targetname" "cap_point_a_cap" "origin" "534 -0 336" "area_time_to_cap" "7" //cap lenght "area_cap_point" "cap_point_a" "team_cancap_2" "1" //can red cap? "team_cancap_3" "0" //can blu cap? "mins" "-210 -175 -166" "solid" 0 "maxs" "210 175 166" } team_control_point { "targetname" "cap_point_a" "solid" 0 "disableshadows" "1" "origin" "534 -0 336" "point_printname" "Drill Tank" //control point name to show in the killfeed "point_default_owner" "3" //initial owner, follows the standard "0 none 2 red 3 blu" "point_index" "0" //control point index used by the cap master for ui, must be individual, iirc 8 points maximum "point_start_locked" "0" //should it? use setlocked input with a 0 or 1 parameter to control the lock "team_model_0" "models/effects/cappoint_hologram.mdl" "team_model_2" "models/effects/cappoint_hologram.mdl" "team_model_3" "models/effects/cappoint_hologram.mdl" "team_icon_0" "sprites/obj_icons/icon_obj_neutral" //hud icon when neutral "team_icon_2" "sprites/obj_icons/icon_obj_red" "team_icon_3" "sprites/obj_icons/icon_obj_blu" "team_overlay_0" "sprites/obj_icons/icon_obj_a" //overlay sprite when neutral "team_overlay_2" "sprites/obj_icons/icon_obj_a" "team_overlay_3" "sprites/obj_icons/icon_obj_a" //"team_previouspoint_3_0" "pugachov protiv kirkorova" //previous control point for blu to cap, point to itself to make multiple neutral points work, team_previouspoint_2_0 for red "oncapteam1" "redwin_relay,trigger,,0,-1" "oncapteam1" "Wave1CapPoint,kill,,0,-1" "oncapteam1" "cap_master,SetCapLayoutCustomPositionY,5,0,-1" } } } ExtraSpawnPoint { Name "forward_spawn" X 594 Y 124 Z 336 TeamNum 2 StartDisabled 1 } ExtraSpawnPoint { Name "spawnbotABC" TeamNum 3 // 2 - Red team 3 - Robots. If you are adding spawn for reprogrammed robots, use team 3 X "300" Y "500" Z "20" } ExtraSpawnPoint { Name "spawnbotDEBridge" TeamNum 3 // 2 - Red team 3 - Robots. If you are adding spawn for reprogrammed robots, use team 3 X "-1760" Y "256" Z "200" } ExtraSpawnPoint { Name "spawnbotLava" TeamNum 3 // 2 - Red team 3 - Robots. If you are adding spawn for reprogrammed robots, use team 3 X "-1808" Y "-2256" Z "70" } ExtraSpawnPoint { Name "spawnbotDECrate" TeamNum 3 // 2 - Red team 3 - Robots. If you are adding spawn for reprogrammed robots, use team 3 X "-958" Y "-920" Z "20" } ExtraSpawnPoint { Name "spawnbotAControlWindow" TeamNum 3 // 2 - Red team 3 - Robots. If you are adding spawn for reprogrammed robots, use team 3 X 573 Y 0 Z 336 } ExtraSpawnPoint { Name "spawnbotABrokenStairs" TeamNum 3 // 2 - Red team 3 - Robots. If you are adding spawn for reprogrammed robots, use team 3 X "1300" Y "1200" Z "100" } ExtraSpawnPoint { Name "spawnbotAExitCorner" TeamNum 3 // 2 - Red team 3 - Robots. If you are adding spawn for reprogrammed robots, use team 3 X "1686" Y "-500" Z "100" } ExtraSpawnPoint { Name "spawnbotMidPlatform" TeamNum 3 // 2 - Red team 3 - Robots. If you are adding spawn for reprogrammed robots, use team 3 X "-188" Y "-1720" Z "276" } ExtraSpawnPoint { Name "spawnbotMidGround" TeamNum 3 // 2 - Red team 3 - Robots. If you are adding spawn for reprogrammed robots, use team 3 X 516 Y -760 Z 256 } ExtraSpawnPoint { Name "spawnbotHatchBMC" TeamNum 3 // 2 - Red team 3 - Robots. If you are adding spawn for reprogrammed robots, use team 3 X "860" Y "-2712" Z "20" } ExtraSpawnPoint { Name "spawnbotRedSpawnRight" TeamNum 3 // 2 - Red team 3 - Robots. If you are adding spawn for reprogrammed robots, use team 3 X "2028" Y "-3700" Z "100" } ExtraSpawnPoint { Name "spawnbotReddit" TeamNum 3 // 2 - Red team 3 - Robots. If you are adding spawn for reprogrammed robots, use team 3 X "1122" Y "-2046" Z "100" } ExtraSpawnPoint { Name "spawnbotDrillTankTall" TeamNum 3 // 2 - Red team 3 - Robots. If you are adding spawn for reprogrammed robots, use team 3 X 2823 Y -1814 Z 224 } ExtraSpawnPoint { Name "spawnbotDrillTankShort" TeamNum 3 // 2 - Red team 3 - Robots. If you are adding spawn for reprogrammed robots, use team 3 X "2606" Y "-1876" Z "20" } ExtraSpawnPoint { Name "spawnbotDrillTankBehind" TeamNum 3 // 2 - Red team 3 - Robots. If you are adding spawn for reprogrammed robots, use team 3 X "3252" Y "-1632" Z "230" } ExtraSpawnPoint { Name "spawnbotAustrailium" TeamNum 3 // 2 - Red team 3 - Robots. If you are adding spawn for reprogrammed robots, use team 3 X "1340" Y "-4254" Z "124" } ExtraSpawnPoint { Name "red_engi_spawn" TeamNum 2 X 1284 Y -2482 Z 0 } SpawnTemplate LoseRelay SpawnTemplate corelogic SpawnTemplate forcefields SpawnTemplate playerguides SpawnTemplate relays SpawnTemplate teleportstuff SpawnTemplate robotspawnindicators SpawnTemplate boss_foreshadowing Mission { Objective Spy Where spawnbotDrillTankTall BeginAtWave 1 RunForThisManyWaves 1 InitialCooldown 60 CooldownTime 40 DesiredCount 2 TFBot { Template T_TFBot_Spy } } Mission { Objective Spy Where spawnbotDrillTankTall BeginAtWave 2 RunForThisManyWaves 1 InitialCooldown 140 CooldownTime 40 DesiredCount 2 TFBot { Template T_TFBot_Spy } } Mission { Objective Sniper Where spawnbot_B2 Where spawnbot_A_route InitialCooldown 50 CooldownTime 15 DesiredCount 6 BeginAtWave 1 RunForThisManyWaves 1 TFBot { Class Soldier Skill Hard ClassIcon soldier_mangler_v2 Item "the cow mangler 5000" ItemAttributes { ItemName "The Cow Mangler 5000" "faster reload rate" 0.01 } } } ExtraTankPath { Name "sneakyfuckingtank" Node "-2521 -1280 0" Node "-245 -1280 0" Node "83 -1421 0" Node "223 -1712 0" Node "241 -2341 0" Node "399 -2722 0" Node "770 -2826 0" Node "1090 -2810 0" } ExtraTankPath //Adds tank path to follow { Name "escortpath" //name of the starting path node prefix. First tank node name would be name_1 Node "848 -287 336" //Turns currently consist of 3 nodes each unless otherwise stated. Node "370 0 400" Node "-370 0 400" Node "-1050 0 400" //Starts turning after this node - Turn 1 Node "-1085 -30 400" //Node 5 Node "-1120 -70 400" Node "-1160 -100 400" Node "-1160 -1000 70" //Starts turning after this node - Turn 2 Node "-1130 -1190 70" Node "-1100 -1220 70" //Node 10 Node "-1070 -1250 70" Node "-1040 -1280 70" Node "-900 -1280 70" Node "-820 -1280 70" //Node 14 - Slow down the tank to a crawl to allow it to 'drill.' Node "-724 -1280 70" //Node 15 - This is where the tank should break through the first door. Node "700 -1280 70" Node "716 -1280 70" //Node 17 - Doe's Drill Node "812 -1280 70" //Node 18 //Node 18 - This is where the tank should break through the second door. Node "1300 -1280 70" //Starts turning after this node - Turn 3 Node "1340 -1240 70" //Node 20 Node "1380 -1200 70" Node "1420 -1160 70" Node "1460 -1120 70" Node "1460 -980 70" //Node 24 - Haha! Tank go drill! Node "1460 -890 70" //Node 25 - Concrete wall go bye-bye Node "1456 -404 70" //From here, most of these node locations are from the actual map itself Node "1446 -304 70" Node "1417 -208 70" Node "1370 -120 70" Node "1306 -42 70" //Node 30 Node "1184 80 70" Node "1104 328 70" Node "1104 536 70" Node "1080 576 70" Node "1040 616 70" //Node 35 Node "1000 640 70" Node "940 640 70" //Final drilling begins } ExtraTankPath { Name "monorail_a" Node "0 -160 444" Node "0 -800 444" Node "4 -863 444" Node "16 -924 444" Node "36 -984 444" Node "64 -1040 444" Node "99 -1092 444" Node "141 -1139 444" Node "188 -1181 444" Node "240 -1216 444" Node "296 -1244 444" Node "356 -1264 444" Node "416 -1276 444" Node "480 -1280 444" Node "1283 -1281 444" } ExtraTankPath { Name "monorail_b" Node "-384 2304 444" Node "-800 2304 444" Node "-863 2300 444" Node "-924 2288 444" Node "-984 2268 444" Node "-1040 2240 444" Node "-1092 2205 444" Node "-1139 2163 444" Node "-1181 2116 444" Node "-1216 2064 444" Node "-1244 2008 444" Node "-1264 1948 444" Node "-1276 1887 444" Node "-1280 1824 444" Node "-1280 1504 444" } ExtraTankPath { Name "payload_path_B" Node "1360 -2600 8" Node "1892 -2809 8" Node "2335 -2591 8" Node "2553 -2148 8" Node "2401 -1580 8" node "1991 -1306 8" Node "1283 -1281 8" Node "-1216 -1280 8" Node "-1622 -1080 8" Node "-1728 -768 8" Node "-1728 864 -168" Node "-1622 1176 -168" Node "-1384 1344 -168" Node "-640 1344 8" Node "-90 1547 8" Node "-171 1547 8" } Mission { Objective DestroySentries Where spawnbot_right BeginAtWave 4 RunForThisManyWaves 2 InitialCooldown 10 CooldownTime 35 DesiredCount 1 TFBot { Template T_TFBot_SentryBuster } } // Mission // { // Objective Engineer // Where spawnbot // BeginAtWave 2 // RunForThisManyWaves 2 // InitialCooldown 30 // CooldownTime 45 // DesiredCount 1 // TFBot // { // Template T_TFBot_Engineer_Sentry_Teleporter // } // } Templates { unstablecharge { SpawnTemplate unstablecharge Item "Wavefinder" FireInput { Target "!self" Action "IgnitePlayer" Repeats 9999 Delay 1 Cooldown 1 } AddCond { Index 70 } FireInput { IfHealthBelow 2 Delay 2 Target !self Action $suicide } FireInput { IfHealthBelow 2 Delay 1.3 Target !self Action $PlaySound Param "items\cart_explode_trigger.wav" } CharacterAttributes { "attach particle effect" 236 "voice pitch scale" 1.45 } VoiceCommand { Delay 3 Cooldown 3 Type "Help" } } GiantHeavyDeflector { Class Heavyweapons Name "Giant Deflector Heavy" ClassIcon heavy_deflector Skill Expert Health 5000 Scale 1.8 WeaponRestrictions PrimaryOnly Attributes MiniBoss Item "The U-clank-a" CharacterAttributes { "move speed bonus" 0.4 "damage force reduction" 0.3 "airblast vulnerability multiplier" 0.4 "airblast vertical vulnerability multiplier" 0.1 "rage giving scale" 0.9 "override footstep sound set" 2 "damage bonus" 1.2 "attack projectiles" 2 } } GiantUberMedic { Class Medic Name "Giant Uber Medic" ClassIcon medic_uber_giant Skill Expert Health 4500 Attributes SpawnWithFullCharge WeaponRestrictions SecondaryOnly Attributes MiniBoss CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.6 "airblast vulnerability multiplier" 0.6 "heal rate bonus" 200 // only works on mediguns that have this attribute ie quickfix "bot medic uber health threshold" 1000 } } GiantKritzMedic { Class Medic Name "Giant Kritz Medic" ClassIcon medic_kritz Skill Expert Health 4500 Attributes SpawnWithFullCharge WeaponRestrictions SecondaryOnly Attributes MiniBoss Item "The Kritzkrieg" CharacterAttributes { "uber duration bonus" 999.0 "move speed bonus" 0.5 "damage force reduction" 0.6 "airblast vulnerability multiplier" 0.6 "heal rate bonus" 200 // only works on mediguns that have this attribute ie quickfix "bot medic uber health threshold" 4501 } } GiantShieldMedic { Class Medic Name "Giant Shield Medic" ClassIcon medic_shield_lite Skill Expert Health 4500 Attributes SpawnWithFullCharge WeaponRestrictions SecondaryOnly Attributes MiniBoss Attributes ProjectileShield Attributes SpawnWithFullCharge CharacterAttributes { "bot medic uber deploy delay duration" 999999 "generate rage on heal" 2 "heal rate bonus" 2 "move speed bonus" 0.5 "damage force reduction" 0.6 "airblast vulnerability multiplier" 0.6 "heal rate bonus" 200 // only works on mediguns that have this attribute ie quickfix "increase buff duration" 999.0 } } GiantHomingSoldier { Template T_TFBot_Giant_Demo_RapidFire Health 3800 ClassIcon demo_rapid_giant CharacterAttributes { "reload time decreased" 0.25 } } GiantHomingSoldierRapid { Template T_TFBot_Giant_Soldier_Spammer_Reload } GiantBisonRapid { Class Soldier Skill Expert Health 3800 ClassIcon soldier_bison_spammer Attributes "MiniBoss" Name "Giant Rapidfire Bison Soldier" WeaponRestrictions SecondaryOnly Item "The Righteous Bison" CharacterAttributes { "fire rate bonus" 0.1 "reload time decreased" 0.1 "move speed bonus" 0.5 "damage force reduction" 0.6 "airblast vulnerability multiplier" 0.6 } } GiantPyroFury { Class Pyro Skill Expert Health 3800 ClassIcon Pyro_dragon_fury Attributes "MiniBoss" Name "Giant Dragon's Fury Pyro" WeaponRestrictions PrimaryOnly Item "The Dragon's Fury" CharacterAttributes { "fire rate bonus" 0.8 "move speed bonus" 0.5 "damage force reduction" 0.6 "airblast vulnerability multiplier" 0.6 } } FamilyBusiness { Class Heavyweapons Skill Hard ClassIcon heavy_family_business Name "Family Business Heavy" WeaponRestrictions SecondaryOnly Item "The Family Business" } MonorailTank { Health 30000 Speed 75 Name "Monorail Tank" Gravity 0 DisableTracks 1 ReplaceModelCollisions 1 DisableChildModels 1 NoCrushDamage 1 StartingPathTrackNode monorail_tank_path_B ClassIcon tank_monorail_cng Model //Set custom model on tank. Will spit harmless errors on client console if the model does not have enough sequences { Default "models/monorail_tank.mdl" Damage1 "models/monorail_tank_damage1.mdl" Damage2 "models/monorail_tank_damage2.mdl" Damage3 "models/monorail_tank_damage3.mdl" } OnKilledOutput { Target boss_dead_relay Action Trigger } OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } GiantStickyDemo { Class Demoman Name "Giant Burst Fire Sticky Demo" ClassIcon demo_sticky_burst_giant Skill Expert Health 4500 Item "Bomb Beanie" Attributes HoldFireUntilFullReload Attributes MiniBoss WeaponRestrictions SecondaryOnly Tag giant ItemAttributes { ItemName "Bomb Beanie" "set item tint rgb" 6535423 } ItemAttributes { ItemName "TF_WEAPON_GRENADELAUNCHER" "is_passive_weapon" 1 "override projectile type" 27 //"clip size bonus" 2 } ItemAttributes { ItemName "TF_WEAPON_PIPEBOMBLAUNCHER" "stickybomb charge rate" 0.001 "faster reload rate" 0.6 "fire rate bonus" 0.01 "Projectile range increased" 0.4 "projectile spread angle penalty" 5 } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.5 "airblast vulnerability multiplier" 0.5 "override footstep sound set" 4 } } } Wave //WAVE 1 - CASH 700 { // Explanation // { // Line "{red}---ACT 2--- Unauthorized Acquisition" // Line "" // Line "Good work so far! Now we must move onto our next step!" // Line "We'll have to make quick work of the facility if we want to get out with the australium safely!" // Line "Be careful... and good luck!" // } WaitWhenDone 65 Checkpoint Yes SpawnTemplate act_intro SpawnTemplate texttimerv2_simple SpawnTemplate texttimerv2_setup CustomWaveNumber 2 CustomMaxWaveNumber 7 InitWaveOutput { Target Wave1Relay Action Trigger } StartWaveOutput { Target WaveBeginRelay Action Trigger Delay 6 } DoneOutput { Target red_reverse_wave_finished_relay Action trigger } SentryGun //Spawn sentry gun { TeamNum 2 //Red sentry Delay 0 //Delay before spawning, after starting the wave Level 3 //Sentrygun level //IsMini 1 //Is minisentry BodyGroup 1 //Bodygroup 1 - enable mini sentry cone light Skin 2 //skin 2, 3 - minisentry skin Health 99999 Delay 6 Position { X 470 Y 1400 Z 0 Pitch 0 Yaw -135 Roll 0 } } SentryGun //Spawn sentry gun { TeamNum 2 //Red sentry Delay 0 //Delay before spawning, after starting the wave Level 3 //Sentrygun level //IsMini 1 //Is minisentry BodyGroup 1 //Bodygroup 1 - enable mini sentry cone light Skin 2 //skin 2, 3 - minisentry skin Health 99999 Delay 6 Position { X 140 Y 1770 Z 0 Pitch 0 Yaw -135 Roll 0 } } WaveSpawn { FirstSpawnOutput { Target moosicwave1 Action PlaySound } Name Main1b TotalCurrency 50 TotalCount 15 MaxActive 5 SpawnCount 1 Where spawnbotMidPlatform WaitBeforeStarting 12 WaitBetweenSpawns 2 RandomSpawn 1 Support limited TFBot { Class Soldier Action Mobber Skill Normal Attributes "DisableDodge" } } WaveSpawn { Where spawnbot_B2 TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 99999999999999999999 WaitBetweenSpawns 10 HideIcon 1 TotalCurrency 0 TFBot { Template T_TFBot_Demo_Burst } } WaveSpawn { Name Main1b TotalCurrency 50 TotalCount 16 MaxActive 6 SpawnCount 2 Where spawnbotRedSpawnRight //redspawnbroke WaitBeforeStarting 6 WaitBetweenSpawns 5 RandomSpawn 1 Support limited TFBot { Template T_TFBot_Heavyweapons_Shotgun Action Mobber Attributes "DisableDodge" } } WaveSpawn { Name Main1 TotalCurrency 100 TotalCount 1 MaxActive 1 SpawnCount 1 Where spawnbotDrillTankTall WaitBeforeStarting 6 WaitBetweenSpawns 4 RandomSpawn 1 FirstSpawnOutput { Target SetupWave1FinishedRelay Action Trigger } TFBot { Template T_TFBot_Giant_Demo_Burst Name "Sector B1 Security Robot" AlwaysGlow 1 Action Mobber Attributes "UseBossHealthBar" Health 8000 Attributes "DisableDodge" InterruptAction // Stop current bot ai and force the bot to move to a location { Target "2845 -1832 224" // Entity / bot / class name as an alternative. Also: RandomEnemy, ClosestPlayer // Attack aim target (Default: 0) Delay 2 // Time before the first task starts. Must be above 0, or it will not execute (Default: 10) Repeats 0 // How many times should bot do the task in total (Default: 0 - Infinite) Duration 3 // How long should the ai be interrupted Cooldown 5 WaitUntilDone 1 // If set, duration timer only starts when the bot moves to the target location or the aim target is killed (Default: 0) } } } WaveSpawn { Name Main1 TotalCurrency 75 TotalCount 1 MaxActive 1 SpawnCount 1 Where spawnbotRedSpawnRight WaitBeforeStarting 6 WaitBetweenSpawns 4 RandomSpawn 1 TFBot { Template T_TFBot_Giant_Soldier_Crit Name "Sector B1 Security Robot" HeadRotateSpeed 2000 AlwaysGlow 1 Action Mobber Attributes "UseBossHealthBar" Health 8000 Attributes "DisableDodge" InterruptAction // Stop current bot ai and force the bot to move to a location { Target "2029 -3696 78" // Entity / bot / class name as an alternative. Also: RandomEnemy, ClosestPlayer // Attack aim target (Default: 0) Delay 2 // Time before the first task starts. Must be above 0, or it will not execute (Default: 10) Repeats 0 // How many times should bot do the task in total (Default: 0 - Infinite) Duration 3 // How long should the ai be interrupted Cooldown 10 WaitUntilDone 1 // If set, duration timer only starts when the bot moves to the target location or the aim target is killed (Default: 0) } } } WaveSpawn { WaitForAllDead Main1 Name Main2b TotalCurrency 50 TotalCount 8 MaxActive 4 SpawnCount 1 Where spawnbot_left_tank Where spawnbot_right_tank WaitBeforeStarting 10 WaitBetweenSpawns 6 RandomSpawn 1 Support limited TFBot { Template T_TFbot_Soldier_Extended_Concheror Action Mobber Attributes "DisableDodge" } } WaveSpawn { WaitForAllDead Main1 Name Main2b TotalCurrency 50 TotalCount 16 MaxActive 6 SpawnCount 2 Where spawnbot_B2 WaitBeforeStarting 0 WaitBetweenSpawns 3 RandomSpawn 1 Support limited TFBot { Template T_TFbot_Sniper_Huntsman Action Passive Skill Hard Attributes "DisableDodge" } } WaveSpawn { WaitForAllDead Main1 Name Main2 TotalCurrency 100 TotalCount 1 MaxActive 1 SpawnCount 1 Where spawnbotDECrate WaitBeforeStarting 0 WaitBetweenSpawns 4 RandomSpawn 1 FirstSpawnOutput { Target SectionComplete1-1Relay Action Trigger } TFBot { Template T_TFBot_Giant_Pyro Name "Loading Zone Security Robot" AlwaysGlow 1 Action Passive Attributes "UseBossHealthBar" Health 6000 Attributes "DisableDodge" } } WaveSpawn { WaitForAllDead Main1 Name Main2 TotalCurrency 100 TotalCount 1 MaxActive 1 SpawnCount 1 Where spawnbotDEBridge WaitBeforeStarting 0 WaitBetweenSpawns 4 RandomSpawn 1 TFBot { Template T_TFBot_Giant_Soldier_Spammer Name "Loading Zone Security Robot" HeadRotateSpeed 2000 AlwaysGlow 1 Action Idle Attributes "UseBossHealthBar" Health 8000 Attributes "DisableDodge" InterruptAction // Stop current bot ai and force the bot to move to a location { Target "-1632 258 192" // Entity / bot / class name as an alternative. Also: RandomEnemy, ClosestPlayer // Attack aim target (Default: 0) Delay 2 // Time before the first task starts. Must be above 0, or it will not execute (Default: 10) Repeats 0 // How many times should bot do the task in total (Default: 0 - Infinite) Duration 3 // How long should the ai be interrupted Cooldown 10 WaitUntilDone 1 // If set, duration timer only starts when the bot moves to the target location or the aim target is killed (Default: 0) } } } WaveSpawn { WaitForAllDead Main2 Name Main3 TotalCurrency 50 TotalCount 1 MaxActive 1 SpawnCount 1 Where spawnbotAControlWindow WaitBeforeStarting 0 WaitBetweenSpawns 4 RandomSpawn 1 FirstSpawnOutput { Target SectionComplete1-2Relay Action Trigger } TFBot { Template T_TFBot_Giant_Heavyweapons Name "Control Room Security Robot" HeadRotateSpeed 2000 AlwaysGlow 1 Action Mobber Attributes "UseBossHealthBar" Health 8000 Attributes "DisableDodge" InterruptAction // Stop current bot ai and force the bot to move to a location { Target "543 -1 336" // Entity / bot / class name as an alternative. Also: RandomEnemy, ClosestPlayer // Attack aim target (Default: 0) Delay 2 // Time before the first task starts. Must be above 0, or it will not execute (Default: 10) Repeats 0 // How many times should bot do the task in total (Default: 0 - Infinite) Duration 3 // How long should the ai be interrupted Cooldown 10 WaitUntilDone 1 // If set, duration timer only starts when the bot moves to the target location or the aim target is killed (Default: 0) } } } WaveSpawn { WaitForAllDead Main2 Name Main3b TotalCurrency 50 TotalCount 16 MaxActive 6 SpawnCount 2 Where spawnbot_A_route WaitBeforeStarting 0 WaitBetweenSpawns 3 RandomSpawn 1 Support limited TFBot { Template T_TFbot_Pyro Action Mobber Skill Easy Attributes "DisableDodge" } } } Wave //WAVE 2 - CASH 700 { WaitWhenDone 65 Checkpoint Yes CustomWaveNumber 3 CustomMaxWaveNumber 7 Explanation { Line "{red}Good work! We've captured an enemy drill tank! Escort it so you can damage the power grid!" } InitWaveOutput { Target Wave2Relay Action Trigger } StartWaveOutput { Target Wave2BeginRelay Action Trigger } DoneOutput { Target wave_finished_relay Action trigger } SentryGun //Spawn sentry gun { TeamNum 2 //Red sentry Delay 0 //Delay before spawning, after starting the wave Level 3 //Sentrygun level //IsMini 1 //Is minisentry BodyGroup 1 //Bodygroup 1 - enable mini sentry cone light Skin 2 //skin 2, 3 - minisentry skin Health 99999 Position { X 470 Y 1400 Z 0 Pitch 0 Yaw -135 Roll 0 } } SentryGun //Spawn sentry gun { TeamNum 2 //Red sentry Delay 0 //Delay before spawning, after starting the wave Level 3 //Sentrygun level //IsMini 1 //Is minisentry BodyGroup 1 //Bodygroup 1 - enable mini sentry cone light Skin 2 //skin 2, 3 - minisentry skin Health 99999 Position { X 140 Y 1770 Z 0 Pitch 0 Yaw -135 Roll 0 } } WaveSpawn { Name Main4-2 //Named for later so the final subwave appears at the proper time TotalCurrency 0 TotalCount 1 MaxActive 1 SpawnCount 1 Where spawnbot_B2 WaitBeforeStarting 0 WaitBetweenSpawns 4 RandomSpawn 1 FirstSpawnOutput { Target SetupWave2FinishedRelay Action Trigger } Tank { StartingPathTrackNode escortpath_1 Health 25000 TeamNum 2 Skin 2 SpawnTemplate DrillTankV2 ClassIcon tank_red_drill_lite MaxTurnRate 100 OnBombDroppedOutput { Target EscortVictory Action Trigger } OnKilledOutput { Target EscortFailure Action Trigger } Model //Set custom model on tank. Will spit harmless errors on client console if the model does not have enough sequences { Default "models/watermine/drill_tank.mdl" Damage1 "models/watermine/drill_tank_damage1.mdl" Damage2 "models/watermine/drill_tank_damage2.mdl" Damage3 "models/watermine/drill_tank_damage3.mdl" } } } WaveSpawn { FirstSpawnWarningSound vo\mvm\mght\soldier_mvm_m_cheers05.mp3 TotalCurrency 50 TotalCount 3 MaxActive 1 SpawnCount 1 Where spawnbot_B2 WaitBeforeStarting 30 WaitBetweenSpawns 25 RandomSpawn 1 TFBot { Template T_TFBot_Giant_Soldier_Spammer_Reload SpawnTemplate repairflag Action Mobber Attributes "DisableDodge" CharacterAttributes { "cannot pick up intelligence" 0 } } } WaveSpawn { FirstSpawnWarningSound vo\mvm\norm\pyro_mvm_battlecry01.mp3 TotalCurrency 50 TotalCount 36 MaxActive 6 SpawnCount 3 Where spawnbotLava WaitBeforeStarting 7 WaitBetweenSpawns 7 RandomSpawn 1 Support limited TFBot { Template T_TFBot_Pyro Action Mobber Skill Easy Attributes "AlwaysFireWeapon" Attributes "DisableDodge" AddCond {Index 51 Duration 1.5} InterruptAction // Stop current bot ai and force the bot to move to a location { Target "tank_boss" // Entity / bot / class name as an alternative. Also: RandomEnemy, ClosestPlayer AimTarget "tank_boss" // Entity / bot / class name as an alternative. Also: RandomEnemy, ClosestPlayer KillAimTarget 1 // Attack aim target (Default: 0) Delay 1 // Time before the first task starts. Must be above 0, or it will not execute (Default: 10) Repeats 1 // How many times should bot do the task in total (Default: 0 - Infinite) Duration 9999 // How long should the ai be interrupted WaitUntilDone 1 // If set, duration timer only starts when the bot moves to the target location or the aim target is killed (Default: 0) } } } WaveSpawn { TotalCurrency 25 TotalCount 56 MaxActive 6 SpawnCount 2 Where spawnbot_B2 WaitBeforeStarting 0 WaitBetweenSpawns 3 RandomSpawn 1 Support limited RandomChoice //1 in 7 scowuts hold it { TFBot { Template T_TFBot_Soldier_RocketPush Action Mobber Attributes "DisableDodge" } TFBot { Template T_TFBot_Soldier_RocketPush Action Mobber Attributes "DisableDodge" } TFBot { Class Scout Name "Scout" WeaponRestrictions PrimaryOnly Action Mobber Attributes "DisableDodge" } TFBot { Class Scout Name "Scout" WeaponRestrictions PrimaryOnly Action Mobber Attributes "DisableDodge" } TFBot { Class Scout Name "Scout" WeaponRestrictions PrimaryOnly Action Mobber Attributes "DisableDodge" } TFBot { Class Scout Name "Scout" WeaponRestrictions PrimaryOnly Action Mobber Attributes "DisableDodge" } TFBot { Class Scout Name "Scout" WeaponRestrictions PrimaryOnly Action Mobber SpawnTemplate repairflag Attributes "DisableDodge" } } } //SECTION 2 WAVESPAWNS WaveSpawn { Name giganoob FirstSpawnWarningSound vo\mvm\mght\demoman_mvm_m_battlecry02.mp3 TotalCurrency 15 TotalCount 1 MaxActive 1 SpawnCount 1 Where spawnbotMidPlatform WaitBeforeStarting 110 WaitBetweenSpawns 13 RandomSpawn 1 TFBot { Template T_TFBot_Giant_Demo_Burst SpawnTemplate repairflag Skill Expert Action Mobber Attributes "DisableDodge" CharacterAttributes { "cancel falling damage" 1 } } } WaveSpawn { WaitForAllSpawned giganoob TotalCurrency 35 TotalCount 3 MaxActive 3 SpawnCount 1 Where spawnbotHatchBMC WaitBeforeStarting 20 WaitBetweenSpawns 15 RandomSpawn 1 TFBot { Template T_TFBot_Giant_Demo_Burst SpawnTemplate repairflag Skill Expert Action Mobber Attributes "DisableDodge" CharacterAttributes { "cancel falling damage" 1 } } } WaveSpawn { TotalCurrency 50 TotalCount 16 MaxActive 8 SpawnCount 2 Where spawnbotHatchBMC WaitBeforeStarting 115 WaitBetweenSpawns 12 RandomSpawn 1 Support limited TFBot { Class Heavyweapons Name "Heavy" Skill Easy Action Mobber Attributes "DisableDodge" } } WaveSpawn { FirstSpawnWarningSound vo\mvm\norm\heavy_mvm_go01.mp3 TotalCurrency 50 TotalCount 40 MaxActive 12 SpawnCount 4 Where spawnbot_A_route WaitBeforeStarting 107 WaitBetweenSpawns 8 RandomSpawn 1 Support limited FirstSpawnOutput { Target controlroom_window Action Trigger Delay 1.5 } TFBot { Class Heavyweapons Item "Warrior's Spirit" Name "Warrior Heavy" WeaponRestrictions MeleeOnly ClassIcon heavy_warrior Attributes "AlwaysCrit" Action Mobber Attributes "DisableDodge" InterruptAction // Stop current bot ai and force the bot to move to a location { Target "-78 -659 322" // Entity / bot / class name as an alternative. Also: RandomEnemy, ClosestPlayer Delay 0 // Time before the first task starts. Must be above 0, or it will not execute (Default: 10) Repeats 1 // How many times should bot do the task in total (Default: 0 - Infinite) Duration 10 // How long should the ai be interrupted WaitUntilDone 1 // If set, duration timer only starts when the bot moves to the target location or the aim target is killed (Default: 0) } InterruptAction // Stop current bot ai and force the bot to move to a location { Target "tank_boss" // Entity / bot / class name as an alternative. Also: RandomEnemy, ClosestPlayer AimTarget "tank_boss" // Entity / bot / class name as an alternative. Also: RandomEnemy, ClosestPlayer KillAimTarget 1 // Attack aim target (Default: 0) Delay 10.1 // Time before the first task starts. Must be above 0, or it will not execute (Default: 10) Repeats 1 // How many times should bot do the task in total (Default: 0 - Infinite) Duration 9999 // How long should the ai be interrupted WaitUntilDone 1 // If set, duration timer only starts when the bot moves to the target location or the aim target is killed (Default: 0) } } } //SECTION 3 WAVESPAWNS WaveSpawn { FirstSpawnWarningSound vo\mvm\mght\heavy_mvm_m_battlecry01.mp3 Name Main3-1 TotalCurrency 25 TotalCount 1 MaxActive 1 SpawnCount 1 Where spawnbotHatchBMC WaitBeforeStarting 185 WaitBetweenSpawns 25 RandomSpawn 1 TFBot { Template T_TFBot_Giant_Heavyweapons SpawnTemplate repairflag Action Mobber Attributes "DisableDodge" } } WaveSpawn { FirstSpawnWarningSound vo\mvm\mght\scout_mvm_m_go01.mp3 WaitForAllDead Main3-1 Name Main3-2 TotalCurrency 50 TotalCount 3 MaxActive 3 SpawnCount 1 Where spawnbotRedSpawnRight WaitBeforeStarting 0 WaitBetweenSpawns 15 RandomSpawn 1 TFBot { Template T_TFBot_Giant_Scout Attributes "AlwaysCrit" Action Mobber MaxVisionRange 900 SpawnTemplate repairflag Attributes "DisableDodge" } } WaveSpawn { TotalCurrency 25 TotalCount 36 MaxActive 4 SpawnCount 2 Where spawnbotReddit //rsbroke WaitBeforeStarting 200 WaitBetweenSpawns 6 RandomSpawn 1 Support limited TFBot { Template T_TFBot_Pyro_Flaregun Action Mobber Attributes "DisableDodge" } } WaveSpawn { TotalCurrency 25 TotalCount 10 MaxActive 4 SpawnCount 2 Where spawnbotDrillTankTall WaitBeforeStarting 185 WaitBetweenSpawns 7 RandomSpawn 1 Support limited TFBot { Template T_TFBot_Soldier_RocketShotgun Action Mobber Attributes "DisableDodge" } } WaveSpawn { FirstSpawnWarningSound vo\mvm\norm\demoman_mvm_go02.mp3 TotalCurrency 25 TotalCount 14 MaxActive 4 SpawnCount 2 Where spawnbotReddit //rsb WaitBeforeStarting 200 WaitBetweenSpawns 8 RandomSpawn 1 Support limited FirstSpawnOutput { Target spawnbotreddit_wall Action trigger } TFBot { Template T_TFBot_Demoman_Knight Action Mobber Attributes "DisableDodge" InterruptAction // Stop current bot ai and force the bot to move to a location { Target "tank_boss" // Entity / bot / class name as an alternative. Also: RandomEnemy, ClosestPlayer AimTarget "tank_boss" // Entity / bot / class name as an alternative. Also: RandomEnemy, ClosestPlayer KillAimTarget 1 // Attack aim target (Default: 0) Delay 1 // Time before the first task starts. Must be above 0, or it will not execute (Default: 10) Repeats 1 // How many times should bot do the task in total (Default: 0 - Infinite) Duration 9999 // How long should the ai be interrupted WaitUntilDone 1 // If set, duration timer only starts when the bot moves to the target location or the aim target is killed (Default: 0) } } } //SECTION 4 WAVESPAWNS WaveSpawn { FirstSpawnWarningSound vo\mvm\mght\soldier_mvm_m_laughevil02.mp3 Name Main4-1 TotalCurrency 25 TotalCount 1 MaxActive 1 SpawnCount 1 Where spawnbot_A_route_giant WaitBeforeStarting 275 WaitBetweenSpawns 40 RandomSpawn 1 TFBot { Template T_TFBot_Giant_Soldier_SlowBarrage SpawnTemplate repairflag Action Mobber Attributes "DisableDodge" InterruptAction // Stop current bot ai and force the bot to move to a location { Target "tank_boss" // Entity / bot / class name as an alternative. Also: RandomEnemy, ClosestPlayer AimTarget "tank_boss" // Entity / bot / class name as an alternative. Also: RandomEnemy, ClosestPlayer KillAimTarget 1 // Attack aim target (Default: 0) Delay 1 // Time before the first task starts. Must be above 0, or it will not execute (Default: 10) Repeats 1 // How many times should bot do the task in total (Default: 0 - Infinite) Duration 9999 // How long should the ai be interrupted WaitUntilDone 1 // If set, duration timer only starts when the bot moves to the target location or the aim target is killed (Default: 0) } } } WaveSpawn { FirstSpawnWarningSound vo\mvm\mght\demoman_mvm_m_go03.mp3 WaitForAllDead Main4-1 Name Main4-2 TotalCurrency 25 TotalCount 4 MaxActive 4 SpawnCount 1 Where spawnbot_A_route WaitBeforeStarting 10 WaitBetweenSpawns 20 RandomSpawn 1 TFBot { Template GiantStickyDemo Action Mobber SpawnTemplate repairflag ExtAttr IgnoreNPC Attributes "DisableDodge" } } // WaveSpawn // { // WaitForAllDead Main4-2 // Name Main4-3 // TotalCurrency 25 // TotalCount 2 // MaxActive 2 // SpawnCount 2 // Where spawnbotHatchBMC // WaitBeforeStarting 0 // WaitBetweenSpawns 15 // RandomSpawn 1 // Squad // { // TFBot // { // Template T_TFBot_Giant_Soldier_SlowBarrage // Action Mobber // InterruptAction // Stop current bot ai and force the bot to move to a location // { // Target "tank_boss" // Entity / bot / class name as an alternative. Also: RandomEnemy, ClosestPlayer // AimTarget "tank_boss" // Entity / bot / class name as an alternative. Also: RandomEnemy, ClosestPlayer // KillAimTarget 1 // Attack aim target (Default: 0) // Delay 1 // Time before the first task starts. Must be above 0, or it will not execute (Default: 10) // Repeats 1 // How many times should bot do the task in total (Default: 0 - Infinite) // Duration 9999 // How long should the ai be interrupted // WaitUntilDone 1 // If set, duration timer only starts when the bot moves to the target location or the aim target is killed (Default: 0) // } // } // TFBot // { // Template T_TFBot_Giant_Medic // } // } // } WaveSpawn { Name Main4-1b TotalCurrency 25 TotalCount 16 MaxActive 6 SpawnCount 2 Where spawnbotDrillTankShort WaitBeforeStarting 290 WaitBetweenSpawns 6 RandomSpawn 1 Support limited TFBot { Template T_TFBot_Pyro Item "The Dragon's Fury" ClassIcon pyro_dragon_fury //Uncomment if needed for clarity Action Mobber Attributes "DisableDodge" InterruptAction // Stop current bot ai and force the bot to move to a location { Target "tank_boss" // Entity / bot / class name as an alternative. Also: RandomEnemy, ClosestPlayer AimTarget "tank_boss" // Entity / bot / class name as an alternative. Also: RandomEnemy, ClosestPlayer KillAimTarget 1 // Attack aim target (Default: 0) Delay 1 // Time before the first task starts. Must be above 0, or it will not execute (Default: 10) Repeats 1 // How many times should bot do the task in total (Default: 0 - Infinite) Duration 9999 // How long should the ai be interrupted WaitUntilDone 1 // If set, duration timer only starts when the bot moves to the target location or the aim target is killed (Default: 0) } } } WaveSpawn { Name Main4-1b TotalCurrency 25 TotalCount 16 MaxActive 6 SpawnCount 2 Where spawnbotDrillTankTall WaitBeforeStarting 290 WaitBetweenSpawns 6 RandomSpawn 1 Support limited RandomChoice { TFBot { Template T_TFBot_Demo_Burst Item "The Loch-n-Load" Action Mobber Attributes "DisableDodge" ItemAttributes { Itemname "The Loch-n-Load" "faster reload rate" 1.75 "fire rate bonus" 0.05 "clip size penalty" 0.5 "projectile spread angle penalty" 3 } } TFBot { Template T_TFBot_Demo_Burst Item "The Loch-n-Load" Action Mobber Attributes "DisableDodge" ItemAttributes { Itemname "The Loch-n-Load" "faster reload rate" 1.75 "fire rate bonus" 0.05 "clip size penalty" 0.5 "projectile spread angle penalty" 3 } } TFBot { Template T_TFBot_Demo_Burst Item "The Loch-n-Load" Action Mobber SpawnTemplate repairflag Attributes "DisableDodge" ItemAttributes { Itemname "The Loch-n-Load" "faster reload rate" 1.75 "fire rate bonus" 0.05 "clip size penalty" 0.5 "projectile spread angle penalty" 3 } } } } WaveSpawn { WaitForAllSpawned Main4-1b Name Main4-2b TotalCurrency 25 TotalCount 21 MaxActive 6 SpawnCount 3 Where spawnbotDrillTankTall WaitBeforeStarting 10 WaitBetweenSpawns 7 RandomSpawn 1 Support Limited TFBot { Template T_TFBot_Pyro_Flaregun Action Mobber Attributes "DisableDodge" } } WaveSpawn { WaitForAllSpawned Main4-1b Name Main4-2b TotalCurrency 25 TotalCount 15 MaxActive 6 SpawnCount 2 Where spawnbotMidPlatform WaitBeforeStarting 10 WaitBetweenSpawns 7 RandomSpawn 1 Support 1 TFBot { Class Heavyweapons Name "Heavy" Skill Easy Action Mobber Attributes "DisableDodge" } } WaveSpawn { WaitForAllDead Main4-2 Name Main4-3b TotalCurrency 25 TotalCount 16 MaxActive 6 SpawnCount 2 Where spawnbotMidPlatform WaitBeforeStarting 10 WaitBetweenSpawns 6 RandomSpawn 1 Support 1 TFBot { Class Soldier Action Mobber Skill Normal Attributes "AlwaysCrit" Attributes "DisableDodge" } } WaveSpawn { Name "" WaitForAllDead "Main4-2" Where spawnbotReddit TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 10 WaitBetweenSpawns 0 TotalCurrency 0 HideIcon 1 TFBot { Class Soldier ClassIcon tank_lite Name "Tamk lmao" Skill Easy Scale 0.001 Health 40000 Attributes IgnoreEnemies Attributes IgnoreFlag Attributes SuppressFire Attributes UseBossHealthBar Action Idle AddCond { Name TF_COND_STEALTHED_USER_BUFF_FADING } StripItemSlot 0 StripItemSlot 1 StripItemSlot 2 UseCustomModel "models/empty.mdl" FireInput { Target !self //targets the bot this is on Action $Suicide Delay 39 } CharacterAttributes { "cancel falling damage" 1 "cannot be sapped" 1 "not solid to players" 1 "rage giving scale" 0 "no_jump" 1 "move speed bonus" 0.001 "cannot pick up intelligence" 1 "voice pitch scale" 0 "damage force reduction" 0.001 "airblast vulnerability multiplier" 0.0001 "dmg from melee increased" 0.0001 "dmg taken from fire reduced" 0.0001 "dmg from ranged reduced" 0.0001 "afterburn immunity" 1 "wet immunity" 1 } } } // WaveSpawn // { // WaitForAllDead MiniBossPrequel // Name MiniBossFinale // TotalCurrency 25 // TotalCount 1 // MaxActive 1 // SpawnCount 1 // Where spawnbotRedSpawnRight // WaitBeforeStarting 0 // WaitBetweenSpawns 0 // RandomSpawn 1 // TFBot // { // Template T_TFBot_Giant_Soldier // Health 25000 // Attributes "UseBossHealthBar" // Attributes "HoldFireUntilFullReload" // Action Mobber // AlwaysGlow 1 // ClassIcon soldier_barrage_homing_nys // Name "Giant Lock-on Barrage Soldier" // RocketCustomParticle "eyeboss_projectile" // HeadRotateSpeed 2000 // CharacterAttributes // { // "clip size bonus" 5 // "fire rate bonus" 0.2 // "faster reload rate" 0.4 // "projectile no deflect" 1 // } // Message //Displays message in the chat // { // Name "{red}The rockets of this soldier cannot be deflected!" //Message in the chat displayed // Delay 0 //Time before the message is first displayed (Default: 10) // Repeats 1 //How many times should bot display the message (Default: 0 - Infinite) // } // HomingRockets // { // RocketSpeed 0.001 // Multiplier of rocket speed. (Default: 1) // TurnPower 360 //How fast should the rocket rotate to face the target (Default: 10) // MaxAimError 360 //Max angle between rocket and the target (Default: 105) // AimTime 1 //How long should the rocket be aiming (Default: 9999) // AimStartTime 0 //How many seconds before the rocket should be aiming (Default: 0) // Acceleration 5000 //Acceleration in hu (Default: 0) // AccelerationTime 1 //How long should the rocket accelerate (Default: 9999) // AccelerationStartTime 1.5 //Time before rockets start accelerating (Default: 0) // FollowCrosshair 1 // Follow crosshair instead of enemies (Default: 0) // } // } // } } SpawnTemplate wave4setup wave { CustomWaveNumber 4 CustomMaxWaveNumber 7 SpawnTemplate wave4_thinguses StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } InitWaveOutput { Target oleada4 Action Trigger } WaveSpawn { Name "timeforonehellofarepair" WaitForAllDead "" Where red_engi_spawn TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 0 TotalCurrency 0 Support Limited HideIcon 1 TFBot { Name "Reprogrammed Technician" Class Engineer Skill Expert Health 27500 Attributes UseBossHealthBar WeaponRestrictions MeleeOnly Attributes MiniBoss Attributes AlwaysFireWeapon Action Mobber Item "Golden Wrench" ClassIcon vip AlwaysGlow 1 Scale 1 Addcond {Index 43} ItemAttributes { ItemName "Golden Wrench" "killstreak tier" 1 "damage bonus" 20 } CharacterAttributes { "rocket specialist" 1 "kill forces attacker to laugh" 1 "move speed bonus" 0.001 "no_jump" 1 "cannot be backstabbed" 1 "never gib" 1 } InterruptAction // Stop current bot ai and force the bot to move to a location { Target "1282 -2918 0" // Entity / bot / class name as an alternative. Also: RandomEnemy, ClosestPlayer AimTarget "1282 -2918 0" // Entity / bot / class name as an alternative. Also: RandomEnemy, ClosestPlayer KillAimTarget 1 // Attack aim target (Default: 0) Delay 1 // Time before the first task starts. Must be above 0, or it will not execute (Default: 10) Repeats 1 // How many times should bot do the task in total (Default: 0 - Infinite) Duration 9999 // How long should the ai be interrupted WaitUntilDone 1 // If set, duration timer only starts when the bot moves to the target location or the aim target is killed (Default: 0) } FireInput { Delay 256.7 Target !self Action $suicide } } DoneOutput { Target red_lose_relay Action Trigger } } WaveSpawn { Name "" WaitForAllDead "" Where spawnbotReddit TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 180 WaitBetweenSpawns 0 Support Limited TotalCurrency 0 HideIcon 1 TFBot { Class Soldier ClassIcon tank_lite Name "Tamk lmao" Skill Easy Scale 0.001 Health 40000 Attributes IgnoreEnemies Attributes IgnoreFlag Attributes SuppressFire Action Idle AddCond { Name TF_COND_STEALTHED_USER_BUFF_FADING } StripItemSlot 0 StripItemSlot 1 StripItemSlot 2 UseCustomModel "models/empty.mdl" FireInput { Target !self //targets the bot this is on Action $Suicide Delay 0.1 } CharacterAttributes { "cancel falling damage" 1 "cannot be sapped" 1 "not solid to players" 1 "rage giving scale" 0 "no_jump" 1 "move speed bonus" 0.001 "cannot pick up intelligence" 1 "voice pitch scale" 0 "damage force reduction" 0.001 "airblast vulnerability multiplier" 0.0001 "dmg from melee increased" 0.0001 "dmg taken from fire reduced" 0.0001 "dmg from ranged reduced" 0.0001 "afterburn immunity" 1 "wet immunity" 1 } } } WaveSpawn { Name "wave00" TotalCount 2 MaxActive 2 SpawnCount 1 Where spawnbot_right FirstSpawnOutput { Target cmonrobots Action Trigger } TotalCurrency 50 WaitBeforeStarting 6 WaitBetweenSpawns 2 TFBot { Template T_TFBot_Giant_Scout_Fast AddCond { Index 54 Delay 0 Duration 2 } AlwaysGlow 1 // just incase any players stay behind. } } WaveSpawn { Name "wave01" TotalCount 4 MaxActive 4 SpawnCount 1 Where spawnbot_right TotalCurrency 125 WaitForAllSpawned "wave00" WaitBeforeStarting 5 WaitBetweenSpawns 11 TFBot { Template T_TFBot_Giant_Soldier_Spammer } } WaveSpawn { Name "steels" TotalCount 16 MaxActive 6 SpawnCount 2 Where spawnbot_right Where spawnbot_left_tank TotalCurrency 25 WaitForAllSpawned "wave00" WaitBeforeStarting 12 WaitBetweenSpawns 7 TFBot { Template T_TFBot_Heavyweapons_Fist } } WaveSpawn { Name "wave01" TotalCount 24 MaxActive 10 SpawnCount 2 Where spawnbot_right Where spawnbot_left_tank TotalCurrency 50 WaitForAllSpawned "wave00" WaitBeforeStarting 4 WaitBetweenSpawns 4 TFBot { Class Soldier SKill Normal } } WaveSpawn { WaitForAllSpawned wave01 TotalCurrency 75 TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 20 WaitBetweenSpawns 10 Where spawnbot_right FirstSpawnOutput { Target panic_subwave_incoming Action trigger } Tank { Health 12000 Name Tank Speed 75 StartingPathTrackNode sneakyfuckingtank_1 OnKilledOutput { Target boss_dead_relay Action Trigger } OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn { Name "wave02" TotalCount 9 MaxActive 9 SpawnCount 3 Where spawnbot_right TotalCurrency 75 WaitForAllSpawned "wave01" WaitBeforeStarting 30 WaitBetweenSpawns 18 Squad { TFBot { Template T_TFBot_Giant_Heavyweapons_Shotgun } TFBot { Template T_TFBot_Medic_QuickUber Name "Quick Uber Medic" Item "Flatliner" } TFBot { Template T_TFBot_Medic_QuickUber Name "Quick Uber Medic" Item "Flatliner" } } } WaveSpawn { TotalCount 24 MaxActive 8 SpawnCount 4 Where spawnbot_left_tank Where spawnbot_right_tank WaitBeforeStarting 45 WaitForAllSpawned "wave01" WaitBetweenSpawns 12 TotalCurrency 24 TFBot { Template T_TFBot_Demoman_Knight Classicon demoknight_and_samurai } } WaveSpawn { TotalCount 15 MaxActive 10 SpawnCount 5 Where spawnbot_B2 FirstSpawnOutput { Target panic_subwave_incoming Action trigger } TotalCurrency 51 WaitForAllDead "steels" WaitBeforeStarting 15 WaitBetweenSpawns 8 RandomChoice { TFBot { Class Demoman Health 650 Scale 1.3 Name "Sholauncher Demoman" Skill Normal Attributes HoldFireUntilFullReload Item "The Splendid Screen" Item "Demo Kabuto" } TFBot { Class Demoman Health 650 Scale 1.3 Name "Sholauncher Demoman" Skill Normal Attributes HoldFireUntilFullReload Item "The Splendid Screen" Item "Demo Kabuto" } TFBot { Class Demoman Health 650 Scale 1.3 Name "Sholauncher Demoman" Skill Normal Attributes HoldFireUntilFullReload Item "The Splendid Screen" Item "Demo Kabuto" } TFBot { Template T_TFBot_Demoman_Samurai Classicon demoknight_and_samurai Skill Normal } } } WaveSpawn { Name "wave03" WaitForAllSpawned "wave02" TotalCurrency 150 TotalCount 3 MaxActive 3 SpawnCount 1 WaitBeforeStarting 10 WaitBetweenSpawns 13 Where spawnbot_right FirstSpawnOutput { Target unstablebots Action Show } TFBot { Name "Unstable Colonel Barrage" AddTemplate unstablecharge Template T_TFBot_Giant_Soldier_SlowBarrage CharacterAttributes { "health regen" 0 } } } WaveSpawn { TotalCount 40 MaxActive 10 SpawnCount 2 Where spawnbot_right Where spawnbot_left_tank WaitForAllSpawned "wave02" WaitBeforeStarting 7 WaitBetweenSpawns 2 TotalCurrency 50 RandomChoice { TFBot { Class Scout MaxVisionRange 1000 Skill Normal } TFBot { Class Scout MaxVisionRange 1000 Skill Normal } TFBot { Class Scout Name "Long-Sighted Scout" Skill Normal Item "The Shortstop" Item "Night Vision Gawkers" } } } WaveSpawn { Name "wave03" TotalCount 20 MaxActive 12 SpawnCount 4 Where spawnbot_right_tank WaitForAllSpawned "wave02" WaitBeforeStarting 22 WaitBetweenSpawns 6.5 TotalCurrency 50 TFBot { Class Heavyweapons MaxVisionRange 1000 Skill Easy } } WaveSpawn { Name carreta1 TotalCurrency 0 TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 255 WaitBetweenSpawns 0 Where spawnbot_B2 Support Limited FirstSpawnOutput { Target GETTHEFUCKOUT Action Trigger } Tank { Health 30000 Name payloadtank Speed 75 Scale 0.5 Classicon payload_vip //thanks for the icon nys Model {Default "models/empty.mdl" Destruction "models/empty.mdl"} //Model "models/props_trainyard/bomb_cart_red.mdl" StartSound "misc/null.wav" PingSound "misc/null.wav" EngineLoopSound "items/cart_rolling.wav" DisableTracks 1 DisableSmokestack 1 DisableChildModels 1 NoScreenShake 1 StartingPathTrackNode payload_path_B_1 TeamNum 2 SpawnTemplate wave4payload OnKilledOutput { Target red_lose_relay Action Trigger } OnBombDroppedOutput { Target redwin_relay Action Trigger } } } WaveSpawn { Name monorail_1 WaitForAllDead "timeforonehellofarepair" TotalCurrency 75 TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 6.6 WaitBetweenSpawns 10 FirstSpawnWarningSound "misc\doomsday_cap_open.wav" Where spawnbot_A_route Tank { ClassIcon monorail_tank Health 8000 Speed 75 Name "mono2" DisableTracks 1 ReplaceModelCollisions 1 DisableChildModels 1 NoCrushDamage 1 DisableBomb 1 Model //Set custom model on tank. Will spit harmless errors on client console if the model does not have enough sequences { Default "models/monorail_tank.mdl" Damage1 "models/monorail_tank_damage1.mdl" Damage2 "models/monorail_tank_damage2.mdl" Damage3 "models/monorail_tank_damage3.mdl" } StartingPathTrackNode "monorail_A_1" OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } FirstSpawnOutput { Target panic_subwave_incoming Action Trigger } } WaveSpawn { Name "payload_getaloadofthisguy" TotalCount 2 MaxActive 2 SpawnCount 1 FirstSpawnWarningSound vo\mvm\norm\sniper_mvm_helpmedefend03.mp3 LastSpawnWarningSound vo\mvm\norm\sniper_mvm_cartmovingforwarddefense04.mp3 Where spawnbot_B2 WaitForAllSpawned carreta1 TotalCurrency 50 WaitBeforeStarting 6.6 WaitBetweenSpawns 6 TFBot { Template T_TFBot_Sniper Health 3000 Name "Giant Sniper" Action Sniper Item "The Razorback" AlwaysGlow 1 ExtAttr IgnoreNPC Attributes MiniBoss Item "The AWPer Hand" ItemAttributes { ItemName "The AWPer Hand" "damage bonus" 2 } ItemAttributes { ItemName "TF_WEAPON_CLUB" "damage bonus" 1.5 } CharacterAttributes { "move speed bonus" 0.8 "head scale" 0.65 "damage force reduction" 0.6 "airblast vulnerability multiplier" 0.6 "override footstep sound set" 6 } } } WaveSpawn { Name "payload_thispacksapunch" TotalCount 4 MaxActive 4 SpawnCount 2 FirstSpawnWarningSound vo\mvm\mght\heavy_mvm_m_specialcompleted03.mp3 LastSpawnWarningSound vo\mvm\mght\heavy_mvm_m_yell6.mp3 Where spawnbot_B2 WaitForAllSpawned "carreta1" WaitBeforeStarting 25 WaitBetweenSpawns 30 TotalCurrency 25 FirstSpawnOutput { Target panic_subwave_incoming Action Trigger } LastSpawnOutput { Target panic_subwave_incoming Action Trigger } TFBot { Class Heavyweapons Name "Steel Giant" ClassIcon heavy_steelfist_giant Skill Expert Health 7000 WeaponRestrictions MeleeOnly Attributes MiniBoss Attributes AlwaysCrit InterruptAction { Delay 0.5 Target "payloadtank" Duration 120 } AlwaysGlow 1 Action Mobber Item "Fists of Steel" Item "Pugilist's Protector" ItemAttributes { ItemName "Fists of Steel" "fire rate bonus" 0.8 "damage bonus" 1.2 } ItemAttributes { ItemName "Pugilist's Protector" "set item tint RGB" 8626083 } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.3 "airblast vulnerability multiplier" 0.3 "override footstep sound set" 2 } } } WaveSpawn { Name "payload_getcrunk" TotalCount 3 MaxActive 3 SpawnCount 1 FirstSpawnWarningSound vo\mvm\mght\demoman_mvm_m_laughshort01.mp3 LastSpawnWarningSound vo\mvm\mght\demoman_mvm_m_battlecry01.mp3 Where spawnbot_right_tank WaitForAllSpawned carreta1 TotalCurrency 25 WaitBeforeStarting 100 WaitBetweenSpawns 7 FirstSpawnOutput { Target panic_subwave_incoming Action Trigger } TFBot { Template T_TFBot_Giant_Demo_Burst ExtAttr IgnorePlayers AlwaysGlow 1 InterruptAction { Delay 0.5 Target "payloadtank" Duration 60 } } } WaveSpawn { WaitForAllSpawned carreta1 TotalCurrency 100 TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 85.3 WaitBetweenSpawns 0 FirstSpawnWarningSound "misc\doomsday_cap_open.wav" Where spawnbot_B2 Tank { ClassIcon monorail_tank Health 3000 Speed 60 Name "mono2" DisableTracks 1 ReplaceModelCollisions 1 DisableChildModels 1 NoCrushDamage 1 DisableBomb 1 Model //Set custom model on tank. Will spit harmless errors on client console if the model does not have enough sequences { Default "models/monorail_tank.mdl" Damage1 "models/monorail_tank_damage1.mdl" Damage2 "models/monorail_tank_damage2.mdl" Damage3 "models/monorail_tank_damage3.mdl" } StartingPathTrackNode "monorail_B_1" OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } FirstSpawnOutput { Target panic_subwave_incoming Action Trigger } } WaveSpawn { WaitForAllSpawned carreta1 TotalCurrency 0 TotalCount 20 MaxActive 5 SpawnCount 1 WaitBeforeStarting 30 WaitBetweenSpawns 1 Where spawnbot_B2 Support Limited TFBot { ClassIcon pyro_dragon_fury_swordstone Name "Dragon's Fury Pyro" Class Pyro Skill Normal Item "The Dragon's Fury" Action Mobber CharacterAttributes { "airblast disabled" 1 } } } WaveSpawn { Name "shotties" WaitForAllDead mono1 TotalCurrency 0 TotalCount 20 MaxActive 10 SpawnCount 1 WaitBeforeStarting 30 WaitBetweenSpawns 2 Where spawnbot_right Support Limited TFBot { Action Mobber Template T_TFBot_Heavyweapons_Shotgun } } WaveSpawn { WaitForAllSpawned shotties TotalCurrency 0 TotalCount 10 MaxActive 5 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 10 Where spawnbot_right Support Limited TFBot { Class Soldier Name "Rapid Fire Soldier" ClassIcon soldier_spammer Health 650 Scale 1.4 Skill Normal Action Mobber ItemAttributes { ItemName "TF_WEAPON_ROCKETLAUNCHER" "faster reload rate" -0.8 "fire rate bonus" 0.5 "Projectile speed increased" 0.65 } } } WaveSpawn { Name "" WaitForAllDead "shotties" Where spawnbotReddit TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 20 WaitBetweenSpawns 0 TotalCurrency 0 HideIcon 1 TFBot { Class Soldier ClassIcon tank_lite Name "Tamk lmao" Skill Easy Scale 0.001 Health 40000 Attributes IgnoreEnemies Attributes IgnoreFlag Attributes SuppressFire Action Idle AddCond { Name TF_COND_STEALTHED_USER_BUFF_FADING } StripItemSlot 0 StripItemSlot 1 StripItemSlot 2 UseCustomModel "models/empty.mdl" FireInput { Target !self //targets the bot this is on Action $Suicide Delay 0.1 } CharacterAttributes { "cancel falling damage" 1 "cannot be sapped" 1 "not solid to players" 1 "rage giving scale" 0 "no_jump" 1 "move speed bonus" 0.001 "cannot pick up intelligence" 1 "voice pitch scale" 0 "damage force reduction" 0.001 "airblast vulnerability multiplier" 0.0001 "dmg from melee increased" 0.0001 "dmg taken from fire reduced" 0.0001 "dmg from ranged reduced" 0.0001 "afterburn immunity" 1 "wet immunity" 1 } } DoneOutput { Target timeforarealbrawl Action Trigger } } } SpawnTemplate steamhappey Wave { InitWaveOutput { Target Wave5Relay Action runscriptcode Param " ClientPrint(null, 2, `start runscriptcode block`) // The original InitWaveOutput trigger, change if necessary EntFire(`Wave5Relay`, `Trigger`) // Load popextensions script IncludeScript(`popextensions_main`) ClientPrint(null, 2, `load pop extension`) ClientPrint(null, 2, `load custom vscript`) // Add event hooks for bots with specifed Tag. PopExt.AddRobotTag(`abc`, { // Called when the robot is spawned OnSpawn = function(bot, tag) { ClientPrint(null, 2, `OnSpawn`) PopExtUtil.CreatePlayerWearable(bot, `models\giant_pyro_exhaust_backpack.mdl`, false, `head`) }, }) " Delay 0.1 } StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } WaveSpawn { FirstSpawnOutput { Target wallahigokaboom Action Trigger } } WaveSpawn { Name deez TotalCurrency 0 TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 5 WaitBetweenSpawns 0 Where tube_bot_spawn TFBot { SpawnTemplate boss_logic ClassIcon dead_heat_red_nys Class Pyro Attributes MiniBoss Action Mobber Template T_TFBot_Giant_Pyro Item tf_weapon_pipebomblauncher WeaponRestrictions SecondaryOnly UseHumanAnimations 1 UseMeleeThreatPrioritization 1 Item "Dead Heat" Name "Infernal Hailstorm" Health 175000 UseCustomModel "models/bots/pyro_boss/bot_thermal_pyro.mdl" Tag is_chief Attributes UseBossHealthBar Skin 5 CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.6 "airblast vulnerability multiplier" 0.6 "override footstep sound set" 6 "rage giving scale" 0.1 } ItemAttributes { ItemName "tf_weapon_pipebomblauncher" "override projectile type" 3 "damage bonus" 1.2 "projectile range decreased" 0.4 "stickybomb charge rate" 0 "clip size bonus" 500 "reload full clip at once" 1 "faster reload rate" -1 "blast radius increased" 0.3 "grenade explode on impact" 1 "fire rate bonus" 0.6 "attach particle effect" 704 "custom impact sound" "Breakable.Glass" "custom projectile model" "models/workshop/weapons/c_models/c_scotland_shard/c_scotland_shard.mdl" "projectile trail particle" "burninggibs" "custom kill icon" "taunt_scout" // bonk "add damage type" 2056 "remove damage type" 64 "projectile spread angle penalty" 5 } ShootTemplate { Name canister2 AttachToProjectile 1 ItemName "tf_weapon_pipebomblauncher" } EventChangeAttributes { og { Item "tf_weapon_pipebomblauncher" CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.6 "airblast vulnerability multiplier" 0.6 "override footstep sound set" 6 "rage giving scale" 0.1 } ItemAttributes { ItemName "tf_weapon_pipebomblauncher" "override projectile type" 3 "damage bonus" 1.2 "projectile range decreased" 0.4 "stickybomb charge rate" 0 "clip size bonus" 500 "reload full clip at once" 1 "faster reload rate" -1 "blast radius increased" 0.3 "grenade explode on impact" 1 "fire rate bonus" 0.6 "attach particle effect" 704 "custom impact sound" "Breakable.Glass" "custom projectile model" "models/workshop/weapons/c_models/c_scotland_shard/c_scotland_shard.mdl" "projectile trail particle" "burninggibs" "custom kill icon" "taunt_scout" // bonk "add damage type" 2056 "remove damage type" 64 "projectile spread angle penalty" 5 } ShootTemplate { Name canister2 AttachToProjectile 1 ItemName "tf_weapon_pipebomblauncher" } } fire_rockets { Item "TF_WEAPON_SHOTGUN_PYRO" WeaponRestrictions SecondaryOnly CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.6 "airblast vulnerability multiplier" 0.6 "override footstep sound set" 6 "rage giving scale" 0.1 } ItemAttributes { ItemName "TF_WEAPON_SHOTGUN_PYRO" "dmg bonus vs buildings" 3 "projectile trail particle" "manmelter_projectile_trail" "attach particle effect" 704 "override projectile type" 2 "damage bonus" 15 "Projectile speed increased" 0.7 "projectile spread angle penalty" 3 "fire rate bonus" 0.01 "faster reload rate" 0.35 "clip size bonus" 0.5 "set damagetype ignite" 1 "weapon burn dmg reduced" 1.5 "hold fire until full reload" "1" } } freeze_rockets { Item "TF_WEAPON_SHOTGUN_PYRO" WeaponRestrictions SecondaryOnly CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.6 "airblast vulnerability multiplier" 0.6 "override footstep sound set" 6 "rage giving scale" 0.1 } ItemAttributes { ItemName "TF_WEAPON_SHOTGUN_PYRO" "dmg bonus vs buildings" 5 "projectile trail particle" "drg_cow_rockettrail_fire_charged_blue" "custom projectile model" "models\props_moonbase\moon_cube_crystal00.mdl" "custom impact sound" "weapons\icicle_melt_01.wav" "explosion particle" "xms_snowburst_child01" "attach particle effect" 703 "override projectile type" 2 "damage bonus" 10 "Projectile speed increased" 0.5 "projectile spread angle penalty" 3 "fire rate bonus" 0.25 "faster reload rate" -0.5 "clip size bonus" 500 "slow enemy on hit" 1 "bleeding duration" 5 "set turn to ice" 1 "hold fire until full reload" "1" } } test_freeze { Item "Gold Botkiller Stickybomb Launcher Mk.I" ItemAttributes { ItemName "Gold Botkiller Stickybomb Launcher Mk.I" "override projectile type" 3 "damage bonus" 1.2 "projectile range decreased" 0.5 "stickybomb charge rate" 0 "clip size bonus" 1.5 "faster reload rate" 0.3 "blast radius increased" 1 "grenade explode on impact" 1 "fire rate bonus" 0.1 "custom impact sound" "weapons\icicle_melt_01.wav" "custom projectile model" "models\props_moonbase\moon_cube_crystal00.mdl" "projectile trail particle" "utaunt_ice_bodyglow" "custom kill icon" "taunt_scout" // bonk "add damage type" 2056 "remove damage type" 64 "attach particle effect" 703 "bleeding duration" 5 "projectile spread angle penalty" 5 "slow enemy on hit" 1 "hold fire until full reload" "1" } ShootTemplate { Name canisterfreeze AttachToProjectile 1 ItemName "Gold Botkiller Stickybomb Launcher Mk.I" } } freezing_fury { WeaponRestrictions PrimaryOnly Item "The Dragon's Fury" ItemAttributes { ItemName "The Dragon's Fury" "damage bonus" 1.5 "attach particle effect" 703 "freeze backstab victim" 1 "slow enemy on hit" 1 "slow enemy on hit major" 2 "item_meter_charge_rate" 0.7 } } burst_fury { Item "TF_WEAPON_SHOTGUN_PYRO" Item "The Dragon's Fury" WeaponRestrictions PrimaryOnly ItemAttributes { ItemName "The Dragon's Fury" "item_meter_charge_rate" 0.15 "fire rate bonus" 0.15 "reload time increased" 2 "projectile lifetime" 5 } ItemAttributes { ItemName "TF_WEAPON_SHOTGUN_PYRO" "faster reload rate" 0.5 "fire rate bonus" 0.2 "clip size bonus" 2 "is_passive_weapon" 1 "auto fires full clip" 1 "auto fires when full" 1 "override projectile type" 27 } } } } } WaveSpawn { Name "" WaitForAllDead "" Where spawnbot_A_route_giant TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 0 TotalCurrency 0 TFBot { SpawnTemplate barrel_stuff Class Scout } } } }