// Mission file made by Sergeant Table. // Tank Repair and elevator check script for level transition by B855 // Leadening Winds (The Act's theme) and custom EMP Tank deploy sound effect by Snurper Bob // EMP and Drill Tank models by Charlie/MadMinerMonkey // Spybase 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 putarenfe { StartingCurrency 1000 RespawnWaveTime 0 CanBotsAttackWhileInSpawnRoom no DisableSound "Announcer.MVM_Wave_End" DisableSound "Announcer.MVM_Get_To_Upgrade" DisableSound "Announcer.MVM_Final_Wave_End" 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_First_Wave_Start" DisableSound "Announcer.MVM_Wave_Start" DisableSound "Announcer.MVM_Wave_End" DisableSound "Announcer.MVM_Wave_Lose" DisableSound "Announcer.MVM_Final_Wave_Start" 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/props_mvm/indicator/indicator_circle.mdl" PrecacheModel "models/spybase/emp_tank.mdl" PrecacheModel "models/effects/mvm_holograms/mvm_cappoint_hologram.mdl" PrecacheSound "act1withintro.mp3" PrecacheSound "act1loop.mp3" PrecacheSound "wee_woo_wee_woo.mp3" PrecacheSound "tank_emp_deploy.mp3" LuaScriptFile "tank_repair.lua" reversewinconditions 1 enemyteamforreverse blue ForceRedMoney 0 AllowBotExtraSlots 1 RobotLimit 45 WaveStartCountdown 3 DisallowUpgrade "ubercharge" DisallowUpgrade "critboost" ExtraTankPath { Name "emp_tank_path" Node "-2283 8763 710" Node "-2252 8365 710" Node "-2317 8114 710" Node "-2158 7806 688" Node "-2066 7557 688" Node "-2046 6292 688" Node "-2255 5870 688" Node "-2201 5625 688" Node "-1849 5413 688" Node "-1833 5320 688" Node "-1824 5090 689" Node "-1824 4920 676" Node "-1824 4751 663" Node "-1824 4591 634" Node "-1824 4414 593" Node "-1824 4222 543" Node "-1824 4182 539" Node "-1824 4168 521" Node "-1794 3970 512" Node "-1350 3516 512" Node "-1274 2226 512" Node "-1271 2160 512" Node "-1271 2159 512" Node "-1271 2158 512" Node "-1271 2190 512" } ExtraTankPath { Name "drill_tank_path" Node "-5281 4733 512" Node "-5139 5193 512" Node "-4749 5749 512" Node "-4217 5888 512" Node "-3891 5890 512" Node "-3229 5891 688" Node "-2532 5916 688" Node "-2235 6072 688" Node "-2084 6406 688" Node "-2058 7712 688" Node "-2273 7930 682" Node "-2278 8572 696" } ExtraSpawnPoint { Name "red_spawn_2" X -2329 Y 1542 Z 512 TeamNum 3 StartDisabled 0 } ExtraSpawnPoint { Name "red_spawn" X -1953 Y 1069 Z 512 TeamNum 3 StartDisabled 1 } ExtraSpawnPoint { Name "boss_two" X -4586 Y 2883 Z 512 TeamNum 3 StartDisabled 0 } ExtraSpawnPoint { Name "blimp_controller" X -1659 Y 952 Z 512 TeamNum 3 StartDisabled 1 } ExtraSpawnPoint { Name "spawnbot_chief_heavy" X -2075 Y 7770 Z 688 TeamNum 3 StartDisabled 0 } ExtraSpawnPoint { Name "spawnbot_spy" X -1295 Y 8008 Z 690 TeamNum 3 StartDisabled 0 } ExtraSpawnPoint { Name "spawnbot_behind" X -1607 Y 7064 Z 784 TeamNum 3 StartDisabled 0 } ExtraSpawnPoint { Name "spawnbot_front_01" X -1821 Y 5396 Z 688 TeamNum 3 StartDisabled 0 } ExtraSpawnPoint { Name "spawnbot_decoy" X -5400 Y 5580 Z 512 TeamNum 3 StartDisabled 1 } ExtraSpawnPoint { Name "spawnbot_front_02" X -3064 Y 5547 Z 688 TeamNum 3 StartDisabled 0 } ExtraSpawnPoint { Name "spawnbot_front_03" X -5548 Y 5242 Z 512 TeamNum 3 StartDisabled 0 } ExtraSpawnPoint { Name "spawnbot_middle_01" X -5454 Y 3950 Z 512 TeamNum 3 StartDisabled 0 } ExtraSpawnPoint { Name "spawnbot_middle_02_disableable" X -4107 Y 3449 Z 512 TeamNum 3 StartDisabled 0 } OverrideSounds { "MVM.GiantHeavyExplodes" "npc\env_headcrabcanister\explosion.wav" "MVM.GiantCommonExplodes" "npc\env_headcrabcanister\explosion.wav" } Templates { T_TFBot_Small_Buster // Thanks Royal { SpawnTemplate "SmolBuster" Class Demoman Name "Small Buster" Skill Expert Health 650 Scale 1.4 Item "The Ullapool Caber" WeaponRestrictions MeleeOnly ClassIcon sentry_buster //Attributes MiniBoss UseBusterModel 1 Action SuicideBomber UseHumanAnimations 0 CharacterAttributes { "gesture speed increase" 2 "move speed bonus" 1.2 "damage force reduction" 0.5 "airblast vulnerability multiplier" 0.5 "cannot be backstabbed" 1 } } } SpawnTemplate chief_intro SpawnTemplate chief_intro_pyro SpawnTemplate first_door_unlock SpawnTemplate LoseRelay SpawnTemplate texttimerv2_simple SpawnTemplate buton_xd SpawnTemplate ManTankDiedSadFace PointTemplates { temp { NoFIxup 1 info_particle_system { "targetname" "die" "origin" "0 0 100" "angles" "0 0 0" "effect_name" "hammer_bell_ring_shockwave" } env_fade { "targetname" "emp_fade" "angles" "0 0 0" "duration" "0.25" "holdtime" "0.50" "renderamt" "128" "rendercolor" "51 153 255" "spawnflags" "9" } info_particle_system { "targetname" "boss_about_to_blow" "origin" "60 0 120" "angles" "-90 0 0" "effect_name" "charge_up" } prop_dynamic //you get the deal "model" "models\props_spytech\radio_tower001.mdl" { "targetname" "tank_emp" "origin" "0 0 0" "model" "models/spybase/emp_tank.mdl" "solid" "0" "defaultanim" "movement" "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 } prop_dynamic { "targetname" "tankrequirementslegs" "model" "models/bots/boss_bot/tank_track_l.mdl" "angles" "0 0 0" "defaultanim" "forward" "solid" "0" "modelscale" "1" "origin" "0 -55 0" } prop_dynamic { "targetname" "tankrequirementslegs" "model" "models/bots/boss_bot/tank_track_l.mdl" "angles" "0 0 0" "defaultanim" "forward" "solid" "0" "modelscale" "1" "origin" "0 55 0" } OnSpawnOutput { Target emp_tank_prop* Action Disable } } SmolBuster // Thanks again Royal { KeepAlive 1 OnSpawnOutput { Target "buster_det_checker" Action "Trigger" Delay 0.1 } OnSpawnOutput { Target "smol_buster_explosion" Action "$SetOwner" Param "!activator" Delay 0 } info_particle_system { "targetname" "buster_explosion_particle" "effect_name" "asplode_hoodoo" "flag_as_weather" "0" "start_active" "0" } RemoveIfKilled "buster_explosion_particle" tf_point_weapon_mimic { "targetname" "smol_buster_explosion" "spawnflags" "1" "angles" "0 0 0" "origin" "0 0 0" "teamnum" "2" "Crits" "0" "Damage" "75" "ModelScale" "1" "SpeedMax" "0" "SpeedMin" "0" "SplashRadius" "100" "SpreadAngle" "0" "WeaponType" "3" "OnUser4" "!self,DetonateStickies,,0,-1" } filter_tf_condition { "targetname" "filter_is_taunting" "Negated" "0" "condition" "7" "OnPass" "buster_det_checker,Disable,,-1,-1" "OnPass" "smol_buster_explosion,FireOnce,,1,-1" "OnPass" "buster_explosion_particle,Start,,1,-1" "OnPass" "buster_explosion_particle,Kill,,5,-1" "OnPass" "!activator,$Suicide,,1.01,-1" } logic_relay { "targetname" "buster_det_checker" "spawnflags" "2" "OnTrigger" "buster_det_checker,Trigger,,0.1,-1" "OnTrigger" "filter_is_taunting,TestActivator,!activator,0,-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 1" "x" "-1" "y" "0.4" "effect" "2" "spawnflags" "1" "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" "INDIUM INFILTRATION" "x" "-1" "y" "0.45" "effect" "2" "channel" "0" "spawnflags" "1" "color" "255 255 255" "fadein" "0.05" "fadeout" "1" "holdtime" "4.8" } } buton_xd { OnSpawnOutput { Target boton Action Lock } prop_dynamic { "angles" "0 270 0" "disablereceiveshadows" "0" "ExplodeDamage" "0" "ExplodeRadius" "0" "fademindist" "-1" "fadescale" "1" "MaxAnimTime" "10" "MinAnimTime" "5" "model" "models\props_spytech\control_room_console01.mdl" "modelscale" "1.25" "PerformanceMode" "0" "pressuredelay" "0" "RandomAnimation" "0" "renderamt" "255" "rendercolor" "255 255 255" "renderfx" "0" "rendermode" "0" "SetBodyGroup" "0" "skin" "0" "solid" "6" "spawnflags" "0" "StartDisabled" "0" "targetname" "terrminal" "origin" "-4062 2384 704" } prop_dynamic { "angles" "0 270 0" "disablereceiveshadows" "0" "ExplodeDamage" "0" "ExplodeRadius" "0" "fademindist" "-1" "fadescale" "1" "MaxAnimTime" "10" "MinAnimTime" "5" "model" "models\props_spytech\radio_tower_skybox001.mdl" "modelscale" "1.5" "PerformanceMode" "0" "pressuredelay" "0" "RandomAnimation" "0" "renderamt" "255" "rendercolor" "255 255 255" "renderfx" "0" "rendermode" "0" "SetBodyGroup" "0" "skin" "0" "solid" "6" "spawnflags" "0" "StartDisabled" "0" "targetname" "terrminal_tower" "origin" "-4082 2384 784" } OnSpawnOutput { Target boton_elevator Action lock } func_button { "disablereceiveshadows" "0" "health" "0" "lip" "0" "locked_sentence" "9" "locked_sound" "2" "movedir" "0 0 0" "origin" "-1790 568 587" "renderamt" "255" "rendercolor" "255 255 255" "spawnflags" "512" "speed" "5" "targetname" "boton_elevator" "unlocked_sentence" "1" "unlocked_sound" "0" "wait" "999" "OnPressed" "player,$PlaySoundToSelf,=150|passtime\ball_smack.wav,0,-1" "OnPressed" "player,$PlaySoundToSelf,=150|ui\gamestartup22.mp3,5,-1" "OnPressed" "wave_finished_relay,trigger,,0,-1" "OnPressed" "activateelevatorwindows,ForceSpawn,,10,-1" "OnPressed" "player,$displaytexthint,New Objective - Get to the lift to travel deeper into the facility,5,-1" "OnPressed" "GO,show,,1,-1" "OnPressed" "camera,$EnableAll,,0,-1" "OnPressed" "camera,$DisableAll,,5,-1" "OnPressed" "bluespawn_visualiser*,disable,,0,-1" "mins" "-40 -65 -75" "maxs" "20 20 75" } training_annotation { "targetname" "punch_me_breaker" "display_text" "Melee the breaker box to activate the elevator controlls." "lifetime" "6" "origin" "-1790 568 587" } training_annotation { "targetname" "punch_me" "display_text" "Hit the terminal to activate it" "lifetime" "10" "origin" "-4082 2384 784" } training_annotation { "targetname" "info_training" "display_text" "Our tank doesn't have enough fuel for it to take the normal path" "lifetime" "6" "origin" "-1927 4630 737" } training_annotation { "targetname" "info_2" "display_text" "Defeat the demo patrol chief to unlock the terminal to extend the shortcut bridge" "lifetime" "8" "origin" "-4566 3238 745" } training_annotation { "targetname" "GO" "display_text" "Get to the elevator!" "lifetime" "6" "origin" "-2827 7074 788" } prop_dynamic { "targetname" "doorknob" "origin" "-1790 568 587" "angles" "0 0 -90" "model" "models/props_barnblitz/track_switchbox_bb.mdl" "modelscale" "1.5" "color" "255 255 255" "disablebonefollowers" "1" "disableshadows" "1" } func_button { "disablereceiveshadows" "0" "health" "0" "lip" "0" "locked_sentence" "9" "locked_sound" "2" "movedir" "0 0 0" "origin" "-4062 2384 754" "renderamt" "255" "rendercolor" "255 255 255" "spawnflags" "512" "speed" "5" "targetname" "boton" "unlocked_sentence" "1" "unlocked_sound" "0" "wait" "999" "OnPressed" "shortcut_bridge_extend_relay,trigger,,13,-1" "OnPressed" "drydock_close_relay,trigger,,13,-1" "OnPressed" "player,$PlaySoundToSelf,=150|ambient\alarms\apc_alarm_pass1.wav,2,-1" "OnPressed" "player,$PlaySoundToSelf,=150|ambient\alarms\apc_alarm_pass1.wav,2,-1" "OnPressed" "player,$PlaySoundToSelf,=150|passtime\ball_smack.wav,0,-1" "OnPressed" "radio_waves,start,,0,-1" "OnPressed" "bombpath_holograms_clear_relay,trigger,,0,-1" "OnPressed" "tank_hologram_relay_right,trigger,,0.5,-1" "OnPressed" "tank_hologram_relay_short,trigger,,0.5,-1" "OnPressed" "radio_waves,stop,,16,-1" "OnPressed" "open_door_04,show,,4,-1" "OnPressed" "04_door_unlock_relay,trigger,,13,-1" "OnPressed" "08_door_unlock_relay,trigger,,13,-1" "Onpressed" "tf_point_nav_interface*,recomputeblockers,,17,-1" "OnPressed" "emp_tank,SetSpeed,50,25,-1" "OnPressed" "tankrequirementslegs*,SetAnimation,forward,25,-1" "OnPressed" "red_spawn,enable,,10,-1" "OnPressed" "player,$displaytexthint,New Objective - Escort the EMP tank to the control room,30,-1" "OnPressed" "terminal_glow,disable,,0,-1" "mins" "-40 -65 -75" "maxs" "20 65 75" } training_annotation { "targetname" "open_door_04" "display_text" "Door 04 opening and extending the bridge..." "lifetime" "6" "origin" "-4081 2385 894" } info_particle_system { "targetname" "tower_signal_waves" "origin" "-4529 5851 911" "angles" "0 0 0" "effect_name" "bot_radio_waves" } } 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" "wave_start*,addoutput,ontrigger timerdisplay:runscriptcode:AddThinkToSelf(`timerthink`):0:-1,0,-1" "onspawn" "wave_finish*,addoutput,ontrigger timerdisplay:runscriptcode:AddThinkToSelf(null):0:-1,0,-1" "targetname" "timerpause" "ontrigger" "timerdisplay,callscriptfunction,timerpause,0,-1" } OnSpawnOutput { Target timerdisplay Action runscriptfile Param "textualtimer_simple" } } LoseRelay { NoFixup 1 game_round_win { "TeamNum" "3" "targetname" "red_loses" "switch_teams" "0" "force_map_reset" "1" "classname" "game_round_win" } game_round_win { "TeamNum" "2" "targetname" "red_wins" "switch_teams" "0" "force_map_reset" "1" "classname" "game_round_win" } logic_relay { "targetname" "redlose_relay" "OnTrigger" "red_loses,RoundWin,,0,-1" } logic_relay { "targetname" "redwin_relay" "OnTrigger" "red_wins,RoundWin,,0,-1" } } first_door_unlock { logic_relay { "targetname" "second_unlock" "OnTrigger" "03_door_flank_2_unlock_relay,trigger,,10,-1" "OnTrigger" "02_door_unlock_relay,trigger,,10,-1" "OnTrigger" "02_door_flank_1_unlock_relay,trigger,,10,-1" "OnTrigger" "player,$PlaySoundToSelf,=150|sound\mvm\mvm_tank_ping.wav,5,-1" "OnTrigger" "player,$PlaySoundToSelf,misc\doomsday_cap_open_start.wav,7.5,-1" "OnTrigger" "player,$PlaySoundToSelf,misc\vo\mvm\norm\engineer_mvm_battlecry07.mp3,12,-1" "OnTrigger" "player,$PlaySoundToSelf,misc\vo\mvm\norm\engineer_mvm_battlecry06.mp3,12.2,-1" "OnTrigger" "player,$PlaySoundToSelf,misc\vo\mvm\norm\engineer_mvm_battlecry01.mp3,12.4,-1" "OnTrigger" "player,$PlaySoundToSelf,misc\vo\mvm\norm\engineer_mvm_battlecry04.mp3,12.6,-1" "OnTrigger" "player,$PlaySoundToSelf,misc\vo\mvm\norm\engineer_mvm_battlecry03.mp3,12.8,-1" "OnTrigger" "player,$PlaySoundToSelf,vo\mvm\norm\engineer_mvm_cheers07.mp3,13,-1" "OnTrigger" "drill_tank_prop*,Kill,,8.3,-1" "OnTrigger" "spawnbot_decoy,enable,,5,-1" "OnTrigger" "spawnbot_front*,disable,,0,-1" "OnTrigger" "tower_signal,show,,2,-1" "OnTrigger" "tower_signal_waves,start,,0,-1" "OnTrigger" "tower_signal_waves,stop,,10,-1" "OnTrigger" "stunbots,Enable,,0,-1" "OnTrigger" "stunbots,Disable,,0.2,-1" "OnTrigger" "player,$PlaySoundToSelf,=150|weapons\rescue_ranger_teleport_receive_02.wav,0.5,-1" "OnTrigger" "player,$PlaySoundToSelf,=150|ambient_mp3\thunder4.mp3,3,-1" "OnTrigger" "player,$PlaySoundToSelf,=150|ambient_mp3\thunder4.mp3,3,-1" "OnTrigger" "warning_boss_attack_blue,start,,0.5,-1" "OnTrigger" "warning_boss_attack_blue,stop,,1.5,-1" "OnTrigger" "warning_boss_attack_blue,start,,2.5,-1" "OnTrigger" "warning_boss_attack_blue,stop,,3.5,-1" "OnTrigger" "warning_boss_attack_blue,start,,4.5,-1" "OnTrigger" "warning_boss_attack_blue,stop,,5.5,-1" "OnTrigger" "warning_boss_attack_blue,start,,6.5,-1" "OnTrigger" "warning_boss_attack_blue,stop,,7.5,-1" "OnTrigger" "byebyetower,Start,,33,-1" "OnTrigger" "cap_point_a_tower,disable,,33.2,-1" "OnTrigger" "player,$PlaySoundToSelf,=150|ambient\explosions\explode_1.wav,33,-1" "OnTrigger" "player,$PlaySoundToSelf,=150|ambient\explosions\explode_1.wav,33,-1" "OnTrigger" "tf_point_nav_interface*,recomputeblockers,,14,-1" } info_particle_system { "targetname" "byebyetower" "effect_name" "fireSmokeExplosion" "start_active" 0 "angles" "-90 -90 0" "origin" "-4563 5846 512" } info_particle_system { "targetname" "warning_boss_attack_blue" "effect_name" "powerup_supernova_explode_blue" "start_active" 0 "origin" "-4529 5851 911" } trigger_stun { "stun_duration" "20" "stun_type" "1" "stun_effects" "0" "filtername" "blueteam" "origin" "0 0 0" "spawnflags" "1" "StartDisabled" "1" "targetname" "stunbots" "mins" "-10000 -10000 -10000" //Trigger bounds, relative to origin "maxs" "15000 15000 15000" } tf_point_nav_interface { Name skibidi } filter_activator_tfteam { "targetname" "redteam" "teamnum" "2" } filter_activator_tfteam { "targetname" "blueteam" "teamnum" "3" } training_annotation { "targetname" "tower_signal" "display_text" "The tower is sending a distress signal!" "lifetime" "6" "origin" "-4529 5851 911" } info_particle_system { "targetname" "tower_signal_waves" "origin" "-4529 5851 911" "angles" "0 0 0" "effect_name" "bot_radio_waves" } logic_relay { "targetname" "first_unlock" "OnTrigger" "welcome,playsound,,0,-1" "OnTrigger" "moosic,playsound,,6,-1" "OnTrigger" "01_door_unlock_relay,trigger,,15,-1" "OnTrigger" "bao,start,,24.3,-1" "OnTrigger" "bao,stop,,25.3,-1" "OnTrigger" "player,$PlaySoundToSelf,=150|vo\announcer_time_added.mp3,15.5,-1" "OnTrigger" "player,$PlaySoundToSelf,=150|misc\outer_space_transition_01.wav,13.7,-1" "OnTrigger" "player,$DisplayTextChat,{yellow}[ Now Playing: {6383ff} Leadening Winds - GoodBobFR {yellow}],5,-1" "OnTrigger" "addtime,SetValue,360,14.1,-1" "OnTrigger" "flavour_front*,kill,,24.3,-1" "OnTrigger" "moosic,StopSound,,258,1" "OnTrigger" "musiccontroler,trigger,,258,-1" "OnTrigger" "tower_glow,enable,,15,-1" "OnTrigger" "player,$displaytexthint,New Objective - Fight your way to the control point and capture it,25,-1" } logic_relay { "targetname" "musiccontroler" "OnTrigger" "moosic2,PlaySound,,0.1,-1" "OnTrigger" "moosic2,StopSound,,158,-1" "OnTrigger" "moosic3,PlaySound,,158.1,-1" "OnTrigger" "moosic3,StopSound,,316,-1" "OnTrigger" "moosic2,PlaySound,,315.1,-1" "OnTrigger" "moosic2,StopSound,,474,-1" } ambient_generic { "targetname" "welcome" "message" "wee_woo_wee_woo.mp3" "health" "10" "pitch" "100" "spawnflags" "17" } ambient_generic { "targetname" "moosic" "message" "#act1withintro.mp3" "health" "10" "pitch" "100" "spawnflags" "17" } ambient_generic { "targetname" "moosic2" "message" "#act1loop.mp3" "health" "10" "pitch" "100" "spawnflags" "17" } ambient_generic { "targetname" "moosic3" "message" "#act1loop.mp3" "health" "10" "pitch" "100" "spawnflags" "17" } info_particle_system { "targetname" "bao" "origin" "-1459 7976 688" "angles" "0 180 -90" "effect_name" "cinefx_goldrush" } } chief_intro { ambient_generic { "targetname" "intro_chief" "message" "#music\hl2_song6.mp3" "health" "10" "pitch" "100" "spawnflags" "17" } info_particle_system { "targetname" "death" "origin" "-2075 7770 710" "angles" "0 0 0" "effect_name" "drg_wrenchmotron_teleport" } info_particle_system { "targetname" "death2" "origin" "-2075 7770 710" "angles" "0 0 0" "effect_name" "hammer_lock_vanish01" } prop_dynamic { "targetname" "becareful" "origin" "-2075 7770 688" "angles" "0 0 0" "model" "models/props_mvm/indicator/indicator_circle.mdl" "modelscale" "4" "color" "255 255 255" "defaultanim" "start" "disablebonefollowers" "1" "disableshadows" "1" "skin" "1" "StartDisabled" "1" } env_shake { "spawnflags" "1" "amplitude" "16" "duration" "3" "frequency" "9" "targetname" "abrawlissurelybrewing" } logic_relay { "targetname" "chief_spawn" "OnTrigger" "no_setup*,disable,,0,1" "OnTrigger" "death*,start,,4,1" "OnTrigger" "becareful,enable,,0,1" "OnTrigger" "becareful,disable,,4,1" "OnTrigger" "becareful,SetAnimationNoReset,end,4,1" "OnTrigger" "abrawlissurelybrewing,startshake,,4,1" "OnTrigger" "intro_chief,PlaySound,,4,1" "OnTrigger" "player,$PlaySoundToSelf,=150|ambient_mp3\halloween\thunder_04.mp3,4,1" "OnTrigger" "player,$PlaySoundToSelf,=150|ambient_mp3\halloween\thunder_04.mp3,4,1" "OnTrigger" "player,$PlaySoundToSelf,=150|items\powerup_pickup_regeneration.wav,0,1" "OnTrigger" "player,$PlaySoundToSelf,=150|vo\mvm\mght\heavy_mvm_m_laughhappy04.mp3,4,1" "OnTrigger" "player,$PlaySoundToSelf,=150|vo\mvm\mght\heavy_mvm_m_laughterbig02.mp3,9,1" "OnTrigger" "player,$PlaySoundToSelf,=150|vo\mvm\mght\heavy_mvm_m_laughhappy04.mp3,4,1" "OnTrigger" "player,$PlaySoundToSelf,=150|vo\mvm\mght\heavy_mvm_m_laughterbig02.mp3,9,1" "OnTrigger" "player,$PlaySoundToSelf,=150|weapons/rescue_ranger_teleport_send_01.wav,2,1" } } chief_intro_pyro { info_particle_system { "targetname" "particle_spawn_2" "origin" "-4586 2883 512" "angles" "0 0 0" "effect_name" "drg_wrenchmotron_teleport" } info_particle_system { "targetname" "particle_spawn_2" "origin" "-4586 2883 572" "angles" "0 0 0" "effect_name" "hammer_lock_vanish01" } prop_dynamic { "targetname" "becareful_2" "origin" "-4586 2883 512" "angles" "0 0 0" "model" "models/props_mvm/indicator/indicator_circle.mdl" "modelscale" "4" "color" "255 255 255" "defaultanim" "start" "disablebonefollowers" "1" "disableshadows" "1" "skin" "1" "StartDisabled" "1" } env_shake { "spawnflags" "1" "amplitude" "16" "duration" "3" "frequency" "9" "targetname" "abrawlissurelybrewing" } training_annotation { "targetname" "killit" "display_text" "Defeat the patrol bot, to progress towards the terminal" "lifetime" "6" "origin" "-4584 2867 652" } logic_relay { "targetname" "chief_spawn_pyro" "OnTrigger" "killit_show,,10,-1" "OnTrigger" "particle_spawn*,start,,4,-1" "OnTrigger" "becareful_2,enable,,0,-1" "OnTrigger" "becareful_2,disable,,4,-1" "OnTrigger" "becareful_2,SetAnimationNoReset,end,4,-1" "OnTrigger" "abrawlissurelybrewing,startshake,,4,-1" "OnTrigger" "player,$PlaySoundToSelf,=150|ambient_mp3\halloween\thunder_04.mp3,4,-1" "OnTrigger" "player,$PlaySoundToSelf,=150|ambient_mp3\halloween\thunder_04.mp3,4,-1" "OnTrigger" "player,$PlaySoundToSelf,=150|items\powerup_pickup_regeneration.wav,0,-1" "OnTrigger" "player,$PlaySoundToSelf,=150|vo\mvm\mght\taunts\demoman_mvm_m_taunts02.mp3,4,-1" "OnTrigger" "player,$PlaySoundToSelf,=150|vo\mvm\mght\taunts\demoman_mvm_m_taunts11.mp3,9,-1" "OnTrigger" "player,$PlaySoundToSelf,=150|weapons/rescue_ranger_teleport_send_01.wav,2,-1" } } nombredelamision { logic_relay { "targetname" "name" "OnTrigger" "tf_objective_resource,$SetClientProp$m_iszMvMPopfileName,Termination - Indium Infiltration,0,-1" } OnSpawnOutput { Target "name" Action "trigger" Delay 0 } } ManTankDiedSadFace { prop_dynamic { "targetname" "spawn_support_behind" "Model" "models/props_mvm/robot_spawnpoint.mdl" "angles" "0 180 0" "Origin" "-1607 7064 784" "startdisabled" "0" "disableshadows" 1 "modelscale" 1.5 "Skin" 2 } prop_dynamic { "targetname" "spawn_support_behind_1" "solid" "1" "Model" "models\buildables\teleporter_light.mdl" "angles" "0 0 0" "Origin" "-1607 7064 784" "startdisabled" "0" "disableshadows" 0 "modelscale" 1.5 "Skin" 1 } training_annotation { "targetname" "enemy_forces" "display_text" "Backup enemy teleporter activated!" "lifetime" "4" "origin" "-1607 7064 784" } training_annotation { "targetname" "enemy_forces" "display_text" "Backup enemy teleporter activated!" "lifetime" "4" "origin" "-4107 3449 512" } info_particle_system { "targetname" "telein_1" "origin" "-1607 7064 884" "angles" "0 0 0" "effect_name" "teleporter_mvm_bot_persist" } info_particle_system { "targetname" "telein_2" "origin" "-4107 3449 612" "angles" "0 0 0" "effect_name" "teleporter_mvm_bot_persist" } logic_relay { "targetname" "manimdead" "OnTrigger" "03_door_unlock_relay,trigger,,10,-1" "OnTrigger" "spawn_support_behind_1,SetAnimation,running,13.5,-1" "OnTrigger" "spawn_support_behind,SetAnimation,idle,13.5,-1" "OnTrigger" "spawn_support_behind,Skin,1,13.5,-1" "OnTrigger" "spawn_support_teleporter,SetAnimation,running,13.5,-1" "OnTrigger" "spawn_support,SetAnimation,idle,13.5,-1" "OnTrigger" "spawn_support,Skin,1,13.5,-1" "OnTrigger" "telein*,Start,,13.5,-1" "OnTrigger" "enemy_forces,Show,,13.5,-1" "OnTrigger" "player,$PlaySoundToSelf,=90|mvm\mvm_tele_activate.wav,13.5,-1" "OnTrigger" "spawnbot_front*,enable,,0,-1" "OnTrigger" "player,$PlaySoundToSelf,=90|beams\beamstart5.wav,6,-1" "OnTrigger" "player,$PlaySoundToSelf,=90|ambient\machines\thumper_startup1.wav,7.5,-1" "OnTrigger" "player,$PlaySoundToSelf,=90|ambient\machines\thumper_shutdown1.wav,10,-1" "OnTrigger" "tf_point_nav_interface*,recomputeblockers,,15,-1" } } DrillTankV2 { NoFixup 1 info_target { "targetname" "repair_here" "origin" "0 0 0" } 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" } trigger_multiple { "targetname" "drill_hurt" "origin" "182 0 86" "mins" "-50 -40 -50" "maxs" "50 40 50" "spawnflags" "1" "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" "10" "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" "10" "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" "10" "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" "10" "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" "10" "pitch" "60" "pitchstart" "60" "radius" "5000" "sourceentityname" "!parent" "onuser1" "!self,stopsound,,0,-1" } ambient_generic { "targetname" "drill_sound" "message" "ambient/sawblade.wav" "health" "10" "pitch" "60" "pitchstart" "60" "radius" "5000" "sourceentityname" "!parent" "onuser1" "!self,stopsound,,0,-1" } } activateelevatorwindows { trigger_add_tf_player_condition { "targetname" "elevator_trigger" "origin" "-2805 7147 688" "spawnflags" "1" "condition" "12" "duration" "999" "mins" "-175 -175 -175" "maxs" "175 175 175" } trigger_multiple { "targetname" "checking_elevator" "origin" "-2805 7147 688" "mins" "-175 -175 -175" "maxs" "175 175 175" "StartDisabled" "0" "spawnflags" "1" "OnStartTouchAll" "elevator_transition,trigger,,25,-1" } } revsetup { OnSpawnOutput { Target "telezone" Action Kill Delay 1.5 } OnSpawnOutput { Target "timetosetup" Action "trigger" Delay 0 } OnSpawnOutput { Target "spawn_support_1" Action "EnableCollision" Delay 0 } point_viewcontrol { "acceleration" "0" "deceleration" "0" "interpolatepositiontoplayer" "0" "spawnflags" "0" "speed" "0" "wait" "10" "targetname" "camera" "origin" "-1717 6854 902" "angles" "10 165 0" } info_target { Name elevator_info "origin" "-2827 7074 688" } item_healthkit_medium { "targetname" "ammo_pack1" "angles" "0 0 0" "origin" "-1635 3488 512" } item_ammopack_medium { "targetname" "ammo_pack1" "angles" "0 0 0" "origin" "-1585 3488 512" } item_healthkit_medium { "targetname" "ammo_pack1" "angles" "0 0 0" "origin" "-4456 5504 512" } item_ammopack_medium { "targetname" "ammo_pack1" "angles" "0 0 0" "origin" "-4456 5602 512" } item_healthkit_medium { "targetname" "ammo_pack1" "angles" "0 0 0" "origin" "-1379 5772 624" } item_ammopack_medium { "targetname" "ammo_pack1" "angles" "0 0 0" "origin" "-1379 5840 624" } logic_relay { "targetname" "elevator_transition" "OnTrigger" "func_upgradestation*,disable,,0,-1" "OnTrigger" "player,SetHUDVisibility,0,0,-1" "OnTrigger" "door_upgrades,close,,0,-1" "OnTrigger" "door_upgrades,SetSpeed,50,0,-1" "OnTrigger" "player,$PlaySoundToSelf,ambient\rottenburg\tunneldoor_closed_quiet.wav,7.5,-1" "OnTrigger" "player,$PlaySoundToSelf,ambient\rottenburg\tunneldoor_closed_quiet.wav,7.5,-1" "OnTrigger" "tf_gamerules,PlayVO,plats\elevator_large_start1.wav,10,-1" "OnTrigger" "tf_gamerules,PlayVO,plats\elevator_move_loop2.wav,12,-1" "OnTrigger" "tf_gamerules,$ChangeLevel,mvm_robotfactory_b30|adv_termination_act_2,15,-1" "OnTrigger" "redwin_relay,trigger,,14.9,-1" "OnTrigger" "abrawlissurelybrewing,startshake,,7.5,1" "OnTrigger" "fadedtoblack,fade,,7.5,-1" "OnTrigger" "notoquesloscojonesniño,enable,,6.5,-1" "OnTrigger" "notoquesloscojonesniño,disable,,7.4,-1" } trigger_hurt { "targetname" "notoquesloscojonesniño" "origin" "-2560 7152 688" "mins" "-10 -300 -300" //Trigger bounds, relative to origin "maxs" "10 300 300" "damage" "3000000" "damagecap" "3000000" "damagemodel" "0" "damagetype" "16" "nodmgforce" "1" "spawnflags" "1" "StartDisabled" "1" } env_fade { "targetname" "fadedtoblack" "duration" "5.5" "holdtime" "3" "rendercolor" "0 0 0" } tf_glow { "GlowColor" "0 176 199 255" "target" "cap_point_a_tower" "targetname" "tower_glow" "startdisabled" "1" } tf_glow { "GlowColor" "0 176 199 255" "target" "cap_point_a_base" "targetname" "tower_glow" "startdisabled" "1" } tf_glow { "GlowColor" "0 176 199 255" "target" "terrminal" "targetname" "terminal_glow" "startdisabled" "1" } tf_glow { "GlowColor" "0 176 199 255" "target" "doorknob" "targetname" "breaker_glow" "startdisabled" "1" } 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 } 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" "-4563 5846 512" "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 } prop_dynamic //you get the deal { "targetname" "cap_point_a_tower" "origin" "-4563 5846 512" "model" "models\props_spytech\radio_tower001.mdl" "modelscale" 0.32 "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" "-4563 5846 512" "area_time_to_cap" "20" //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" } OnSpawnOutput { Target ambient_timer Action enable } logic_timer { "Ontimer" "tf_gamerules,PlayVO,ambient/alarms/citadel_alert_loop2.wav,1,-1" "targetname" "ambient_timer" "RefireTime" "60" } team_control_point { "targetname" "cap_point_a" "solid" 0 "disableshadows" "1" "origin" "-4563 5846 512" "point_printname" "Control Tower A" //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/mvm_holograms/mvm_cappoint_hologram.mdl" "team_model_2" "models/effects/mvm_holograms/mvm_cappoint_hologram.mdl" "team_model_3" "models/effects/mvm_holograms/mvm_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" "second_unlock,trigger,,0,-1" //output to fire when blu caps, oncapteam1 is when red caps "oncapteam1" "addtime,SetValue,120,0,-1" "OnTrigger" "player,$PlaySoundToSelf,=150|vo\announcer_time_added.mp3,0,-1" "oncapteam1" "tower_glow,disable,,0,-1" "oncapteam1" "player,$displaytexthint,New Objective - Kill the drill tank,6,-1" } prop_dynamic { "targetname" "emp_tank_prop" "Model" "models/spybase/emp_tank.mdl" "angles" "0 -90 0" "Origin" "-2283 8763 688" "startdisabled" "0" "defaultanim" "deploy" "disableshadows" 0 "modelscale" 1 "skin" 0 "solid" 6 "onanimationbegun" "!self,setplaybackrate,0.0001,2,-1" } prop_dynamic { "targetname" "emp_tank_prop" "model" "models/bots/boss_bot/tank_track_l.mdl" "angles" "0 -90 0" "solid" "0" "modelscale" "1" "origin" "-2338 8763 688" } prop_dynamic { "targetname" "emp_tank_prop" "model" "models/bots/boss_bot/tank_track_l.mdl" "angles" "0 -90 0" "solid" "0" "modelscale" "1" "origin" "-2227 8763 688" } prop_dynamic { "targetname" "emp_tank_prop_engi" "Model" "models\bots\engineer\bot_engineer.mdl" "angles" "0 45 90" "Origin" "-2351 8760 763" "startdisabled" "0" "defaultanim" "Melee_Swing" "disableshadows" 0 "modelscale" 1 "skin" 0 "setbodygroup" 1 "onanimationbegun" "!self,setplaybackrate,1.4,0.1,-1" } prop_dynamic_ornament { "targetname" "emp_tank_prop_engi_wrench" "model" "models\weapons\c_models\c_wrench\c_wrench.mdl" "color" "255 0 0" "solid" "0" "disablebonefollowers" "1" "disableshadows" "1" "skin" "1" "initialowner" "emp_tank_prop_engi" "startdisabled" "0" } prop_dynamic { "targetname" "spawn_support" "SetHealth" 1 "Model" "models/props_mvm/robot_spawnpoint.mdl" "angles" "0 180 0" "Origin" "-4107 3449 512" "startdisabled" "0" "disableshadows" 1 "modelscale" 1.5 "Skin" 2 } prop_dynamic { "targetname" "spawn_support_teleporter" "solid" "1" "Model" "models\buildables\teleporter_light.mdl" "angles" "0 0 0" "Origin" "-4107 3449 512" "startdisabled" "0" "disableshadows" 0 "modelscale" 1.5 "Skin" 1 } prop_dynamic { "targetname" "locker_model" "model" "models/props_gameplay/resupply_locker.mdl" "solid" "6" "angles" "0 130 0" "origin" "-1361 9264 688" "disableshadows" "1" } func_regenerate { "StartDisabled" "0" "targetname" "regenerate" "TeamNum" "2" "mins" "-60 -60 -96" "maxs" "135 60 96" "origin" "-1361 9264 688" "OnStartTouch" "regenerate,Disable,,0,-1" "OnEndTouchAll" "regenerate,Enable,,0,-1" "OnStartTouchAll" "locker_model,SetAnimation,open,0,-1" "OnEndTouchAll" "locker_model,SetAnimation,close,0,-1" "associatedmodel" "locker_model" "spawnflags" "1" } logic_relay { "targetname" "noobdown" "OnTrigger" "boton,unlock,,4-1" "OnTrigger" "spawnbot_middle_02_disableable,enable,,4,-1" "OnTrigger" "player,$displaytexthint,New Objective - Make your way to the terminal,4,-1" "OnTrigger" "player,$PlaySoundToSelf,=150|vo\announcer_time_added.mp3,0,-1" "OnTrigger" "addtime,SetValue,120,0,-1" "OnTrigger" "06_door_unlock_relay,trigger,,4,-1" "OnTrigger" "tf_point_nav_interface*,RecomputeBlockers,,5,-1" "OnTrigger" "player,$PlaySoundToSelf,misc\doomsday_lift_start.wav,4,-1" "OnTrigger" "terminal_glow,enable,,4,-1" "OnTrigger" "punch_me,show,,4,-1" } logic_relay { "targetname" "unlocksomething" "OnTrigger" "02_door_flank_2_unlock_relay,trigger,,0,-1" "OnTrigger" "02_door_unlock_relay,trigger,,0,-1" "OnTrigger" "tf_point_nav_interface*,recomputeblockers,,3,-1" "OnTrigger" "player,$PlaySoundToSelf,misc\doomsday_lift_start.wav,0,-1" } logic_relay { "targetname" "timetosetup" "OnTrigger" "red_rev_mission_relay,trigger,,0,-1" "OnTrigger" "carrier_disable_relay,trigger,,0,-1" "OnTrigger" "drydock_open_relay,trigger,,0,-1" "OnTrigger" "shortcut_bridge_retract_relay,trigger,,0,-1" "OnTrigger" "01_door_lock_relay,trigger,,0,-1" "OnTrigger" "02_door_lock_relay,trigger,,0,-1" "OnTrigger" "03_door_lock_relay,trigger,,0,-1" "OnTrigger" "04_door_lock_relay,trigger,,0,-1" "OnTrigger" "05_door_lock_relay,trigger,,0,-1" "OnTrigger" "06_door_lock_relay,trigger,,0,-1" "OnTrigger" "08_door_lock_relay,trigger,,0,-1" "OnTrigger" "02_door_flank_1_lock_relay,trigger,,0,-1" "OnTrigger" "02_door_flank_2_lock_relay,trigger,,0,-1" "OnTrigger" "03_door_flank_1_lock_relay,trigger,,0,-1" "OnTrigger" "03_door_flank_2_lock_relay,trigger,,0,-1" "OnTrigger" "silo_door_close,trigger,,0,-1" "OnTrigger" "telezone,disable,,1,-1" "OnTrigger" "telezone,enable,,0.1,-1" "OnTrigger" "emp_tank_path_8,AddOutput,OnPass emp_tank:SetSpeed:0:0:-1,0,-1" "OnTrigger" "emp_tank_path_8,AddOutput,OnPass 05_door_unlock_relay:trigger::13:-1,0,-1" "OnTrigger" "emp_tank_path_8,AddOutput,OnPass tf_point_nav_interface*:RecomputeBlockers::20:-1,0,-1" "OnTrigger" "emp_tank_path_8,AddOutput,OnPass player:$PlaySoundToSelf:misc\doomsday_lift_start.wav:13:-1,0,-1" "OnTrigger" "emp_tank_path_8,AddOutput,OnPass tankrequirementslegs*:SetAnimation:ref:0:-1,0,-1" "OnTrigger" "emp_tank_path_8,AddOutput,OnPass info_training:Show::0.1:-1,0,-1" "OnTrigger" "emp_tank_path_8,AddOutput,OnPass info_2:Show::7:-1,6,-1" "OnTrigger" "emp_tank_path_8,AddOutput,OnPass tank_hologram_relay_left:trigger::7:-1,6,-1" "OnTrigger" "emp_tank_path_8,AddOutput,OnPass player:$displaytexthint:New Objective - Kill the demo patrol bot to proceed:20:-1,12,-1" "OnTrigger" "emp_tank_path_21,AddOutput,OnPass emp_tank:SetSpeed:0:0:-1,0,-1" "OnTrigger" "emp_tank_path_21,AddOutput,OnPass tankrequirementslegs*:SetAnimation:ref:0:-1,0,-1" "OnTrigger" "emp_tank_path_21,AddOutput,OnPass tank_emp:SetAnimation:deploy:0.3:-1,0,-1" "OnTrigger" "emp_tank_path_21,AddOutput,OnPass tank_emp:SetPlaybackRate:0.67:0.3:-1,0,-1" "OnTrigger" "emp_tank_path_21,AddOutput,OnPass emp_tank:RemoveHealth:9999999:12.6:-1,0,-1" "OnTrigger" "emp_tank_path_21,AddOutput,OnPass player:$PlaySoundToSelf:tank_emp_deploy.mp3:0.2:-1,0,-1" "OnTrigger" "emp_tank_path_21,AddOutput,OnPass redlose_relay:disable::12.3:-1,0,-1" "OnTrigger" "emp_tank_path_21,AddOutput,OnPass moosic*:stopsound::0:-1,0,-1" "OnTrigger" "emp_tank_path_21,AddOutput,OnPass spawnbot*:Disable::12.6:-1,0,-1" "OnTrigger" "emp_tank_path_21,AddOutput,OnPass red_spawn*:Disable::12.6:-1,0,-1" "OnTrigger" "emp_tank_path_21,AddOutput,OnPass cleanupbots:Enable::12.6:-1,0,-1" "OnTrigger" "emp_tank_path_21,AddOutput,OnPass cleanupbots:Disable::12.7:-1,0,-1" "OnTrigger" "emp_tank_path_21,AddOutput,OnPass red_normal_mission_relay:trigger::12.7:-1,0,-1" "OnTrigger" "emp_tank_path_21,AddOutput,OnPass bluespawn_visualiser*:disable::12.8:-1,0,-1" "OnTrigger" "emp_tank_path_21,AddOutput,OnPass oops_dropped_the_pow_block:ForceSpawn::12.6:-1,0,-1" "OnTrigger" "emp_tank_path_21,AddOutput,OnPass emp_fade:fade::12.6:-1,0,-1" "OnTrigger" "emp_tank_path_21,AddOutput,OnPass boss_about_to_blow:start::7.6:-1,0,-1" "OnTrigger" "emp_tank_path_21,AddOutput,OnPass die:start::12.5:-1,0,-1" "OnTrigger" "emp_tank_path_21,AddOutput,OnPass boton_elevator:unlock::12.6:-1,0,-1" "OnTrigger" "emp_tank_path_21,AddOutput,OnPass spawnbarrierA*:kill::12.6:-1,0,-1" "OnTrigger" "emp_tank_path_21,Addoutput,OnPass breaker_glow:enable::12.6:-1,0,-1" "OnTrigger" "emp_tank_path_21,AddOutput,OnPass player:$displaytexthint:New Objective - Melee the breaker box to activate the elevator:18:-1,0,-1" "OnTrigger" "emp_tank_path_21,AddOutput,OnPass punch_me_breaker:show::18:-1,0,-1" "OnTrigger" "drill_tank_path_12,AddOutput,OnPass !activator:RemoveHealth:99999;0:-1,0,-1" "OnTrigger" "drill_tank_path_12,AddOutput,OnPass manimdead:disable::0.1:-1,0,-1" "OnTrigger" "drill_tank_path_12,AddOutput,OnPass redlose_relay:trigger::0:-1,0,-1" "OnTrigger" "drill_tank_path_12,AddOutput,OnPass emp_tank_down:start::0:-1,0,-1" "OnTrigger" "drill_tank_path_12,AddOutput,OnPass player:$PlaySoundToSelf:items\cart_explode.wav:0:-1,0,-1" //"OnTrigger" "dontattack,enable,,0.1,1" } prop_dynamic //prop for show { "targetname" "spawnbarrierA" "angles" "0 135 0" "DisableBoneFollowers" "1" "disablereceiveshadows" "1" "model" "models/mvm/barrier/barrier_spawn_blue1.mdl" "disableshadows" "1" "origin" "-2497 1743 602" "modelscale" "0.75" "solid" "6" } prop_dynamic //prop for show { "targetname" "spawnbarrierA" "angles" "0 90 0" "DisableBoneFollowers" "1" "disablereceiveshadows" "1" "model" "models/mvm/barrier/barrier_spawn_blue1.mdl" "disableshadows" "1" "origin" "-1505 1536 602" "modelscale" "0.75" "solid" "6" } info_particle_system { "TargetName" "emp_tank_down" "angles" "0 0 0" "origin" "-2289 8788 748" "effect_name" "cinefx_goldrush" } trigger_hurt { "targetname" "cleanupbots" "origin" "0 0 0" "mins" "-10000 -10000 -10000" //Trigger bounds, relative to origin "maxs" "15000 15000 15000" "damage" "3000000" "damagecap" "3000000" "damagemodel" "0" "damagetype" "16" "filtername" "blueteam" "nodmgforce" "1" "spawnflags" "1" "StartDisabled" "1" } prop_dynamic { "targetname" "front_heavy" "origin" "-2075 7770 688" "angles" "0 180 90" "model" "models/bots/heavy_boss/bot_heavy_boss.mdl" "modelscale" "2" "color" "255 255 255" "defaultanim" "primary_stun_middle" "disablebonefollowers" "1" "onanimationbegun" "!self,setplaybackrate,0.0001,0,-1" "skin" "1" "solid" 6 } prop_dynamic_ornament { "targetname" "front_heavy_2" "model" "models\player\items\heavy\hardhat_tower.mdl" "color" "255 0 0" "solid" "0" "disablebonefollowers" "1" "disableshadows" "1" "skin" "1" "initialowner" "front_heavy" "startdisabled" "0" } info_target { "targetname" demo_boss "origin" "-4586 2883 512" } prop_dynamic { "targetname" "demo_mini_boss" "origin" "-4586 2883 512" "angles" "0 90 0" "model" "models/bots/demo_boss/bot_demo_boss.mdl" "modelscale" "2" "color" "255 255 255" "defaultanim" "primary_stun_middle" "disablebonefollowers" "1" "onanimationbegun" "!self,setplaybackrate,0.0001,0,-1" "skin" "1" } prop_dynamic_ornament { "targetname" "demo_mini_boss_2" "model" "models\player\items\demo\hardhat_tower.mdl" "color" "255 0 0" "solid" "0" "disablebonefollowers" "1" "disableshadows" "1" "skin" "1" "initialowner" "demo_mini_boss" "startdisabled" "0" } trigger_add_or_remove_tf_player_attributes { "targetname" "emp_aftermath" "add_or_remove" "0" "attribute_name" "no_attack" "value" "1" "duration" "5" "origin" "0 0 0" "mins" "-10000 -10000 -10000" //Trigger bounds, relative to origin "maxs" "15000 15000 15000" "spawnflags" "1" "startdisabled" "1" } func_nobuild { "targetname" "flavour_front" "origin" "-1315 8033 688" "mins" "-100 -200 -100" "maxs" "100 200 100" "AllowTeleporters" "0" "AllowSentry" "0" "AllowDispenser" "0" } func_forcefield { "disablereceiveshadows" "0" "origin" "-1415 8027 688" "renderamt" "255" "rendercolor" "255 255 255" "renderfx" "0" "rendermode" "10" "TeamNum" "3" "targetname" "flavour_front" "mins" "-20 -200 0" "maxs" "20 200 3000" "StartDisabled" "0" "angles" "0 90 0" } func_forcefield { "disablereceiveshadows" "0" "origin" "-1415 8027 688" "renderamt" "255" "rendercolor" "255 255 255" "renderfx" "0" "rendermode" "10" "TeamNum" "2" "targetname" "flavour_front" "mins" "-20 -200 0" "maxs" "20 200 3000" "StartDisabled" "0" "angles" "0 90 0" } prop_dynamic { "origin" "-1417 7996 805" "targetname" "flavour_front" "model" "models\props_coalmines\wood_fence_256.mdl" "angles" "0 90 0" "solid" "1" } prop_dynamic { "origin" "-1417 7996 1065" "targetname" "flavour_front" "model" "models\props_coalmines\wood_fence_256.mdl" "angles" "0 90 0" "solid" "1" } prop_dynamic { "origin" "-1417 8126 805" "targetname" "flavour_front" "model" "models\props_coalmines\wood_fence_128.mdl" "angles" "0 90 0" "solid" "1" } prop_dynamic { "origin" "-1417 8126 1065" "targetname" "flavour_front" "model" "models\props_coalmines\wood_fence_128.mdl" "angles" "0 90 0" "solid" "1" } prop_dynamic { "origin" "-5281 4733 512" "targetname" "drill_tank_prop" "model" "models/watermine/drill_tank.mdl" "angles" "0 90 0" "solid" "6" } prop_dynamic { "targetname" "drill_tank_prop" "model" "models/bots/boss_bot/tank_track_l.mdl" "angles" "0 90 0" "solid" "0" "modelscale" "1" "origin" "-5335 4704 512" } prop_dynamic { "targetname" "drill_tank_prop" "model" "models/bots/boss_bot/tank_track_l.mdl" "angles" "0 90 0" "solid" "0" "modelscale" "1" "origin" "-5226 4704 512" } info_target { "targetname" "spawn_info_target" "origin" "-1362 9449 688" } trigger_teleport { "spawnflags" "1" "targetname" "telezone" "origin" "-1821 1121 512" "target" "spawn_info_target" "mins" "-500 -500 -500" "maxs" "500 500 500" } trigger_teleport { "spawnflags" "1" "targetname" "teleport_to_elevator" "origin" "0 0 0" "target" "elevator_info" "mins" "-15000 -15000 -15000" "maxs" "15000 15000 15000" "startdisabled" "1" } } oops_dropped_the_pow_block { OnSpawnOutput { Target player Action RunScriptCode Param "self.ViewPunch(QAngle(-50,0,0))" Delay 0.2 } } idkkilldemostatue { OnSpawnOutput { Target demo_mini_boss* Action KILL } } } SpawnTemplate revsetup SpawnTemplate nombredelamision Wave { WaitWhenDone 65 Checkpoint Yes CustomMaxWaveNumber 7 StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } WaveSpawn { FirstSpawnOutput { Target "chief_spawn" Action Trigger Delay 6 } } WaveSpawn { FirstSpawnOutput { Target "act_intro" Action ForceSpawn Delay 0.1 } } WaveSpawn { Name intro TotalCurrency 100 TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 10 WaitBetweenSpawns 10 Where spawnbot_chief_heavy TFBot { ClassIcon heavy_robot_nys Health 10000 Name "Heavy Patrol Chief" Attributes UseBossHealthBar Template T_TFBot_Giant_Heavyweapons Attributes DisableDodge Tag giant Skill Normal Action Mobber Item "Lo-Fi Longwave" InterruptAction // Stop current bot ai and force the bot to move to a location { Target "-2075 7770 688" // 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 8 WaitUntilDone 1 // If set, duration timer only starts when the bot moves to the target location or the aim target is killed (Default: 0) } CharacterAttributes { "no_jump" 1 "move speed bonus" 0.4 } FireInput { Target front_heavy* //targets the bot this is on Action kill Cooldown 999 Delay 0 } } DoneOutput { Target first_unlock Action Trigger Delay 3 } } WaveSpawn { WaitForAllDead intro TotalCurrency 0 TotalCount 1 MaxActive 1 SpawnCount 1 HideIcon 1 WaitBeforeStarting 24 WaitBetweenSpawns 1 Where spawnbot_spy TFBot { Template T_TFBot_SentryBuster ClassIcon sentry_buster_giant_support UseBusterModel 1 Action SuicideBomber Tag giant Health 2 CharacterAttributes { "is suicide counter" 1 } } DoneOutput { Target "flavour_front*" Action Kill Delay 0.2 } } WaveSpawn { WaitForAllDead Intro FirstSpawnOutput { Target intro_chief Action StopSound } } WaveSpawn { FirstSpawnOutput { Target timerdisplay Action runscriptcode Param "timer(0,40,0.7,0.9,`255 50 50`)" Delay 0 } } WaveSpawn { FirstSpawnOutput { Target timerpause Action trigger Delay 0.1 } } WaveSpawn { FirstSpawnOutput { Target timerpause Action trigger Delay 10 } } WaveSpawn { WaitForAllDead Intro FirstSpawnOutput { Target timerpause Action trigger } } WaveSpawn { WaitForAllDead Intro FirstSpawnOutput { Target timerpause Action trigger Delay 18 } } WaveSpawn { Name part1 WaitForAllDead intro TotalCurrency 150 TotalCount 3 MaxActive 2 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 14 Where spawnbot_side_3 DoneOutput { Target unlocksomething Action Trigger } TFBot { Template T_TFBot_Giant_Soldier Action Mobber Tag giant } } WaveSpawn { WaitForAllDead intro Name part1support TotalCurrency 30 TotalCount 30 MaxActive 20 SpawnCount 5 WaitBeforeStarting 8 WaitBetweenSpawns 7 Where spawnbot_side_3 TFBot { Template T_TFBot_Scout_Melee ClassIcon scout_bat_nys Action Mobber } } WaveSpawn { Name part2 WaitForAllDead part1 TotalCurrency 100 TotalCount 3 MaxActive 3 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 20 Where spawnbot_side_2 RandomChoice { NextSpawnerClone 2 TFBot { Template T_TFBot_Giant_Pyro Action Mobber Tag giant ExtAttr IgnoreNPC CharacterAttributes { "increased jump height" 1.5 "cancel falling damage" 1 } } TFBot { Template T_TFBot_Giant_Pyro Action Mobber Tag giant ExtAttr IgnoreNPC InterruptAction // Stop current bot ai and force the bot to move to a location { Target "-4532 5843 512" // Move target location Name "aa" // Name of the interrupt action. When the task is done, bot's $OnActionDone output is fired with name as parameter Delay 0.1 // Time before the first task starts. Must be above 0, or it will not execute (Default: 10) Repeats 99 // How many times should bot do the task in total (Default: 0 - Infinite) Cooldown 0 //Time between each task (Default: 10) Duration 9999 // How long should the ai be interrupted Distance 0 // How close should bot move to the target (Default: 0) } CharacterAttributes { "increased jump height" 1.5 "cancel falling damage" 1 } } } } WaveSpawn { Name part2support WaitForAllDead part1 TotalCurrency 30 TotalCount 24 MaxActive 12 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 1 Where spawnbot_side_2 RandomChoice { TFBot { Template T_TFBot_Demoman Action Mobber Skill Easy ExtAttr IgnoreNPC } TFBot { Template T_TFBot_Demoman Action Mobber Skill Easy ExtAttr IgnoreNPC } TFBot { Template T_TFBot_Demoman Action Mobber Skill Easy } TFBot { Template T_TFBot_Demoman Action Mobber Skill Easy ExtAttr IgnoreNPC InterruptAction // Stop current bot ai and force the bot to move to a location { Target "-4532 5843 512" // Move target location Name "aa" // Name of the interrupt action. When the task is done, bot's $OnActionDone output is fired with name as parameter Delay 0.1 // Time before the first task starts. Must be above 0, or it will not execute (Default: 10) Repeats 99 // How many times should bot do the task in total (Default: 0 - Infinite) Cooldown 0 //Time between each task (Default: 10) Duration 5 // How long should the ai be interrupted Distance 50 // How close should bot move to the target (Default: 0) } } } } WaveSpawn { Name part3 WaitForAlldead part2 TotalCurrency 100 TotalCount 2 MaxActive 2 SpawnCount 1 WaitBeforeStarting 5 WaitBetweenSpawns 20 Where spawnbot_side_2 RandomChoice { Shuffle 1 TFBot { Template T_TFBot_Giant_Heavyweapons_Shotgun Action Mobber Tag giant CharacterAttributes { "increased jump height" 1.5 "cancel falling damage" 1 } } TFBot { Template T_TFBot_Giant_Heavyweapons_Shotgun Action Mobber ExtAttr IgnoreNPC Tag giant InterruptAction // Stop current bot ai and force the bot to move to a location { Target "-4532 5843 512" // Move target location Name "aa" // Name of the interrupt action. When the task is done, bot's $OnActionDone output is fired with name as parameter Delay 0.1 // Time before the first task starts. Must be above 0, or it will not execute (Default: 10) Repeats 99 // How many times should bot do the task in total (Default: 0 - Infinite) Cooldown 0 //Time between each task (Default: 10) Duration 9999 // How long should the ai be interrupted Distance 0 // How close should bot move to the target (Default: 0) } CharacterAttributes { "increased jump height" 1.5 "cancel falling damage" 1 } } } } WaveSpawn { Name part3support2 WaitForAllSpawned part2 TotalCurrency 60 TotalCount 30 MaxActive 10 SpawnCount 2 WaitBeforeStarting 20 WaitBetweenSpawns 3 Where spawnbot_side_2 Squad { NoWaitForFormation 1 TFBot { Health 125 Name Scout Class Scout Skill Easy Action Mobber ExtAttr IgnoreNPC } TFBot { ClassIcon pyro_dragon_fury_swordstone Name "Dragon's Fury Pyro" Class Pyro Skill Easy Item "The Dragon's Fury" MaxVisionRange 700 ExtAttr IgnoreNPC CharacterAttributes { "airblast disabled" 1 } } } } WaveSpawn { Name decoy_spawn TotalCurrency 0 TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 15 Where spawnbot_decoy HideIcon 1 TFBot { Class Scout Health 1 Action Mobber CharacterAttributes { "is suicide counter" 1 } } } WaveSpawn { Name tankspawn WaitForAllDead decoy_spawn TotalCurrency 100 TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 2.5 WaitBetweenSpawns 10 Where spawnbot Tank { Health 25000 Name tank_with_a_drill Speed 50 SpawnTemplate DrillTankV2 StartingPathTrackNode drill_tank_path_1 ClassIcon tank_drill_lite DisableBomb 1 Model { 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" } OnKilledOutput { Target manimdead Action Trigger Delay 1 } OnBombDroppedOutput { Target manimdead Action disable } } } WaveSpawn { Name tanksupport WaitForAllSpawned tankspawn TotalCurrency 30 TotalCount 60 MaxActive 40 SpawnCount 1 WaitBeforeStarting 6 WaitBetweenSpawns 1 Where spawnbot_side_1 RandomChoice { TFBot { ClassIcon engineer Health 125 Name "Maintenance Crew" Class Engineer Skill Normal WeaponRestrictions PrimaryOnly Item "the data mining light" Action Mobber } TFBot { ClassIcon engineer Health 125 Name "Maintenance Crew" Class Engineer Skill Expert WeaponRestrictions MeleeOnly Attributes AlwaysFireWeapon Item "the data mining light" Action Mobber InterruptAction // Stop current bot ai and force the bot to move to a location { Target "repair_here" // Move target location Name "a" // Name of the interrupt action. When the task is done, bot's $OnActionDone output is fired with name as parameter Delay 0.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 999 // How long should the ai be interrupted AimTarget "repair_here" KillAimTarget 1 Distance 50 // How close should bot move to the target (Default: 0) } } TFBot { ClassIcon engineer Health 125 Name "Maintenance Crew" Class Engineer Skill Normal WeaponRestrictions PrimaryOnly Item "panic attack shotgun" Item "the data mining light" Action Mobber } } } WaveSpawn { Name tanksupport WaitForAllSpawned tankspawn Where spawnbot_side_1 TotalCount 4 MaxActive 4 SpawnCount 1 WaitBeforeStarting 7 WaitBetweenSpawns 21 TotalCurrency 0 TFBot { Health 2500 Name "Giant Widowmaker Engineer" Scale 1.7 ClassIcon engineer_widowmaker_nys_giant Class Engineer Skill Expert Action Mobber ExtAttr IgnoreBuildings WeaponRestrictions PrimaryOnly MaxVisionRange 900 Attributes "HoldFireUntilFullReload" Attributes "MiniBoss" Item "the widowmaker" Item "tf_weapon_pistol" Item "tf_weapon_wrench" Tag giant CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.5 "airblast vulnerability multiplier" 0.5 "override footstep sound set" 4 "voice pitch scale" 0 } } } WaveSpawn { Name support1 WaitForAllDead tankspawn TotalCurrency 30 TotalCount 20 MaxActive 10 SpawnCount 5 WaitBeforeStarting 16 WaitBetweenSpawns 10 Where spawnbot_middle_02_disableable TFBot { Template T_TFBot_Soldier_RocketShotgun Action Mobber } } WaveSpawn { Name part4 WaitForAllDead tankspawn TotalCurrency 100 TotalCount 3 MaxActive 3 SpawnCount 1 WaitBeforeStarting 16 WaitBetweenSpawns 12 Where spawnbot_side_1 TFBot { Template T_TFBot_Giant_Scout_Fast Action Mobber ExtAttr IgnoreNPC Tag giant } DoneOutput { Target chief_spawn_pyro Action Trigger Delay 2 } } WaveSpawn { Name part4_2 WaitForAllDead part4 TotalCurrency 100 TotalCount 3 MaxActive 3 SpawnCount 1 WaitBeforeStarting 5 WaitBetweenSpawns 10 Where spawnbot_side_1 TFBot { Template T_TFBot_Giant_Scout_Fast Action Mobber ExtAttr IgnoreNPC Tag giant } } WaveSpawn { Name "protectthishit" WaitForAllDead "tankspawn" TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 15 WaitBetweenSpawns 0 Support Limited TotalCurrency 0 Tank { Name "emp_tank" ClassIcon tank_red_lite StartingPathTrackNode emp_tank_path_1 Health 40000 Speed 75 Skin 0 TeamNum 2 Gravity 0 DisableBomb 1 DisableChildModels 1 SpawnTemplate temp Model { Default "models/empty.mdl" } OnKilledOutput { Target redlose_relay Action Trigger } OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn { WaitForAllDead protectthishit FirstSpawnOutput { Target timerpause Action trigger } } WaveSpawn { WaitForAllDead "tankspawn" TotalCurrency 0 TotalCount 10 MaxActive 3 SpawnCount 1 Where spawnbot_behind WaitBeforeStarting 30 WaitBetweenSpawns 17 Support 1 TFBot { Template T_TFBot_Small_Buster ClassIcon sentry_buster_caber_sgtc Name "Player Buster" Item "lo-fi longwave" Scale 1.2 } } WaveSpawn { Name chief3 WaitForAllDead "part4" TotalCurrency 50 TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 4 WaitBetweenSpawns 1 Where boss_two TFBot { SpawnTemplate idkkilldemostatue Health 12000 Name "Patrol Chief Demo" Scale 2 Template T_TFBot_Giant_Demo_Burst Item "lo-fi longwave" Action Mobber Attributes UseBossHealthBar FireInput { Target !self //targets the bot this is on Action $TeleportToEntity Cooldown 999 Delay 0 Param "demo_boss" //name of an info_target on top of the tank } } DoneOutput { Target noobdown Action Trigger } } WaveSpawn { Name "finalpush" WaitForAllDead "chief3" Where red_spawn_2 TotalCount 4 MaxActive 4 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 4 TotalCurrency 20 TFBot { Template T_TFBot_Sniper_Huntsman_Spammer MaxVisionRange 900 Action Mobber InterruptAction // Stop current bot ai and force the bot to move to a location { Target "-4564 1959 512" // Move target location Name "b" // Name of the interrupt action. When the task is done, bot's $OnActionDone output is fired with name as parameter Delay 0.1 // Time before the first task starts. Must be above 0, or it will not execute (Default: 10) Repeats 2 // How many times should bot do the task in total (Default: 0 - Infinite) Cooldown 0 //Time between each task (Default: 10) Duration 5 // How long should the ai be interrupted Distance 50 // How close should bot move to the target (Default: 0) } } } WaveSpawn { Name "finalpush" WaitForAllDead "chief3" Where red_spawn TotalCount 32 MaxActive 16 SpawnCount 4 WaitBeforeStarting 0 WaitBetweenSpawns 8 TotalCurrency 20 TFBot { Template T_TFBot_Sniper_Huntsman MaxVisionRange 900 Action Mobber InterruptAction // Stop current bot ai and force the bot to move to a location { Target "-1504 2303 511" // Move target location Name "a" // Name of the interrupt action. When the task is done, bot's $OnActionDone output is fired with name as parameter Delay 0.1 // Time before the first task starts. Must be above 0, or it will not execute (Default: 10) Repeats 2 // How many times should bot do the task in total (Default: 0 - Infinite) Cooldown 0 //Time between each task (Default: 10) Duration 5 // How long should the ai be interrupted Distance 50 // How close should bot move to the target (Default: 0) } } } WaveSpawn { Name "finalpush_2" WaitForAllDead "chief3" Where red_spawn TotalCount 4 MaxActive 4 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 13 TotalCurrency 30 TFBot { Template T_TFBot_Giant_Soldier_Spammer Action Mobber InterruptAction // Stop current bot ai and force the bot to move to a location { Target "-1504 2303 511" // Move target location Name "a" // Name of the interrupt action. When the task is done, bot's $OnActionDone output is fired with name as parameter Delay 0.1 // Time before the first task starts. Must be above 0, or it will not execute (Default: 10) Repeats 2 // How many times should bot do the task in total (Default: 0 - Infinite) Cooldown 0 //Time between each task (Default: 10) Duration 5 // How long should the ai be interrupted Distance 50 // How close should bot move to the target (Default: 0) } } } WaveSpawn { Name "finalpush_final1" WaitForAllSpawned "finalpush" Where red_spawn TotalCount 21 MaxActive 15 SpawnCount 3 WaitBeforeStarting 15 WaitBetweenSpawns 5 TotalCurrency 30 TFBot { Template T_TFBot_Demo_Burst Action Mobber InterruptAction // Stop current bot ai and force the bot to move to a location { Target "-1504 2303 511" // Move target location Name "a" // Name of the interrupt action. When the task is done, bot's $OnActionDone output is fired with name as parameter Delay 0.1 // Time before the first task starts. Must be above 0, or it will not execute (Default: 10) Repeats 2 // How many times should bot do the task in total (Default: 0 - Infinite) Cooldown 0 //Time between each task (Default: 10) Duration 5 // How long should the ai be interrupted Distance 50 // How close should bot move to the target (Default: 0) } } } WaveSpawn { Name "lol" WaitForAllSpawned "finalpush" Where red_spawn TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 99999999999999999999 WaitBetweenSpawns 10 HideIcon 1 TotalCurrency 0 TFBot { Template T_TFBot_Demo_Burst } } WaveSpawn { Name "lol" Where red_spawn TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 99999999999999999999 WaitBetweenSpawns 10 Support 1 TotalCurrency 0 TFBot { Template T_TFBot_Demo_Burst ClassIcon timer_lite } } } Wave { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } WaveSpawn { Name "" WaitForAllDead "" Where spawnbot_spy TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 0 TotalCurrency 0 TFBot { Template T_TFBot_Giant_Heavyweapons UseCustomModel "models/bots/heavy_boss/bot_heavy_goliath.mdl" Scale 30 FireInput { Target !self Action $SetLocalOrigin Param "210 4699 -373" Delay 0 Repeats 1 } } } } }