// 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 TextPrintTime 0 reversewinconditions 1 RobotLimit 40 AllowBotExtraSlots 1 WaveStartCountdown 3 enemyteamforreverse blue PrecacheModel "models/props_frontline/splosivebarrel.mdl" PrecacheModel "models/robot_factory/australium_tank_build_chunk_1_build_chunk_1.mdl" PrecacheModel "models/robot_factory/australium_tank_build_chunk_2.mdl" PrecacheModel "models/robot_factory/australium_tank_build_chunk_3.mdl" PrecacheModel "models/robot_factory/australium_tank_build_chunk_4.mdl" PrecacheModel "models/robot_factory/australium_tank_build_chunk_5.mdl" PrecacheModel "models/robot_factory/australium_tank_build_chunk_6.mdl" PrecacheModel "models/robot_factory/australium_tank_build_chunk_7.mdl" PrecacheModel "models/robot_factory/australium_pile_1.mdl" PrecacheModel "models/robot_factory/australium_pile_2.mdl" PrecacheModel "models/robot_factory/australium_pile_3.mdl" PrecacheModel "models/robot_factory/australium_pile_4.mdl" PrecacheModel "models/effects/mvm_holograms/mvm_cappoint_hologram.mdl" PrecacheModel "models/effects/mvm_holograms/mvm_cappoint_hologram_onlyblue.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" PrecacheModel "models/robot_factory/australium_tank.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/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/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/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/bots/pyro_boss/bot_thermal_pyro_damage1.mdl" PrecacheModel "models/bots/pyro_boss/bot_thermal_pyro_damage2.mdl" PrecacheModel "models/bots/pyro_boss/bot_thermal_pyro_damage3.mdl" PrecacheModel "models/weapons/c_models/c_cryo_gun/c_cryo_gun.mdl" PrecacheModel "models/weapons/c_models/c_cryo_gun/c_cryo_gun_fireball.mdl" PrecacheModel "models/weapons/c_models/c_cryo_gun/c_cryo_gun_ice_shard.mdl" PrecacheModel "models/weapons/c_models/c_cryo_gun/c_pyro_cryo_gun_animations.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 "introact2.mp3" PrecacheSound "term4minutesleft.wav" // PrecacheSound "act_3_wave_1_placeholder.mp3" PrecacheSound "mobo_siren.wav" PrecacheSound "act3transtionvoicelines.mp3" PrecacheSound "hhwave1.mp3" PrecacheSound "hhwave1intro.mp3" PrecacheSound "hhwave2intro.mp3" PrecacheSound "hhwave2loop.mp3" PrecacheSound "turning_point_loop2.mp3" PrecacheSound "turning_point2.mp3" PrecacheParticle "spell_fireball_small_trail_red" LuaScriptFile "tank_repair.lua" LuaScriptFile "scripts\crackass.lua" OverrideSounds { "MVM.GiantHeavyExplodes" "npc\env_headcrabcanister\explosion.wav" "MVM.GiantCommonExplodes" "npc\env_headcrabcanister\explosion.wav" } CustomScriptSounds { "Pyro.Boss.Step" { "channel" "CHAN_STATIC" "volume" "1.0" "pitch" "100" "soundlevel" "SNDLVL_95dB" "rndwave" { "wave" "^mvm/giant_heavy/giant_heavy_step01.wav" "wave" "^mvm/giant_heavy/giant_heavy_step02.wav" "wave" "^mvm/giant_heavy/giant_heavy_step03.wav" "wave" "^mvm/giant_heavy/giant_heavy_step04.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 { 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 "!activator" Action AddOutput Param "targetname bigguy" Delay 0.00 } OnParentKilledOutput { Target "!activator" Action AddOutput Param "targetname " Delay 0.00 } 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,,0,-1" "OnTrigger" "spawnbotreddit,disable,,1,-1" "OnTrigger" "spawnbotreddit2,disable,,1,-1" "OnTrigger" "spawnbotreddit3,disable,,1,-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" "music4loop,disable,,0,1" "OnTrigger" "poopdapoop*,FadeOut,3,0,1" "OnTrigger" "spawnbotreddit2,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.6,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" "pop_interface,$FinishWave,,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" "musicforw4,trigger,,0,-1" "OnTrigger" "abrawlissurelybrewing,startshake,,0,-1" "OnTrigger" "carrier_door_front_open_relay,trigger,,0,-1" "OnTrigger" "protectthisn,show,,10,-1" "OnTrigger" "player,$DisplayTextChat,{yellow}[ Now Playing: {6383ff} Turning Point - GoodBobFR {yellow}],6,-1" "OnTrigger" "tf_gamerules,PlayVO,misc\doomsday_lift_start.wav,1,1" "OnTrigger" "tf_gamerules,PlayVO,misc\doomsday_lift_start.wav,1,1" "OnTrigger" "bignet,RunScriptCode,TextualTimer.Start(),0,1" } logic_relay { "targetname" "musicforw4" "spawnflags" "2" "OnTrigger" "protect_the_engi*,PlaySound,,0,-1" "OnTrigger" "protect_the_engi*,StopSound,,190,-1" "OnTrigger" "music4loop,Trigger,,190.05,-1" } //Loop logic_relay { "targetname" "music4loop" "spawnflags" "2" "OnTrigger" "poopdapoop*,PlaySound,,0,-1" "OnTrigger" "poopdapoop*,StopSound,,145,-1" "OnTrigger" "music4loop,Trigger,,145.05,-1" } ambient_generic { "targetname" "protect_the_engi" "message" "#turning_point2.mp3" "health" "7" "pitch" "100" "spawnflags" "17" } ambient_generic { "targetname" "protect_the_engi" "message" "#turning_point2.mp3" "health" "7" "pitch" "100" "spawnflags" "17" } ambient_generic { "targetname" "poopdapoop" "message" "#turning_point_loop2.mp3" "health" "7" "pitch" "100" "spawnflags" "17" } ambient_generic { "targetname" "poopdapoop" "message" "#turning_point_loop2.mp3" "health" "7" "pitch" "100" "spawnflags" "17" } training_annotation { "targetname" "unstablebots" "lifetime" "6" "display_text" "Unstable Giants will detonate on low health!" "origin" "-1808 2636 209" } training_annotation { "targetname" "incomingbomb" "lifetime" "6" "display_text" "The robots have brought in a 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" "justaspoonfulofdamage" "OnTrigger" "payloadtank,RemoveHealth,10000,0,-1" "OnTrigger" "tf_gamerules,PlayVO,misc\doomsday_missile_explosion.wav,0,-1" } logic_relay { "targetname" "GETTHEFUCKOUT" "OnTrigger" "gettothepayload,show,,0,-1" "OnTrigger" "bomb*,ForceResetSilent,,0,1" "OnTrigger" "abrawlissurelybrewing,startshake,,0,-1" "OnTrigger" "tf_gamerules,PlayVO,misc/cp_harbor_blue_whistle.wav,0,-1" "ontrigger" "spawnbotreddit,enable,,0,-1" "ontrigger" "spawnbotreddit,disable,,0.1,-1" "OnTrigger" "red_lose_relay,disable,,0,-1" "OnTrigger" "red_lose_relay,enable,,6,-1" "ontrigger" "spawnbotreddit3,enable,,0,-1" "OnTrigger" "finishedearlyhuh,disable,,0.1,-1" "OnTrigger" "bignet,RunScriptCode,TextualTimer.End(),0.1,1" "OnTrigger" "@p@howaboutyoukillyourself,$Suicide,,5,1" } logic_relay { "targetname" "finishedearlyhuh" "OnTrigger" "gettothepayload,show,,0,-1" "OnTrigger" "abrawlissurelybrewing,startshake,,0,-1" "OnTrigger" "tf_gamerules,PlayVO,misc/cp_harbor_blue_whistle.wav,0,-1" "ontrigger" "spawnbotreddit,enable,,0,-1" "ontrigger" "spawnbotreddit,disable,,0.1,-1" "OnTrigger" "red_lose_relay,disable,,0,-1" "OnTrigger" "red_lose_relay,enable,,6,-1" "ontrigger" "spawnbotreddit3,enable,,0,-1" "OnTrigger" "GETTHEFUCKUOUT,disable,,0.1,-1" "OnTrigger" "bignet,RunScriptCode,TextualTimer.End(),0.1,1" "OnTrigger" "@p@howaboutyoukillyourself,$Suicide,,0.1,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" } } wave4payload { 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" } } textualtimer_v3_wave_1 { OnSpawnOutput { Target bignet Action RunScriptCode Param " IncludeScript(`textualtimer_v3`, getroottable()) TextualTimer.SetParams({ minutes = 4 seconds = 00 x = 0.7 y = 0.9 color = `0 255 555` relayname = `red_lose_relay` }) TextualTimer.AddCallbacks({ `60` : function() { EntFire(`tf_gamerules`, `PlayVO`, `Announcer.RoundEnds60seconds`) } `30` : function() { EntFire(`tf_gamerules`, `PlayVO`, `Announcer.RoundEnds30seconds`) } `20` : function() { EntFire(`tf_gamerules`, `PlayVO`, `Announcer.RoundEnds20seconds`); } `10` : function() { EntFire(`tf_gamerules`, `PlayVO`, `Announcer.RoundEnds10seconds`) } `4` : function() { EntFire(`tf_gamerules`, `PlayVO`, `Announcer.RoundEnds4seconds`) } `3` : function() { EntFire(`tf_gamerules`, `PlayVO`, `Announcer.RoundEnds3seconds`) } `2` : function() { EntFire(`tf_gamerules`, `PlayVO`, `Announcer.RoundEnds2seconds`) } `1` : function() { EntFire(`tf_gamerules`, `PlayVO`, `Announcer.RoundEnds1seconds`) } }) " } } textualtimer_v3_wave_3 { OnSpawnOutput { Target bignet Action RunScriptCode Param " IncludeScript(`textualtimer_v3`, getroottable()) TextualTimer.SetParams({ minutes = 4 seconds = 00 x = 0.7 y = 0.9 color = `0 255 555` relayname = `GETTHEFUCKOUT` }) " } } DrillTankV2 { OnSpawnOutput { Target "drill_tank_prop" Action Kill } OnSpawnOutput { Target "heyshitassyoucanwrenchme" Action Display Delay 40 } OnSpawnOutput { Target "heyshitassyoucanwrenchme" Action Display Delay 43 } OnSpawnOutput { Target "heyshitassyoucanwrenchme" Action Display Delay 46 } OnSpawnOutput { Target "heyshitassyoucanwrenchme" Action Display Delay 49 } OnSpawnOutput { Target "heyshitassyoucanwrenchme" Action Display Delay 41.5 } OnSpawnOutput { Target "heyshitassyoucanwrenchme" Action Display Delay 44.5 } OnSpawnOutput { Target "heyshitassyoucanwrenchme" Action Display Delay 47.5 } OnSpawnOutput { Target "heyshitassyoucanwrenchme" Action Display Delay 50 } game_text_tf // ditto { "background" 2 "display_to_team" 2 "icon" "ico_build" "message" "Additionally, engi can help to repair the tank by wacking it with his wrench!" "targetname" "heyshitassyoucanwrenchme" } 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,1501,0,-1" "OnStartTouchFlag" "tank_boss,$TakeDamage,1,0.4,-1" "OnStartTouchFlag" "drill_repairaccept,Enable,,0,-1" "OnStartTouchFlag" "drill_repairaccept,Disable,,0.1,-1" "OnStartTouchFlag" "!activatorRunScriptCodeClientPrint(self, 4, `YOU DEPOSITED A PIECE OF SCRAP!`)0-1" "OnStartTouchFlag" "!activator,$PlaySoundToSelf,ui\item_metal_scrap_drop.wav,0,-1" "OnStartTouchFlag" "!activator,$PlaySoundToSelf,ui\item_metal_scrap_drop.wav,0,-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" "StartDisabled" "1" "flag_model" "models/flags/scrap_metal_flag.mdl" "origin" "0 0 15" "OnReturn" "!self,Kill,,0.1,-1" "OnPickup1" "!activatorRunScriptCodeClientPrint(self, 4, `YOU PICKED UP A PIECE OF SCRAP!`)0-1" "OnPickup1" "!activator,$PlaySoundToSelf,ui\item_bag_pickup.wav,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" } env_fade { "targetname" "fadedtoblack" "duration" "7.5" "holdtime" "2" "rendercolor" "0 0 0" } trigger_once { "targetname" "intermission" "origin" "351 1629 0" "mins" "400 400 400" "maxs" "-400 -400 -400" "spawnflags" "1" "startdisabled" "1" "onstarttouch" "door_front_r,close,,14,-1" "onstarttouch" "door_front_l,close,,14,-1" "onstarttouch" "player,$DisplayTextChat,{6383ff}Changing Level...,22,-1" "onstarttouch" "fadedtoblack,Fade,,19,1" "onstarttouch" "music4loop,disable,,15,1" "onstarttouch" "poopdapoop*,FadeOut,3,16,1" "onstarttouch" "tf_gamerules,$ChangeLevel,mvm_rf_test_mk4|boss_test_with_intro,27,-1" "filtername" "red_filter" } logic_relay { "targetname" "open_them_doors" "OnTrigger" "door_front_r,SetSpeed,60,0,-1" "OnTrigger" "door_front_l,SetSpeed,60,0,-1" "OnTrigger" "door_front_r,Open,,0.1,-1" "OnTrigger" "door_front_l,Open,,0.1,-1" "OnTrigger" "ALASCENSORGILIPOLLAS,show,,10,-1" "OnTrigger" "wave_finished_relay,trigger,,5,-1" "OnTrigger" "pop_interface,PauseBotSpawning,,5,-1" "OnTrigger" "intermission,enable,,5,-1" } point_populator_interface { "targetname" "pop_interface" } 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_17,AddOutput,OnPass red_lose_relay:disable::0:-1,0,-1" "OnMapSpawn" "payload_path_B_17,AddOutput,OnPass australium_tank_model*:enable::0.1:-1,0,-1" "OnMapSpawn" "payload_path_B_17,AddOutput,OnPass australium_tank_model_main:enablecollision::0.1:-1,0,-1" "OnMapSpawn" "payload_path_B_14,AddOutput,OnPass open_them_doors:trigger::0.1:-1,0,-1" // "OnMapSpawn" "payload_path_B_15,AddOutput,OnPass timeforarealbrawl:trigger::0:-1,0,-1" "OnMapSpawn" "payload_path_B_17,AddOutput,OnPass payloadtank:kill::0.1:-1,0,-1" "OnMapSpawn" "payload_path_B_17,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_14,AddOutput,OnPass b1_wall_destroy_animation:$setkey$renderfx:5:72:-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_17,AddOutput,OnPass c1_wall_destroy_animation:$setkey$renderfx:5:72:-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_24,AddOutput,OnPass factory_wall_2_destroy_animation:$setkey$renderfx:5:58:-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.5" "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.5" "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 { training_annotation { "targetname" "ALASCENSORGILIPOLLAS" "display_text" "Get to the Elevator!" "lifetime" "8" "origin" "407 1686 265" } training_annotation { "targetname" "becarefullittlebro" "display_text" "Do not let the Monorail Tanks reach our tank!" "lifetime" "8" "origin" "60 -732 451" } 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 { OnSpawnOutput { Target australium_tank_model_main Action "DisableCollision" } 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,=40|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,=40|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,=40|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,=40|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,=40|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,=40|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,=40|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,=40|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" "skin" "1" "angles" "0 143 0" "solid" "6" } prop_dynamic { "origin" "592 1504 0" "targetname" "australium_tank_model_main" "model" "models/robot_factory/australium_tank.mdl" "skin" "0" "defaultanim" "movement" "angles" "0 45 0" "startdisabled" "1" "solid" "6" } prop_dynamic { "targetname" "australium_tank_model" "model" "models/bots/boss_bot/tank_track_l.mdl" "angles" "0 45 0" "solid" "0" "modelscale" "1" "startdisabled" "1" "origin" "552 1543 0" } prop_dynamic { "targetname" "australium_tank_model" "model" "models/bots/boss_bot/tank_track_l.mdl" "angles" "0 45 0" "solid" "0" "modelscale" "1" "startdisabled" "1" "origin" "632 1465 0" } 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_redspawnright" "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" } } youngmankillyourself { OnSpawnOutput { Target howaboutyoukillyourself Action SetParent Param "!activator" Delay 0.05 } OnSpawnOutput { Target temporary_solution Action $SetOwner Param "@p@howaboutyoukillyourself" Delay 2 } info_target { "targetname" "howaboutyoukillyourself" "origin" "0 0 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" } } // fogandshi // { // OnSpawnOutput // { // Target "shakeitnegus" // Action StartShake // } // trigger_multiple // { // "targetname" "fog_system" // "origin" "1847 -4007 71" // "mins" "-9999 -9999 -9999" // "maxs" "9999 9999 9999" // "StartDisabled" "0" // "spawnflags" "1" // "OnStartTouch" "!activator,SetFogController,mist,0.01,-1" // } // env_shake // { // "spawnflags" "5" // "amplitude" "1" // "duration" "9" // "frequency" "40" // "targetname" "shakeitnegus" // } // logic_timer // { // "Ontimer" "fog_system,enable,,0,-1" // "Ontimer" "fog_system,disable,,0.017,-1" // "targetname" "ambient_timer" // "RefireTime" "0.018" // } // logic_timer // { // "Ontimer" "player,$PlaySoundToSelf,=40|plats\elevator_move_loop2.wav,0,-1" // "ontimer" "shakeitnegus,stopshake,,0.0,-1" // "ontimer" "shakeitnegus,startshake,,0.01,-1" // "targetname" "ambient_timer" // "RefireTime" "2.2" // } // env_fog_controller // { // "farz" "9000" // "fogblend" "1" // "fogcolor" "0 0 0" // "fogcolor2" "0 0 0" // "fogdir" "1 0 0" // "fogenable" "1" // "fogend" "200" // "foglerptime" "2" // "fogmaxdensity" "1" // "fogstart" "30" // "spawnflags" "1" // "targetname" "mist" // } // } act_intro { OnSpawnOutput { Target "text" Action "Display" Delay 0.1 } OnSpawnOutput { Target "text_lower" Action "Display" Delay 1 } OnSpawnOutput { Target "turnthelightson" Action Trigger } 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" } env_shake { "spawnflags" "1" "amplitude" "8" "duration" "4" "frequency" "9" "targetname" "opensesame" } logic_relay { "targetname" "turnthelightson" "OnTrigger" "opensesame,startshake,,0.1,1" "OnTrigger" "shakeitnegus,stopshake,,0,1" "OnTrigger" "ambient_timer,disable,,0.1,1" "OnTrigger" "tf_gamerules,PlayVO,plats\hall_elev_stop.wav,0.1,1" "OnTrigger" "door_front_r,setspeed,50,4,1" "OnTrigger" "door_front_l,setspeed,50,4,1" "OnTrigger" "door_front_r,open,,4.1,1" "OnTrigger" "door_front_l,open,,4.1,1" "OnTrigger" "tf_gamerules,PlayVO,plats\hall_elev_stop.wav,0.1,1" "OnTrigger" "tf_gamerules,PlayVO,doors\door_metal_large_open1.wav,4,1" "OnTrigger" "tf_gamerules,PlayVO,doors\door_metal_large_open1.wav,4,1" "OnTrigger" "fogandshi,kill,,0,1" "OnTrigger" "player,$PlaySoundToSelf,introact2.mp3,1,1" } } schizoSolutionAttemptPleaseSend20000DogeCoin { logic_timer { "targetname" "RealCopiumHours" "RefireTime" "1" "OnTimer" "B1_wall_fix_relay,Trigger,,0,-1" "OnTimer" "C1_wall_fix_relay,Trigger,,0,-1" "OnTimer" "B1_door_lock_relay,Trigger,,0.1,-1" "OnTimer" "C1_door_lock_relay,Trigger,,0.1,-1" } } relays { tf_point_nav_interface { Name skibidi } NoFixup 1 logic_relay { "targetname" "ImSendingTableToTheRenfeMinesTheseRelaysDontFuckingWork" "OnTrigger" "B1_wall_fix_relay,Trigger,,0,-1" "OnTrigger" "C1_wall_fix_relay,Trigger,,0,-1" "OnTrigger" "B1_door_lock_relay,Trigger,,0.2,-1" "OnTrigger" "C1_door_lock_relay,Trigger,,0.2,-1" "OnTrigger" "B1_door_lock_relay,Trigger,,0.4,-1" "OnTrigger" "C1_door_lock_relay,Trigger,,0.4,-1" "OnTrigger" "B1_door_lock_relay,Trigger,,1,-1" "OnTrigger" "C1_door_lock_relay,Trigger,,1,-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" "ambient_timer,enable,,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" "OnTrigger" "ImSendingTableToTheRenfeMinesTheseRelaysDontFuckingWork,trigger,,0.2,-1" "OnTrigger" "ImSendingTableToTheRenfeMinesTheseRelaysDontFuckingWork,trigger,,0.4,-1" } logic_relay { "targetname" "SetupWave1FinishedRelay" "OnTrigger" "A1_door_unlock_relay,Trigger,,0,-1" "OnTrigger" "A2_door_unlock_relay,Trigger,,0,-1" "OnTrigger" "RealCopiumHours,Disable,,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" "Wave2Relay" "OnTrigger" "vanila_red_hatch_flag_detect_zone,disable,,0,1" "OnTrigger" "red_reverse_mission_relay,Trigger,,0,-1" "OnTrigger" "spawnbotDrillTankShort,Enable,,0,-1" //Re-enable spawns coming from wave 1 "OnTrigger" "robospawnsign_redspawnright,Enable,,0,-1" "OnTrigger" "ImSendingTableToTheRenfeMinesTheseRelaysDontFuckingWork,trigger,,0.2,-1" "OnTrigger" "ImSendingTableToTheRenfeMinesTheseRelaysDontFuckingWork,trigger,,0.4,-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" "drill_tank_prop*,$setkey$skin,2,0,-1" "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,player\sprayer.wav,0,-1" "OnTrigger" "tf_gamerules,PlayVO,player\sprayer.wav,0.5,-1" "OnTrigger" "tf_gamerules,PlayVO,player\sprayer.wav,1.7,-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" } 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_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" "RealCopiumHours,Disable,,0,-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" "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" "abrawlissurelybrewing,startshake,,1,-1" } logic_relay { "targetname" "SectionComplete2-1Relay" // "OnTrigger" "B1_wall_break_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" "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*,kill,,0,-1" "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" "vanila_red_hatch_flag_detect_zone,disable,,0,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" "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" "tf_gamerules,PlayVO,act3transtionvoicelines.mp3,8,1" "OnTrigger" "tf_gamerules,PlayVO,act3transtionvoicelines.mp3,8,1" "OnTrigger" "player,$DisplayTextChat,{d9d9d9}Gray Mann{reset}: Gah! Those damn robots were valuble! I'll add their repairs to your tab!,8,-1" "OnTrigger" "player,$DisplayTextChat,{d9d9d9}Gray Mann{reset}: Your pitiful attacks are hilarious! This thing is made of Titanium- stronger than a Tank!,26,-1" "OnTrigger" "player,$DisplayTextChat,{d9d9d9}Gray Mann{reset}: I hope the Austrailium was worth it because you're about to recieve a large serving of ROBOTS!,45,-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" "OnTrigger" "func_respawnroomvisualizer*,enable,,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" "player,$DisplayTextChat,{yellow}[ Now Playing: {6383ff} Factory Intrusion - GoodBobFR {yellow}],0,-1" "OnTrigger" "music1,trigger,,0,-1" } ambient_generic { "targetname" "intro" "message" "#hhwave1intro.mp3" "health" "10" "pitch" "100" "spawnflags" "17" } ambient_generic { "targetname" "wave1" "message" "#hhwave1.mp3" "health" "10" "pitch" "100" "spawnflags" "17" } ambient_generic { "targetname" "intro2" "message" "#hhwave2intro.mp3" "health" "10" "pitch" "100" "spawnflags" "17" } ambient_generic { "targetname" "wave2" "message" "#hhwave2loop.mp3" "health" "10" "pitch" "100" "spawnflags" "17" } logic_relay { "targetname" "music1" "spawnflags" "2" "OnTrigger" "intro,PlaySound,,0,-1" "OnTrigger" "intro,StopSound,,135,-1" "OnTrigger" "musicloop,Trigger,,137,-1" } //Loop logic_relay { "targetname" "music1loop" "spawnflags" "2" "OnTrigger" "wave2,PlaySound,,0,-1" "OnTrigger" "wave2,StopSound,,126,-1" "OnTrigger" "music1loop,Trigger,,126.1,-1" } logic_relay { "targetname" "music" "spawnflags" "2" "ontrigger" "intro,StopSound,,0,-1" "ontrigger" "wave1,StopSound,,0,-1" "ontrigger" "music1,Disable,,0,-1" "ontrigger" "musicloop,Disable,,0,-1" "OnTrigger" "intro2,PlaySound,,4,-1" "OnTrigger" "intro2,StopSound,,139,-1" "OnTrigger" "music1loop,Trigger,,139.1,-1" } logic_relay { "targetname" "musicloop" "spawnflags" "2" "OnTrigger" "wave1,PlaySound,,0,-1" "OnTrigger" "wave1,StopSound,,123,-1" "OnTrigger" "musicloop,Trigger,,123.1,-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_relay,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 { trigger_push { "targetname" "spawnbotreddit_curse_shall_be_lifted" "pushdir" "0 0 0" "origin" "1113 -2044 80" "speed" "500" "filtername" "filter_redditor" "spawnflags" "1" "mins" "-100 -150 -24" "maxs" "325 150 24" } filter_tf_bot_has_tag { "Negated" "0" "require_all_tags" "1" "tags" "bot_redditor" "targetname" "filter_redditor" "origin" "0 0 0" } logic_relay { "targetname" "SectionComplete1-1Relay" //Relay for completing the first segment of wave 1, further relays with this name structure are self-explanitory. "OnSpawn" "spawnbot_left_tank,Disable,,0,-1" "OnSpawn" "spawnbot_right_tank,Disable,,0,-1" "OnSpawn" "spawnbot_B2,Disable,,0,-1" "OnSpawn" "spawnbot_A_route,Disable,,0,-1" "OnSpawn" "spawnbotDEBridge,Disable,,0,-1" "OnSpawn" "spawnbotDECrate,Disable,,0,-1" "OnSpawn" "robospawnsign_redspawnright,Disable,,0,-1" // disable this hologram once the control points spawn "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" "tf_point_nav_interface*,recomputeblockers,,17,-1" "OnTrigger" "spawnbot_left_tank,Enable,,0,-1" "OnTrigger" "spawnbot_right_tank,Enable,,0,-1" "OnTrigger" "spawnbot_B2,Enable,,0,-1" "OnTrigger" "spawnbotDEBridge,Enable,,0,-1" "OnTrigger" "spawnbotDECrate,Enable,,0,-1" "OnTrigger" "contolpointannotation,show,,4,1" } training_annotation { "targetname" "contolpointannotation" "lifetime" "10" "display_text" "Control Point Unlocked!" "origin" "-1085 858 305" } logic_relay { "targetname" "SectionComplete1-2Relay" "OnSpawn" "spawnbotAControlWindow,Disable,,0,-1" "OnSpawn" "tf_point_nav_interface*,RecomputeBlockers,,1,-1" "OnSpawn" "tf_point_nav_interface*,RecomputeBlockers,,2,-1" "OnSpawn" "tf_point_nav_interface*,RecomputeBlockers,,3,-1" "OnSpawn" "tf_point_nav_interface*,RecomputeBlockers,,1,-1" "OnSpawn" "tf_point_nav_interface*,RecomputeBlockers,,2,-1" "OnSpawn" "tf_point_nav_interface*,RecomputeBlockers,,3,-1" "OnTrigger" "spawnbot_left_tank,Disable,,0,-1" "OnTrigger" "spawnbot_right_tank,Disable,,0,-1" "OnTrigger" "spawnbotLava,Disable,,0,-1" "OnTrigger" "spawnbot_A_route,Enable,,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" "capdeez,show,,3,-1" "OnTrigger" "tf_point_nav_interface*,recomputeblockers,,10,-1" "OnTrigger" "spawnbotAControlWindow,Enable,,0,-1" } logic_relay { "onspawn" "cap_point_tank_cap,setcontrolpoint,cap_point_tank,0,-1" //capture zones have to be manually assigned to their control points or they will stay locked forever "onspawn" "cap_point_a_cap,setcontrolpoint,cap_point_a,0,-1" "onspawn" "cap_point_b_cap,setcontrolpoint,cap_point_b,0,-1" "onspawn" "cap_point_tank,setlocked,1,0,-1" "onspawn" "cap_point_a,setlocked,0,0,-1" "onspawn" "cap_point_b,setlocked,1,0,-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_tank_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_tank_cap" "origin" "534 -0 336" "area_time_to_cap" "7" //cap lenght "area_cap_point" "cap_point_tank" "team_cancap_2" "1" //can red cap? "team_cancap_3" "0" //can blu cap? "mins" "-210 -175 -166" "solid" 0 "maxs" "210 175 166" "filtername" "filter_gatebot" } team_control_point { "targetname" "cap_point_tank" "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" "2" //control point index used by the cap master for ui, must be individual, iirc 8 points maximum "point_start_locked" "1" //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_onlyblue.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_c" //overlay sprite when neutral "team_overlay_2" "sprites/obj_icons/icon_obj_c" "team_overlay_3" "sprites/obj_icons/icon_obj_c" //"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 "team_previouspoint_2_0" "cap_point_b" "oncapteam1" "redwin_relay,trigger,,0,-1" "oncapteam1" "Wave1CapPoint,kill,,0,-1" "oncapteam1" "music1loop,disable,,0,-1" "oncapteam1" "wave2,fadeout,3,0,-1" "oncapteam1" "cap_point_tank_base,$setkey$skin,1,0,-1" "oncapteam1" "bignet,RunScriptCode,TextualTimer.Pause(),0,1" "oncapteam1" "cap_master,SetCapLayoutCustomPositionY,5,0,-1" } prop_dynamic //you get the deal "model" "models\props_spytech\radio_tower001.mdl" { "targetname" "cap_point_a_base" "origin" "2001 -3751 77" "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" "2001 -3751 77" "area_time_to_cap" "16" //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" "filtername" "filter_gatebot" } team_control_point { "targetname" "cap_point_a" "solid" 0 "disableshadows" "1" "origin" "2001 -3751 77" "point_printname" "Alpha" //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_onlyblue.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" "oncapteam1" "cap_point_b,setlocked,0,0,-1" "oncapteam1" "timerstartdisturbance,trigger,,0,1" "oncapteam1" "timerstartdisturbance,trigger,,6,1" "oncapteam1" "timerstartdisturbance,trigger,,12,1" "oncapteam1" "cap_point_a_base,$setkey$skin,1,0,-1" "oncapteam1" "player,$PlaySoundToSelf,term4minutesleft.wav,0,1" "oncapteam1" "bignet,RunScriptCode,TextualTimer.Start(),0,1" "oncapteam1" "tank_hologram_D,enable,,0,1" "oncapteam1" "tank_hologram_C_E,enable,,0,1" "oncapteam1" "music,trigger,,0,1" "oncapteam1" "SectionComplete1-1Relay,trigger,,0,-1" } logic_relay { "targetname" "timerstartdisturbance" "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" } prop_dynamic //you get the deal "model" "models\props_spytech\radio_tower001.mdl" { "targetname" "cap_point_b_base" "origin" "-1083 861 192" "model" "models/props_gameplay/cap_point_base.mdl" "solid" "0" "skin" "2" //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 } filter_multi { "Filter01" "red_filter" // map entity "Filter02" "gatebot" "Filter03" "filter_non_gatebot" "filtertype" "0" "Negated" "0" "targetname" "filter_gatebot" } filter_tf_bot_has_tag { "targetname" "filter_non_gatebot" "Negated" "1" "require_all_tags" "1" "tags" "not_gatebot" } filter_tf_bot_has_tag { "targetname" "filter_gatebot" "Negated" "0" "require_all_tags" "1" "tags" "gatebot" } trigger_capture_area { "targetname" "cap_point_b_cap" "origin" "-1083 861 192" "area_time_to_cap" "12" //cap lenght "area_cap_point" "cap_point_b" "team_cancap_2" "1" //can red cap? "team_cancap_3" "0" //can blu cap? "mins" "-210 -175 -166" "solid" 0 "maxs" "210 175 166" "filtername" "filter_gatebot" } team_control_point { "targetname" "cap_point_b" "solid" 0 "disableshadows" "1" "origin" "-1083 861 192" "point_printname" "Beta" //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" "1" //control point index used by the cap master for ui, must be individual, iirc 8 points maximum "point_start_locked" "1" //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_onlyblue.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_b" //overlay sprite when neutral "team_overlay_2" "sprites/obj_icons/icon_obj_b" "team_overlay_3" "sprites/obj_icons/icon_obj_b" "team_previouspoint_2_0" "cap_point_a" "oncapteam1" "cap_point_b_base,$setkey$skin,1,0,-1" "oncapteam1" "cap_point_tank,setlocked,0,0,-1" "oncapteam1" "SectionComplete1-2Relay,trigger,,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 "spawnbotARightAtTheDoor" TeamNum 3 // 2 - Red team 3 - Robots. If you are adding spawn for reprogrammed robots, use team 3 X "0" Y "-640" Z "0" } ExtraSpawnPoint { Name "spawnbotANearRedSpawn" TeamNum 3 // 2 - Red team 3 - Robots. If you are adding spawn for reprogrammed robots, use team 3 X "0" Y "177" Z "0" } 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 "spawnbotReddit2" TeamNum 3 // 2 - Red team 3 - Robots. If you are adding spawn for reprogrammed robots, use team 3 X "1122" Y "-2046" Z "100" StartDisabled 1 } ExtraSpawnPoint { Name "spawnbotReddit3" TeamNum 3 // 2 - Red team 3 - Robots. If you are adding spawn for reprogrammed robots, use team 3 X "1122" Y "-2046" Z "100" StartDisabled 1 } 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 "-104 1128 48" // tank_path_1 Node "152 1088 48" // tank_path_2 Node "592 1504 56" // tank_path_3 Node "911 1807 63" } 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_path_B ClassIcon monorail_tank 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 textualtimer_v3_wave_1 SpawnTemplate Wave1CapPoint CustomWaveNumber 2 CustomMaxWaveNumber 7 InitWaveOutput { Target Wave1Relay Action runscriptcode Param " EntFire(`Wave1Relay`, `Trigger`) EntFire(`fogandshi`, `ForceSpawn`) " } 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 } } SentryGun //Spawn sentry gun { TeamNum 3 Delay 0 Level 3 //Sentrygun level Skin 1 Health 180 // make them a tiny bit more fragile so they don't take up much gameplay time Position { X 402 Y -1968 Z 160 Pitch 0 Yaw 125 Roll 0 } } SentryGun //Spawn sentry gun { TeamNum 3 Delay 0 Level 3 //Sentrygun level Skin 1 Health 180 // make them a tiny bit more fragile so they don't take up much gameplay time Position { X 2534 Y -2742 Z 224 Pitch 0 Yaw 177 Roll 0 } } SentryGun //Spawn sentry gun { TeamNum 3 Delay 0 Level 3 //Sentrygun level Skin 1 Health 180 // make them a tiny bit more fragile so they don't take up much gameplay time Position { X -1347 Y -876 Z 180 Pitch 0 Yaw -42 Roll 0 } } WaveSpawn { Name "poor_maintenance_crew" TotalCount 8 MaxActive 8 SpawnCount 1 Where spawnbotANearRedSpawn WaitBetweenSpawns 0.22 RandomChoice { TFBot { Health 75 Class Engineer WeaponRestrictions MeleeOnly Skill Hard Name "Maintenance Crew" Action Mobber Tag not_gatebot Item "the data mining light" InterruptAction { Target "-124 1205 0" Duration 2 Delay 0.1 Repeats 1 WaitUntilDone 1 Distance 25 } } TFBot { Health 75 Class Engineer WeaponRestrictions MeleeOnly Skill Hard Name "Maintenance Crew" Action Mobber Tag not_gatebot Item "the data mining light" InterruptAction { Target "-124 1205 0" Duration 2 Delay 0.1 Repeats 1 WaitUntilDone 1 Distance 25 } VoiceCommand { Delay 1.5 Repeats 1 Type "Move Up" } } TFBot { Health 75 Class Engineer WeaponRestrictions MeleeOnly Skill Hard Name "Maintenance Crew" Action Mobber Tag not_gatebot Item "the data mining light" InterruptAction { Target "-124 1205 0" Duration 2 Delay 0.1 Repeats 1 WaitUntilDone 1 Distance 25 } VoiceCommand { Delay 0.2 Repeats 2 CoolDown 5 IfSeeTarget 1 Type "Help" } } TFBot { Health 75 Class Engineer WeaponRestrictions MeleeOnly Skill Hard Name "Maintenance Crew" Action Mobber Tag not_gatebot Item "the data mining light" InterruptAction { Target "-124 1205 0" Duration 2 Delay 0.1 Repeats 1 WaitUntilDone 1 Distance 25 } VoiceCommand { Delay 0.35 Repeats 1 CoolDown 5 IfSeeTarget 1 Type "Negative" } } TFBot { Health 75 Class Engineer WeaponRestrictions MeleeOnly Skill Hard Name "Maintenance Crew" Action Mobber Tag not_gatebot Item "the data mining light" InterruptAction { Target "-124 1205 0" Duration 2 Delay 0.1 Repeats 1 WaitUntilDone 1 Distance 25 } VoiceCommand { Delay 2.2 Repeats 1 Type "Incoming" } } } } WaveSpawn { Name "poor_maintenance_crew" TotalCount 1 MaxActive 1 SpawnCount 1 Where spawnbotARightAtTheDoor TFBot { Class Engineer Name "Maintenance Crew" Skill Hard Tag not_gatebot Action Mobber Attributes HoldFireUntilFullReload Item "the data mining light" Item "The Rescue Ranger" InterruptAction { Target "451 -2054 160" // goes to the sentry on the left Duration 9999 Delay 0.1 Repeats 1 WaitUntilDone 1 } } } WaveSpawn { Name "poor_maintenance_crew" TotalCount 1 MaxActive 1 SpawnCount 1 Where spawnbotARightAtTheDoor TFBot { Class Engineer Name "Maintenance Crew" Skill Hard Tag not_gatebot Action Mobber Attributes HoldFireUntilFullReload Item "the data mining light" Item "The Rescue Ranger" InterruptAction { Target "2648 -2783 224" // goes to the sentry on the right Duration 9999 Delay 0.1 Repeats 1 WaitUntilDone 1 } } } WaveSpawn { TotalCount 1 MaxActive 1 SpawnCount 1 Where spawnbotARightAtTheDoor TFBot { Health 2500 Name "Giant Widowmaker Engineer" Scale 1.7 ClassIcon engineer_widowmaker_nys_giant Class Engineer Skill Expert Action Passive ExtAttr IgnoreBuildings WeaponRestrictions PrimaryOnly MaxVisionRange 900 Attributes "HoldFireUntilFullReload" Attributes "MiniBoss" Item "the widowmaker" Tag giant Tag not_gatebot 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 } InterruptAction { Target "475 -1427 0" Duration 2 Delay 0.1 Repeats 1 WaitUntilDone 1 } } } WaveSpawn { TotalCount 1 MaxActive 1 SpawnCount 1 Where spawnbotRedSpawnRight TFBot { Health 2500 Name "Giant Widowmaker Engineer" Scale 1.7 ClassIcon engineer_widowmaker_nys_giant Class Engineer Skill Expert Action Passive ExtAttr IgnoreBuildings WeaponRestrictions PrimaryOnly MaxVisionRange 900 Attributes "HoldFireUntilFullReload" Attributes "MiniBoss" Item "the widowmaker" Tag giant Tag not_gatebot 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 } InterruptAction { Target "1277 -2820 0" Duration 2 Delay 0.1 Repeats 1 WaitUntilDone 1 } } } WaveSpawn { FirstSpawnOutput { Target moosicwave1 Action PlaySound } TotalCurrency 50 TotalCount 6 MaxActive 6 SpawnCount 1 Where spawnbotMidPlatform Where spawnbotDrillTankBehind WaitBeforeStarting 10 WaitBetweenSpawns 4 RandomSpawn 1 TFBot { Class Engineer ClassIcon pyro_homewrecker_lite Health 500 Scale 1.2 Name "Wrecking Crew" Action Mobber Skill Normal Attributes "DisableDodge" Tag not_gatebot WeaponRestrictions MeleeOnly ForceRomeVision 1 Item "Upgradeable TF_WEAPON_WRENCH" ItemAttributes { Itemname "Upgradeable TF_WEAPON_WRENCH" "fire rate penalty" 1.5 "damage bonus" 2.25 "melee cleave attack" 1 "custom item model" "models/workshop/weapons/c_models/c_sledgehammer/c_sledgehammer.mdl" "custom kill icon" "sledgehammer" } CharacterAttributes { "voice pitch scale" 0.8 "cancel falling damage" 1 } } } 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 { TotalCurrency 50 TotalCount 24 MaxActive 10 SpawnCount 2 Where spawnbotReddit WaitBeforeStarting 6 WaitBetweenSpawns 4 RandomSpawn 1 RandomChoice { TFBot { Class Engineer Skill Normal Name "Maintenance Crew" Action Mobber Attributes "DisableDodge" Attributes HoldFireUntilFullReload Item "the data mining light" Tag not_gatebot Tag bot_redditor } TFBot { Class Engineer Skill Normal Name "Maintenance Crew" Action Mobber Attributes "DisableDodge" Attributes HoldFireUntilFullReload Item "the data mining light" Tag not_gatebot Tag bot_redditor } TFBot { Class Engineer Skill Hard MaxVisionRange 600 Name "Maintenance Crew" Action Mobber Attributes "DisableDodge" Attributes HoldFireUntilFullReload Item "the data mining light" Item "Panic Attack Shotgun" Tag not_gatebot Tag bot_redditor } } } WaveSpawn { TotalCurrency 50 TotalCount 8 MaxActive 8 SpawnCount 2 Where spawnbotDrillTankBehind WaitBeforeStarting 5 WaitBetweenSpawns 1.5 RandomSpawn 1 FirstSpawnOutput { Target SetupWave1FinishedRelay Action Trigger } TFBot { Template T_TFBot_Demo_Burst Action Mobber Tag gatebot InterruptAction // Stop current bot ai and force the bot to move to a location { Target "2001 -3751 77" // Entity / bot / class name as an alternative. Also: RandomEnemy, ClosestPlayer // Attack aim target (Default: 0) Delay 0.5 // 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 9.5 // How long should the ai be interrupted Cooldown 4 WaitUntilDone 1 // If set, duration timer only starts when the bot moves to the target location or the aim target is killed (Default: 0) Distance 80 } Item "MvM GateBot Light Demoman" } } WaveSpawn { Name a_gatebot_giant TotalCurrency 75 TotalCount 1 MaxActive 1 SpawnCount 1 Where spawnbotRedSpawnRight WaitBeforeStarting 6 WaitBetweenSpawns 4 RandomSpawn 1 TFBot { Template T_TFBot_Giant_Soldier_Spammer_Reload Tag gatebot Action Mobber Health 4200 Attributes "DisableDodge" InterruptAction // Stop current bot ai and force the bot to move to a location { Target "2001 -3751 77" // Entity / bot / class name as an alternative. Also: RandomEnemy, ClosestPlayer // Attack aim target (Default: 0) Delay 0.5 // 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 9.5 // How long should the ai be interrupted Cooldown 4 WaitUntilDone 1 // If set, duration timer only starts when the bot moves to the target location or the aim target is killed (Default: 0) } Item "MvM GateBot Light Soldier" NoPushaway 1 // stays still while the demos are within his area } } WaveSpawn { Name a_gatebot_backupgiants TotalCurrency 50 TotalCount 2 MaxActive 2 SpawnCount 1 Where spawnbotDrillTankBehind WaitBetweenSpawns 6 WaitForAllDead "a_gatebot_giant" RandomSpawn 1 TFBot { Template T_TFBot_Giant_DemoMan_PrinceTavish Action Mobber Tag gatebot InterruptAction // Stop current bot ai and force the bot to move to a location { Target "2001 -3751 77" // Entity / bot / class name as an alternative. Also: RandomEnemy, ClosestPlayer // Attack aim target (Default: 0) Delay 0.5 // 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 5 // How long should the ai be interrupted Cooldown 4 WaitUntilDone 1 // If set, duration timer only starts when the bot moves to the target location or the aim target is killed (Default: 0) IfHealthAbove 2001 // this should be ok? } Item "MvM GateBot Light Demoman" } } WaveSpawn { WaitForAllDead Main1 Name Main2b TotalCurrency 50 TotalCount 24 MaxActive 10 SpawnCount 2 Where spawnbot_left_tank Where spawnbot_right_tank WaitBeforeStarting 10 WaitBetweenSpawns 4 RandomSpawn 1 //Support limited RandomChoice { TFBot { Class Soldier Skill Normal Action Mobber Attributes "DisableDodge" Tag gatebot Item "MvM GateBot Light Soldier" ItemAttributes { Itemname "MvM GateBot Light Soldier" "item style override" 1 } } TFBot { Class Soldier Skill Normal Action Mobber Attributes "DisableDodge" Tag gatebot Item "MvM GateBot Light Soldier" InterruptAction { Target "-1075 860 192" Delay 0.5 Repeats 0 Duration 4 Cooldown 2 WaitUntilDone 1 IfHealthAbove 75 Distance 100 } } TFBot { Class Soldier Skill Normal Action Mobber Attributes "DisableDodge" Tag gatebot Item "MvM GateBot Light Soldier" InterruptAction { Target "-1075 860 192" Delay 0.5 Repeats 0 Duration 4 Cooldown 2 WaitUntilDone 1 IfHealthAbove 75 Distance 35 } } } } WaveSpawn { Name "wreckingralphit2" TotalCurrency 50 TotalCount 8 MaxActive 8 SpawnCount 4 Where spawnbot_B2 WaitBeforeStarting 12 WaitBetweenSpawns 20 RandomSpawn 1 TFBot { Class Engineer ClassIcon pyro_homewrecker_lite Health 500 Scale 1.2 Name "Wrecking Crew" Action Mobber Skill Normal Attributes "DisableDodge" Tag not_gatebot WeaponRestrictions MeleeOnly ForceRomeVision 1 Item "Upgradeable TF_WEAPON_WRENCH" ItemAttributes { Itemname "Upgradeable TF_WEAPON_WRENCH" "fire rate penalty" 1.5 "damage bonus" 2.25 "melee cleave attack" 1 "custom item model" "models/workshop/weapons/c_models/c_sledgehammer/c_sledgehammer.mdl" "custom kill icon" "sledgehammer" } CharacterAttributes { "voice pitch scale" 0.8 "cancel falling damage" 1 } } } WaveSpawn { Name Main2 TotalCurrency 50 TotalCount 2 MaxActive 1 SpawnCount 1 Where spawnbot_left_tank WaitBeforeStarting 2 WaitBetweenSpawns 35 RandomSpawn 1 TFBot { Class Heavyweapons Name "Giant Heater Heavy" ClassIcon heavy_heater_giant Skill Normal Health 5000 Action Mobber WeaponRestrictions PrimaryOnly Attributes MiniBoss MaxVisionRange 900 Tag bot_giant Tag gatebot Item "The Huo Long Heatmaker" Item "MvM GateBot Light Heavy" CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.3 "airblast vulnerability multiplier" 0.3 "override footstep sound set" 2 } NoPushaway 1 InterruptAction { Target "-1271 255 -156" Delay 0.5 Repeats 1 Duration 25 Cooldown 2 Distance 0 } InterruptAction { Target "-1075 860 192" Delay 25 Repeats 0 Duration 4 Cooldown 2 WaitUntilDone 1 IfHealthAbove 3001 AddToQueue 1 Distance 75 } } } WaveSpawn { Name Main2 TotalCurrency 50 TotalCount 3 MaxActive 2 SpawnCount 1 Where spawnbot_right_tank WaitForallDead "wreckingralphit2" WaitBeforeStarting 15 WaitBetweenSpawns 18 RandomSpawn 1 TFBot { Template T_TFBot_Giant_Scout_Jumping_Sandman Name "Recalled Blueprint Giant Scout" Action Mobber Attributes DisableDodge Tag not_gatebot ItemAttributes { Itemname "The Sandman" "damage bonus" 1.25 // mobbers like this are not going to be too fun if they have 2x dmg, could set it to 1 } } } WaveSpawn { Name Main2 TotalCurrency 50 TotalCount 12 MaxActive 6 SpawnCount 3 Where spawnbot_A_route WaitBeforeStarting 8 WaitBetweenSpawns 10 RandomSpawn 1 TFBot { Template T_TFBot_Demo_Burst Action Mobber Tag gatebot InterruptAction // Stop current bot ai and force the bot to move to a location { Target "377 -0 336" // Entity / bot / class name as an alternative. Also: RandomEnemy, ClosestPlayer // Attack aim target (Default: 0) Delay 0.5 // 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 9.5 // How long should the ai be interrupted Cooldown 4 WaitUntilDone 1 // If set, duration timer only starts when the bot moves to the target location or the aim target is killed (Default: 0) Distance 80 } Item "MvM GateBot Light Demoman" } } WaveSpawn { Name Main2_crew TotalCurrency 50 TotalCount 20 MaxActive 8 SpawnCount 2 Where spawnbot_A_route WaitBeforeStarting 8 WaitBetweenSpawns 3 RandomSpawn 1 RandomChoice { NextSpawnerClone 3 // Clones spawner below this many times. Key below must be a spawner (Default: 1) TFBot { Class Engineer Skill Normal Name "Maintenance Crew" Action Mobber Attributes "DisableDodge" Attributes HoldFireUntilFullReload Tag not_gatebot Item "the data mining light" } NextSpawnerClone 3 // Clones spawner below this many times. Key below must be a spawner (Default: 1) TFBot { Class Engineer Skill Normal Name "Maintenance Crew" Action Mobber Attributes "DisableDodge" Attributes HoldFireUntilFullReload Tag not_gatebot Item "the data mining light" } NextSpawnerClone 3 // Clones spawner below this many times. Key below must be a spawner (Default: 1) TFBot { Class Engineer Skill Hard MaxVisionRange 600 Name "Maintenance Crew" Action Mobber Attributes "DisableDodge" Attributes HoldFireUntilFullReload Tag not_gatebot Item "the data mining light" Item "Panic Attack Shotgun" } NextSpawnerClone 3 // Clones spawner below this many times. Key below must be a spawner (Default: 1) TFBot { Class Engineer Skill Hard MaxVisionRange 600 Name "Maintenance Crew" Action Mobber Attributes "DisableDodge" Attributes HoldFireUntilFullReload Tag not_gatebot Item "the data mining light" Item "The Frontier Justice" } TFBot { Class Engineer Skill Hard MaxVisionRange 800 Name "Maintenance Crew" Action Mobber Attributes "DisableDodge" Attributes HoldFireUntilFullReload WeaponRestrictions SecondaryOnly ExtAttr AlwaysFireWeaponAlt Tag not_gatebot Item "the data mining light" Item "The Short Circuit" ItemAttributes { Itemname "The Short Circuit" // this fella might be dumb and unfun, keeping him rare. "fire rate penalty" 3 "mod projectile heat seek power" 360 "mod projectile heat aim time" 5 "damage penalty" 0 } } } } WaveSpawn { Name Main3 TotalCurrency 75 TotalCount 1 MaxActive 1 SpawnCount 1 Where spawnbotAControlWindow WaitBeforeStarting 5 WaitBetweenSpawns 4 RandomSpawn 1 TFBot { Template T_TFBot_Giant_Soldier_SlowBarrage Name "Major Crits" HeadRotateSpeed 2000 Tag gatebot AlwaysGlow 1 Action Mobber Attributes "DisableDodge" Attributes AlwaysCrit 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) } Item "MvM GateBot Light Soldier" ItemAttributes { ItemName "TF_WEAPON_ROCKETLAUNCHER" "clip size upgrade atomic" 26.0 "faster reload rate" 0.4 "fire rate bonus" 0.2 "projectile spread angle penalty" 5 } } } WaveSpawn { Name Main3b WaitForallSpawned Main2_crew TotalCurrency 25 TotalCount 25 MaxActive 4 SpawnCount 2 Where spawnbot_A_route WaitBeforeStarting 2 WaitBetweenSpawns 6 RandomSpawn 1 Support 1 TFBot { Template T_TFbot_Pyro Action Mobber Skill Easy Attributes "DisableDodge" Tag gatebot Item "MvM GateBot Light Pyro" ItemAttributes { Itemname "MvM GateBot Light Pyro" "item style override" 1 } } } WaveSpawn { TotalCurrency 25 TotalCount 25 MaxActive 4 SpawnCount 2 Where spawnbot_B2 WaitBeforeStarting 2 WaitBetweenSpawns 8 RandomSpawn 1 Support limited TFBot { Template T_TFbot_Pyro Action Mobber Skill Easy Attributes "DisableDodge" Tag gatebot Item "MvM GateBot Light Pyro" ItemAttributes { Itemname "MvM GateBot Light Pyro" "item style override" 1 } } } } 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\engineer_mvm_go03.mp3 TotalCurrency 50 TotalCount 24 MaxActive 6 SpawnCount 2 Where spawnbotLava WaitBeforeStarting 7 WaitBetweenSpawns 7 RandomSpawn 1 Support limited TFBot { Class Engineer ClassIcon pyro_homewrecker_lite Health 500 Scale 1.2 Name "Wrecking Crew" Action Mobber Skill Normal Attributes "DisableDodge" WeaponRestrictions MeleeOnly ForceRomeVision 1 Item "Upgradeable TF_WEAPON_WRENCH" ItemAttributes { Itemname "Upgradeable TF_WEAPON_WRENCH" "fire rate penalty" 1.5 "damage bonus" 2.25 "mult dmg vs tanks" 1.5 "melee cleave attack" 1 "custom item model" "models/workshop/weapons/c_models/c_sledgehammer/c_sledgehammer.mdl" "custom kill icon" "sledgehammer" } CharacterAttributes { "voice pitch scale" 0 "cancel falling damage" 1 } 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 120 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 114 WaitBetweenSpawns 7 RandomSpawn 1 Support limited FirstSpawnOutput { Target controlroom_window Action Trigger Delay 2 } 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 "313 -665 256" // 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 } 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" 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 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) Distance 200 } } } 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" 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 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" 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 // { // 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 SpawnTemplate textualtimer_v3_wave_3 StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } InitWaveOutput { Target wave_start_relay // gamerules or tf_gamerules, depending on the map Action RunScriptCode Param " EntFire(`oleada4`, `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 { SpawnTemplate youngmankillyourself Name "Reprogrammed Technician" Class Engineer Skill Expert Health 5000 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) } } FirstSpawnOutput { Target "musicforw4" Action "Trigger" } DoneOutput { Target red_lose_relay Action Trigger } } 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 12 MaxActive 12 SpawnCount 4 Where spawnbot_right TotalCurrency 150 WaitForAllSpawned "wave00" WaitBeforeStarting 5 WaitBetweenSpawns 12 Squad { NoWaitForFormation 1 TFBot { Template T_TFBot_Giant_Soldier_Spammer } TFBot { Class Soldier SKill Normal } TFBot { Class Soldier SKill Normal } TFBot { Class Soldier SKill Normal } } } WaveSpawn { Name "steels" TotalCount 24 MaxActive 12 SpawnCount 3 Where spawnbot_right Where spawnbot_left_tank TotalCurrency 50 WaitForAllSpawned "wave00" WaitBeforeStarting 10 WaitBetweenSpawns 8 Squad { NoWaitForFormation 1 TFBot { Template T_TFBot_Heavyweapons_Fist } TFBot { Class Soldier SKill Normal } 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" Item "Hazardous Environment Vest" } TFBot { Template T_TFBot_Medic_QuickUber Name "Quick Uber Medic" Item "Flatliner" Item "Hazardous Environment Vest" } } } 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 6 MaxActive 6 SpawnCount 3 Where spawnbot_B2 FirstSpawnOutput { Target panic_subwave_incoming Action trigger } TotalCurrency 51 WaitForAllDead "steels" WaitBeforeStarting 15 WaitBetweenSpawns 22 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 20 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 30 MaxActive 10 SpawnCount 2 Where spawnbot_right Where spawnbot_left_tank WaitForAllSpawned "wave02" WaitBeforeStarting 7 WaitBetweenSpawns 2.7 TotalCurrency 50 RandomChoice { TFBot { Class Scout MaxVisionRange 1000 Skill Easy } TFBot { Class Scout MaxVisionRange 1000 Skill Easy } TFBot { Class Scout Name "Long-Sighted Scout" Skill Easy Item "The Shortstop" Item "Night Vision Gawkers" } } } WaveSpawn { Name "wave03" TotalCount 18 MaxActive 9 SpawnCount 3 Where spawnbot_right_tank WaitForAllSpawned "wave02" WaitBeforeStarting 22 WaitBetweenSpawns 6.5 TotalCurrency 50 TFBot { Class Heavyweapons MaxVisionRange 1000 Skill Easy } } WaveSpawn // Dummy { WaitForAllDead "wave03" WaitBeforeStarting 3 FirstSpawnOutput { Target "finishedearlyhuh" Action Trigger } } WaveSpawn { Name "OdioElHechoDeQueTengaQueHacerEstaAbsolutaGuarradaParaQueLaFaseDeCarretaSeEjecuteAntesDe4Minutos" Where spawnbotreddit3 TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 0 TotalCurrency 0 HideIcon 1 TFBot { Class Soldier ClassIcon tank_lite Name "Tamk lmao" Skill Easy Scale 0.001 Health 2 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 "carreta1" WaitForAllDead "OdioElHechoDeQueTengaQueHacerEstaAbsolutaGuarradaParaQueLaFaseDeCarretaSeEjecuteAntesDe4Minutos" TotalCurrency 0 TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 0 Where spawnbot_B2 Support Limited Tank { Health 30000 Name payloadtank Speed 75 Scale 1 Classicon payload_vip //thanks for the icon nys Model {Default "models/robot_factory/australium_tank.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" DisableBomb 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 WaitForAllSpawned "carreta1" 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 Gravity 0 StartingPathTrackNode "monorail_A_1" Model //Set custom model on tank. Will spit harmless errors on client console if the model does not have enough sequences { Default "models/robot_factory/monorail_tank.mdl" Damage1 "models/robot_factory/monorail_tank_damage1.mdl" Damage2 "models/robot_factory/monorail_tank_damage2.mdl" Damage3 "models/robot_factory/monorail_tank_damage3.mdl" } OnBombDroppedOutput { Target justaspoonfulofdamage 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 } } FirstSpawnOutput { Target "becarefullittlebro" Action "Show" } } 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 35 TotalCurrency 25 FirstSpawnOutput { Target panic_subwave_incoming Action Trigger } LastSpawnOutput { Target panic_subwave_incoming Action Trigger } TFBot { Class Heavyweapons Name "Steel Giant" Template T_TFBot_Giant_Boxing_Heavy Skill Expert Health 5000 Attributes AlwaysCrit InterruptAction { Delay 0.5 Target "payloadtank" Duration 120 } AlwaysGlow 1 Action Mobber 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 Gravity 0 Model //Set custom model on tank. Will spit harmless errors on client console if the model does not have enough sequences { Default "models/robot_factory/monorail_tank.mdl" Damage1 "models/robot_factory/monorail_tank_damage1.mdl" Damage2 "models/robot_factory/monorail_tank_damage2.mdl" Damage3 "models/robot_factory/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 8 SpawnCount 1 WaitBeforeStarting 30 WaitBetweenSpawns 2 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 "monorail_1" TotalCurrency 0 TotalCount 15 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 spawnbotreddit2 TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 0 TotalCurrency 0 HideIcon 1 TFBot { Class Soldier ClassIcon tank_lite Name "Tamk lmao" Skill Easy Scale 0.001 Health 2 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_SHOTGUN_PYRO WeaponRestrictions SecondaryOnly UseMeleeThreatPrioritization 1 Item "Dead Heat" Name "Infernal Hailstorm" Health 175000 UseCustomModel "models/bots/pyro_boss/bot_thermal_pyro.mdl" Scale 2.5 Tag is_chief Attributes UseBossHealthBar Skin 5 AdditionalStepSound "Pyro.Boss.Step" CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.6 "airblast vulnerability multiplier" 0.6 "override footstep sound set" 0 "rage giving scale" 0.1 } ItemAttributes { ItemName "TF_WEAPON_SHOTGUN_PYRO" "override projectile type" 2 "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 "fire rate bonus" 0.6 "attach particle effect" 704 "custom impact sound" "Breakable.Glass" "custom projectile model" "models/weapons/c_models/c_cryo_gun/c_cryo_gun_fireball.mdl" "custom item model" "models/weapons/c_models/c_cryo_gun/c_cryo_gun.mdl" "projectile trail particle" "~spell_fireball_small_trail_red" "custom weapon fire sound" "mvm\giant_soldier\giant_soldier_rocket_shoot.wav" "custom kill icon" "taunt_scout" // bonk "add damage type" 2056 "remove damage type" 64 "projectile spread angle penalty" 5 "mult projectile scale" 2 "Projectile speed increased" 0.5 } ShootTemplate { Name canister2 AttachToProjectile 1 ItemName "TF_WEAPON_SHOTGUN_PYRO" } 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 { WeaponRestrictions SecondaryOnly Item "Panic Attack Shotgun" ItemAttributes { ItemName "Panic Attack Shotgun" "override projectile type" 2 "damage bonus" 1.2 "clip size bonus" 1.5 "blast radius increased" 1 "fire rate bonus" 0.1 "custom impact sound" "weapons\icicle_melt_01.wav" "custom projectile model" "models/weapons/c_models/c_cryo_gun/c_cryo_gun_ice_shard.mdl" "custom item model" "models/weapons/c_models/c_cryo_gun/c_cryo_gun.mdl" "custom weapon fire sound" "mvm\giant_soldier\giant_soldier_rocket_shoot.wav" "projectile trail particle" "~raygun_projectile_blue_crit_trail" "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" "mult projectile scale" 1.8 "Projectile speed increased" 0.5 "override footstep sound set" 0 } ShootTemplate { Name canisterfreeze AttachToProjectile 1 ItemName "Panic Attack Shotgun" } } 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 } } } }