#base robot_standard.pop #base robot_giant.pop WaveSchedule { StartingCurrency 4800 RespawnWaveTime 1 CanBotsAttackWhileInSpawnRoom No AddSentryBusterWhenDamageDealtExceeds 3000 AddSentryBusterWhenKillCountExceeds 15 WaveStartCountdown 3 AllowBotExtraSlots 1 RobotLimit 40 MissionUnloadOutput { Target BigNet Action RunScriptCode Param " Convars.SetValue(`tf_playergib`, 1) " Delay -1 } //// PRECACHES //// // Precached Models // PrecacheModel "models/robot_factory/australium_tank.mdl" PrecacheModel "models/bots/boss_bot/tankred_track_l.mdl" PrecacheModel "models/bots/boss_bot/tankred_track_r.mdl" PrecacheModel "models/props_tumb/mvm/tank_shield.mdl" PrecacheModel "models/props_mvm/no_entry.mdl" PrecacheModel "models/bots/heavy_boss/bot_heavy_boss_gibby.mdl" PrecacheModel "models/bots/pyro_boss/bot_pyro_boss_gibby.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/props_gameplay/cap_circle_768.mdl" // Precached Sounds // // VOX // Saxton Hale Voicelines PrecacheSound "termination/act4/wave6-7/saxtonhalevoicelines/saxton_hale_intro1.mp3" PrecacheSound "termination/act4/wave6-7/saxtonhalevoicelines/saxton_hale_intro2.mp3" PrecacheSound "termination/act4/wave6-7/saxtonhalevoicelines/saxton_hale_intro3.mp3" PrecacheSound "termination/act4/wave6-7/saxtonhalevoicelines/saxton_hale_patrolchiefs.mp3" PrecacheSound "termination/act4/wave6-7/saxtonhalevoicelines/saxton_hale_patrolchiefs2.mp3" PrecacheSound "termination/act4/wave6-7/saxtonhalevoicelines/saxton_hale_blastdoor.mp3" PrecacheSound "termination/act4/wave6-7/saxtonhalevoicelines/saxton_hale_turbocharge.mp3" PrecacheSound "termination/act4/wave6-7/saxtonhalevoicelines/saxton_hale_aftermath.mp3" PrecacheSound "termination/act4/wave7-7/saxtonhalevoicelines/saxton_hale_rocketfuelling.mp3" PrecacheSound "termination/act4/wave7-7/saxtonhalevoicelines/saxton_hale_holdoutfirstquarter.mp3" PrecacheSound "termination/act4/wave7-7/saxtonhalevoicelines/saxton_hale_holdoutsecondquarter.mp3" PrecacheSound "termination/act4/wave7-7/saxtonhalevoicelines/saxton_hale_holdoutthirdquarter.mp3" PrecacheSound "termination/act4/wave7-7/saxtonhalevoicelines/saxton_hale_goliathfootsteps.mp3" // Gray Mann Voicelines PrecacheSound "termination/act4/wave6-7/graymannvoicelines/gray_mann_patrolchiefs.mp3" PrecacheSound "termination/act4/wave6-7/graymannvoicelines/gray_mann_patrolchiefs2.mp3" PrecacheSound "termination/act4/wave6-7/graymannvoicelines/gray_mann_aftermath.mp3" // SFX PrecacheSound "termination/act4/wave6-7/sfx/patrol_chief_beam.mp3" PrecacheSound "termination/act4/wave7-7/sfx/goliath_waterstep.mp3" PrecacheSound "termination/act4/wave7-7/sfx/goliath_waterstep2.mp3" PrecacheSound "termination/act4/wave7-7/sfx/goliath_waterstep3.mp3" PrecacheSound "termination/act4/wave7-7/sfx/goliath_waterstep4.mp3" PrecacheSound "termination/act4/wave7-7/sfx/goliath_waterstep5.mp3" // Music PrecacheSound "termination/act4/wave6-7/music/termination_hurricane_of_power.wav" PrecacheSound "termination/act4/wave7-7/music/termination_t_minus.mp3" // Precached Particles PrecacheParticle "spell_fireball_small_trail_red" //// DISABLED SOUNDS //// DisableSound "Announcer.MVM_Wave_End" DisableSound "Announcer.MVM_Final_Wave_End" DisableSound "Announcer.MVM_Bonus" DisableSound "Announcer.MVM_Get_To_Upgrade" DisableSound "Announcer.MVM_Bomb_Alert_Near_Hatch" DisableSound "Announcer.MVM_Robots_Planted" DisableSound "Announcer.MVM_Wave_Lose" DisableSound "Announcer.MVM_Game_Over_Loss" DisableSound "Announcer.MVM_Bomb_Reset" DisableSound "Announcer.MVM_First_Engineer_Teleport_Spawned" DisableSound "Announcer.MVM_Another_Engineer_Teleport_Spawned" DisableSound "Announcer.MVM_An_Engineer_Bot_Is_Dead_But_Not_Teleporter" DisableSound "Announcer.MVM_An_Engineer_Bot_Is_Dead" 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.MVM_Tank_Planted" DisableSound "Announcer.MVM_General_Destruction" DisableSound "Announcer.RoundBegins5Seconds" DisableSound "Announcer.RoundBegins4Seconds" DisableSound "Announcer.RoundBegins3Seconds" DisableSound "Announcer.RoundBegins2Seconds" DisableSound "Announcer.RoundBegins1Seconds" DisableSound "music.mvm_start_wave" DisableSound "music.mvm_start_mid_wave" DisableSound "music.mvm_start_tank_wave" DisableSound "music.mvm_start_last_wave" DisableSound "music.mvm_end_wave" DisableSound "music.mvm_end_mid_wave" DisableSound "music.mvm_end_tank_wave" DisableSound "music.mvm_end_last_wave" DisableSound "music.mvm_lost_wave" //// LUA SCRIPTS //// LuaScriptFile "tank_repair_script.lua" //// CUSTOM WEAPONS //// CustomWeapon { //// WEAPONS //// "MagmaGun" { OriginalItemName "TF_WEAPON_SHOTGUN_PYRO" "damage bonus" 1.2 "add damage type" 2056 "remove damage type" 64 "fire rate bonus" 1.2 "mod max primary clip override" -1 "override projectile type" 2 "blast radius decreased" 0.5 "projectile speed decreased" 0.65 "mult projectile scale" 2 "penetrate teammates" 1 "custom item model" "models/weapons/c_models/c_cryo_gun/c_cryo_gun.mdl" "custom projectile model" "models/weapons/c_models/c_cryo_gun/c_cryo_gun_fireball.mdl" "projectile trail particle" "~spell_fireball_small_trail_red" "custom weapon fire sound" "MVM.GiantSoldierRocketShootCrit" "custom kill icon" "firedeath" } "NukeLauncher" { OriginalItemName "Upgradeable TF_WEAPON_PIPEBOMBLAUNCHER" "damage bonus" 10 "damage causes airblast" 1 "airblast pushback scale" 5 "blast radius increased" 5 "no self blast dmg" 1 "fire rate penalty" 7 "mod max primary clip override" -1 "mult projectile scale" 3 "projectile range decreased" 0.5 "max pipebombs decreased" -7 "projectile detonate time" 6 "sticky arm time penalty" 4.6 "use large smoke explosion" 1 "projectile no deflect" 1 "custom weapon fire sound" "MVM.GiantDemoman_GrenadeShoot" "explosion particle" "fireSmokeExplosion" "custom kill icon" "megaton" } //// COSMETICS //// "MercBusterHelmet" { OriginalItemName "The Hellmet" "set item tint RGB" "5801378" } } //// POINT TEMPLATES //// PointTemplates { //// CORE PTs //// CorePT { OnSpawnOutput { Target BigNet Action RunScriptCode Param " NetProps.SetPropString(Entities.FindByClassname(null, `tf_objective_resource`), `m_iszMvMPopfileName`, `Termination`) EntFire(`sky_sunset_relay`, `Trigger`) IncludeScript(`music_system_ment`) PrecacheSound(`#termination/act4/wave6-7/music/termination_hurricane_of_power.wav`) PrecacheSound(`#termination/act4/wave7-7/music/termination_t_minus.mp3`) MusicSystemMent.ResetAll() MusicSystemMent.HookByName(`bignet`) IncludeScript(`tankextensions_main`) IncludeScript(`tankextensions/combattank`) IncludeScript(`tankextensions/combattank_weapons/minigun`) IncludeScript(`tankextensions/combattank_weapons/rocketpod`) IncludeScript(`tankextensions/combattank_weapons/fireball`) IncludeScript(`tankextensions/combattank_weapons/railgun`) IncludeScript(`tankextensions/drilltank_watermine`) " } point_populator_interface { "targetname" "pop_interface" } logic_timer { "targetname" "RagdollRemover" "RefireTime" "5" "OnTimer" "tf_ragdoll*,Kill,,0,-1" } logic_timer { "targetname" "MissionAlarmTimer" "RefireTime" "60" "OnTimer" "tf_gamerules,PlayVO,ambient/alarms/citadel_alert_loop2.wav,0.1,-1" "OnTimer" "tf_gamerules,$StopVO,ambient/alarms/citadel_alert_loop2.wav,6,-1" } logic_timer { "targetname" "HUDHintTimer" "RefireTime" "2.0" "startdisabled" "1" "OnTimer" "HUDHint,ShowHudHint,,0,-1" } env_hudhint { "targetname" "HUDHint" "message" "" "spawnflags" "1" } logic_relay { "targetname" "RedLoseRelay" "OnTrigger" "bots_win,RoundWin,,0,-1" } filter_activator_class // Is a Player { "targetname" "filter_is_player" "Negated" "0" "filterclass" "player" } filter_multi // Is a Red Player { "targetname" "filter_is_red_player" "Negated" "0" "FilterType" "0" "Filter01" "red_team_filter" "Filter02" "filter_is_player" } filter_tf_condition // Medigun Uber Filter { "targetname" "filter_is_not_ubered" "Negated" "1" "condition" "5" //medigun uber } filter_tf_condition // Canteen Uber Filter { "targetname" "filter_is_not_ubered2" "Negated" "1" "condition" "52" //canteen uber } filter_tf_condition // MVM Spawn Uber Filter { "targetname" "filter_is_not_ubered3" "Negated" "1" "condition" "51" //hidden uber } filter_tf_condition // Wheel of Fate Uber ilter { "targetname" "filter_is_not_ubered4" "Negated" "1" "condition" "57" //WoF uber } filter_multi // Is an Un-Ubered Red Player { "targetname" "filter_redteam_nouber" "Negated" "0" "FilterType" "0" //and "Filter01" "red_team_filter" "Filter02" "filter_is_not_ubered" "Filter03" "filter_is_not_ubered2" "Filter04" "filter_is_not_ubered3" "Filter05" "filter_is_not_ubered4" "Filter06" "filter_is_player" } filter_multi // Is an Un-Ubered Player { "targetname" "filter_nouber" "Negated" "0" "FilterType" "0" "Filter01" "filter_is_not_ubered" "Filter02" "filter_is_not_ubered2" "Filter03" "filter_is_not_ubered3" "Filter04" "filter_is_not_ubered4" "Filter05" "filter_is_player" } } //// WAVE 6 PTs //// Wave6PT { RemoveIfKilled "ActSetupRelay" OnSpawnOutput { Target BigNet Action RunScriptCode Param " EntFire(`Player`, `$TeleportToEntity`, `lift_red_spawn`) EntFire(`ActSetupRelay`, `Trigger`) EntFire(`lift_spawn_set_team_red`, `Trigger`) EntFire(`red_lift_door_left_trigger`, `Disable`, null, 0.02) EntFire(`red_lift_door_right_trigger`, `Disable`, null, 0.02) EntFire(`lift_door_left`, `Close`, null, 0.2) EntFire(`lift_door_right`, `Close`, null, 0.2) EntFire(`rocket_spawn_set_team_blu`, `Trigger`) EntFire(`01_door_lock_relay`, `Trigger`) EntFire(`silo_door_close`, `Trigger`) EntFire(`carrier_lift`, `SetSpeed`, 99999) EntFire(`carrier_lift_lower_relay`, `Trigger`) " } logic_relay { "targetname" "ActSetupRelay" "OnTrigger" "tank_path_australium_9,AddOutput,OnPass FirstPatrolChiefAmbushRelay:Trigger::0:-1,0,-1" "OnTrigger" "tank_path_australium_17,AddOutput,OnPass SecondPatrolChiefAmbushRelay:Trigger::0:-1,0,-1" "OnTrigger" "tank_path_australium_31,AddOutput,OnPass LockdownAmbushRelay:Trigger::0:-1,0,-1" "OnTrigger" "tank_path_australium_43,AddOutput,OnPass ThirdPatrolChiefAmbushRelay:Trigger::0:-1,0,-1" "OnTrigger" "tank_path_australium_52,AddOutput,OnPass AustraliumTankRocketSpawnRelay:Trigger::0:-1,0,-1" "OnTrigger" "tank_path_australium_57,AddOutput,OnPass AustraliumTankRocketSpawnParkRelay:Trigger::0:-1,0,-1" "OnTrigger" "tank_path_fury_12,AddOutput,OnPass AmbushTankParkRelay:Trigger::0:-1,0,-1" } logic_relay { "targetname" "ActStartRelay" "OnTrigger" "BigNet,RunScriptCode,MusicSystemMent.SetMusicTrack(`#termination/act4/wave6-7/music/termination_hurricane_of_power.wav`),0,-1" "OnTrigger" "Player,$DisplayTextChat,{yellow}[ Now Playing: {6383ff} Hurricane of Power - GoodBobFR {yellow}],0,-1" "OnTrigger" "AustraliumTankProp,Kill,,0,-1" "OnTrigger" "lift_door_left,Open,,0,-1" "OnTrigger" "lift_door_right,Open,,0,-1" "OnTrigger" "red_lift_door_left_trigger,Enable,,5,-1" "OnTrigger" "red_lift_door_right_trigger,Enable,,5,-1" "OnTrigger" "lift_door_left,Close,,5,-1" "OnTrigger" "lift_door_right,Close,,5,-1" "OnTrigger" "BigNetRunScriptCodePrecacheSound(`ui/quest_alert.wav`);EmitSoundEx({sound_name=`ui/quest_alert.wav`,special_dsp = 55,filter_type=5})51" "OnTrigger" "BigNetRunScriptCodeEmitSoundEx({sound_name=`termination/act4/wave6-7/saxtonhalevoicelines/saxton_hale_intro3.mp3`,channel = 6,special_dsp = 55,filter_type=5})6.41" "OnTrigger" "BigNetRunScriptCodeEmitSoundEx({sound_name=`termination/act4/wave6-7/saxtonhalevoicelines/saxton_hale_intro3.mp3`,channel = 6,special_dsp = 55,filter_type=5})6.41" "OnTrigger" "BigNetRunScriptCodeEmitSoundEx({sound_name=`termination/act4/wave6-7/saxtonhalevoicelines/saxton_hale_intro3.mp3`,channel = 6,special_dsp = 55,filter_type=5})6.41" "OnTrigger" "Player,$DisplayTextChat,{ffb84d}Saxton Hale{reset}: This was too easy. He practically handed it to us on a silver platter! You lot have thinned out his numbers so the rest of this should be a cakewalk.,6.4,-1" } logic_relay { "targetname" "FirstPatrolChiefAmbushRelay" "OnTrigger" "shortcut_bridge_retract_relay,Trigger,,0,-1" "OnTrigger" "carrier_lift_raise_relay,Trigger,,0,-1" "OnTrigger" "carrier_door_front,SetAnimation,open,,0,-1" "OnTrigger" "carrier_door_closed_collision,Disable,,0,-1" "OnTrigger" "carrier_door_open_collision,Enable,,0,-1" "OnTrigger" "vanilla_flank,Enable,,0,-1" "OnTrigger" "tf_gamerules,PlayVO,ambient/alarms/manhack_alert_pass1.wav,0,-1" "OnTrigger" "tf_gamerules,PlayVO,ambient/alarms/manhack_alert_pass1.wav,0,-1" "OnTrigger" "!activator,SetSpeed,50,1,-1" "OnTrigger" "!activator,SetSpeed,37.5,1.5,-1" "OnTrigger" "!activator,SetSpeed,23,2,-1" "OnTrigger" "tf_gamerules,PlayVO,vo/mvm/norm/engineer_mvm_negativevocalization02.mp3,2,-1" "OnTrigger" "tf_gamerules,PlayVO,vo/mvm/norm/engineer_mvm_negativevocalization02.mp3,2,-1" "OnTrigger" "tf_gamerules,PlayVO,npc/combine_gunship/ping_patrol.wav,3,1" "OnTrigger" "PlayerRunScriptCodeScreenShake(self.GetOrigin(), 5, 8, 2, 50000, 0, true)3-1" "OnTrigger" "BigNetRunScriptCodeEmitSoundEx({sound_name=`termination/act4/wave6-7/graymannvoicelines/gray_mann_patrolchiefs.mp3`,channel = 6,special_dsp = 57,filter_type=5})51" "OnTrigger" "BigNetRunScriptCodeEmitSoundEx({sound_name=`termination/act4/wave6-7/graymannvoicelines/gray_mann_patrolchiefs.mp3`,channel = 6,special_dsp = 57,filter_type=5})51" "OnTrigger" "BigNetRunScriptCodeEmitSoundEx({sound_name=`termination/act4/wave6-7/graymannvoicelines/gray_mann_patrolchiefs.mp3`,channel = 6,special_dsp = 57,filter_type=5})51" "OnTrigger" "Player,$DisplayTextChat,{d9d9d9}Gray Mann{reset}: Don't get your hopes up mercenaries! I told you - you won't leave this facility alive!,5,-1" "OnTrigger" "Player,$DisplayTextChat,{d9d9d9}Gray Mann{reset}: Obliterate them Patrol Chiefs!,13,-1" "OnTrigger" "pop_interface,$ResumeWaveSpawn,Wave6_Subwave1_HeavyPatrolChief,15,-1" "OnTrigger" "01_door_unlock_relay,Trigger,,15,-1" "OnTrigger" "!activator,SetSpeed,0,15,-1" "OnTrigger" "!activator,SetSpeed,75,20,-1" "OnTrigger" "tf_gamerules,PlayVO,vo/mvm/norm/engineer_mvm_negativevocalization05.mp3,17,-1" "OnTrigger" "tf_gamerules,PlayVO,vo/mvm/norm/engineer_mvm_negativevocalization05.mp3,17,-1" "OnTrigger" "BigNetRunScriptCodePrecacheSound(`ui/quest_alert.wav`);EmitSoundEx({sound_name=`ui/quest_alert.wav`,special_dsp = 55,filter_type=5})171" "OnTrigger" "BigNetRunScriptCodeEmitSoundEx({sound_name=`termination/act4/wave6-7/saxtonhalevoicelines/saxton_hale_patrolchiefs.mp3`,channel = 6,special_dsp = 55,filter_type=5})18.41" "OnTrigger" "BigNetRunScriptCodeEmitSoundEx({sound_name=`termination/act4/wave6-7/saxtonhalevoicelines/saxton_hale_patrolchiefs.mp3`,channel = 6,special_dsp = 55,filter_type=5})18.41" "OnTrigger" "BigNetRunScriptCodeEmitSoundEx({sound_name=`termination/act4/wave6-7/saxtonhalevoicelines/saxton_hale_patrolchiefs.mp3`,channel = 6,special_dsp = 55,filter_type=5})18.41" "OnTrigger" "Player,$DisplayTextChat,{ffb84d}Saxton Hale{reset}: You're telling me he has more?!,18.4,-1" "OnTrigger" "ActIntroCardUpper,Display,,17,-1" "OnTrigger" "ActIntroCardLower,Display,,18,-1" "OnTrigger" "BigNetRunScriptCodeNetProps.SetPropString(Entities.FindByClassname(null, `tf_objective_resource`), `m_iszMvMPopfileName`, `Termination - Total Teardown`)18-1" "OnTrigger" "Player,$DisplayTextHint,PROTECT THE ENGIBOT AT ALL COSTS,20,-1" "OnTrigger" "HUDHintTimer,Enable,,23,-1" "OnTrigger" "HUDHint,$SetKey$message,[OBJECTIVE] PROTECT THE ENGIBOT,23,-1" "OnTrigger" "Wave6TeleporterShortcutEntrancePT,ForceSpawn,,23,-1" "OnTrigger" "BigNetRunScriptCodeEmitSoundEx({sound_name=`termination/act4/wave6-7/graymannvoicelines/gray_mann_patrolchiefs2.mp3`,channel = 6,special_dsp = 57,filter_type=5})281" "OnTrigger" "BigNetRunScriptCodeEmitSoundEx({sound_name=`termination/act4/wave6-7/graymannvoicelines/gray_mann_patrolchiefs2.mp3`,channel = 6,special_dsp = 57,filter_type=5})281" "OnTrigger" "BigNetRunScriptCodeEmitSoundEx({sound_name=`termination/act4/wave6-7/graymannvoicelines/gray_mann_patrolchiefs2.mp3`,channel = 6,special_dsp = 57,filter_type=5})281" "OnTrigger" "Player,$DisplayTextChat,{d9d9d9}Gray Mann{reset}: You will not escape my grasp! That Australium is mine!,28,-1" "OnTrigger" "BigNetRunScriptCodePrecacheSound(`ui/quest_alert.wav`);EmitSoundEx({sound_name=`ui/quest_alert.wav`,special_dsp = 55,filter_type=5})351" "OnTrigger" "BigNetRunScriptCodeEmitSoundEx({sound_name=`termination/act4/wave6-7/saxtonhalevoicelines/saxton_hale_patrolchiefs2.mp3`,channel = 6,special_dsp = 55,filter_type=5})36.41" "OnTrigger" "BigNetRunScriptCodeEmitSoundEx({sound_name=`termination/act4/wave6-7/saxtonhalevoicelines/saxton_hale_patrolchiefs2.mp3`,channel = 6,special_dsp = 55,filter_type=5})36.41" "OnTrigger" "BigNetRunScriptCodeEmitSoundEx({sound_name=`termination/act4/wave6-7/saxtonhalevoicelines/saxton_hale_patrolchiefs2.mp3`,channel = 6,special_dsp = 55,filter_type=5})36.41" "OnTrigger" "Player,$DisplayTextChat,{ffb84d}Saxton Hale{reset}: Those Patrol Chiefs are screwing up the tank's mobility! Take them down! They will not stop us! Not when we're this close!,36.4,-1" } game_text { "targetname" "ActIntroCardUpper" "message" "ACT 4" "x" "-1" "y" "0.4" "effect" "0" "color" "255 255 255" "fadein" "0.5" "holdtime" "3" "fadeout" "0.2" "channel" "1" "spawnflags" "1" } game_text { "targetname" "ActIntroCardLower" "message" "TOTAL TEARDOWN" "x" "-1" "y" "0.45" "effect" "2" "color" "255 255 255" "fxtime" "0.05" "fadein" "0.05" "holdtime" "1.75" "fadeout" "0.2" "channel" "2" "spawnflags" "1" } logic_relay { "targetname" "SecondPatrolChiefAmbushRelay" "OnTrigger" "pop_interface,$ResumeWaveSpawn,Wave6_Subwave2_PyroPatrolChief,0,-1" } logic_relay { "targetname" "AmbushTankParkRelay" "OnTrigger" "!activator,SetSpeed,0,0,-1" "OnTrigger" "tf_gamerules,PlayVO,doors/heavy_metal_stop1.wav,0,-1" "OnTrigger" "tf_gamerules,PlayVO,hl1/ambience/steamburst1.wav,0,-1" } logic_relay { "targetname" "LockdownAmbushRelay" "OnTrigger" "04_door,SetSpeed,400,0,-1" "OnTrigger" "05_door,SetSpeed,400,0,-1" "OnTrigger" "04_door_lock_relay,Trigger,,3,-1" "OnTrigger" "05_door_lock_relay,Trigger,,3,-1" "OnTrigger" "PlayerRunScriptCodeScreenShake(self.GetOrigin(), 8, 5, 2, 50000, 0, true)3.45-1" "OnTrigger" "tf_gamerules,PlayVO,ambient/rottenburg/tunneldoor_closed_loud.wav,3.45,-1" "OnTrigger" "PlayerDoor05Forcefield,Kill,,4,-1" "OnTrigger" "PlayerDoor05Sign,Kill,,4,-1" "OnTrigger" "!activator,SetSpeed,0,4,-1" "OnTrigger" "BigNetRunScriptCodePrecacheSound(`ui/quest_alert.wav`);EmitSoundEx({sound_name=`ui/quest_alert.wav`,special_dsp = 55,filter_type=5})71" "OnTrigger" "BigNetRunScriptCodeEmitSoundEx({sound_name=`termination/act4/wave6-7/saxtonhalevoicelines/saxton_hale_blastdoor.mp3`,channel = 6,special_dsp = 55,filter_type=5})8.41" "OnTrigger" "BigNetRunScriptCodeEmitSoundEx({sound_name=`termination/act4/wave6-7/saxtonhalevoicelines/saxton_hale_blastdoor.mp3`,channel = 6,special_dsp = 55,filter_type=5})8.41" "OnTrigger" "BigNetRunScriptCodeEmitSoundEx({sound_name=`termination/act4/wave6-7/saxtonhalevoicelines/saxton_hale_blastdoor.mp3`,channel = 6,special_dsp = 55,filter_type=5})8.41" "OnTrigger" "Player,$DisplayTextChat,{ffb84d}Saxton Hale{reset}: That door's not gonna budge Mercs! We need some real brute force here!,8.4,-1" "OnTrigger" "pop_interface,$ResumeWaveSpawn,Wave6_Subwave4_EngineerAmbush,10,-1" "OnTrigger" "Player,$DisplayTextHint,FIND A WAY TO BREAK THROUGH,15,-1" "OnTrigger" "AustraliumTankGasCanCounterPT,ForceSpawnAtEntityOrigin,australiumtank,15,-1" "OnTrigger" "Wave6TeleporterShortcutExitPT,ForceSpawn,,15,-1" "OnTrigger" "AmbushTeleporterRelay,Trigger,,18,-1" } logic_relay { "targetname" "AmbushTeleporterRelay" "OnTrigger" "TeleporterEntranceToolbox,Kill,,0,-1" "OnTrigger" "TeleporterExitToolbox,Kill,,0,-1" "OnTrigger" "TeleporterEntranceProp,Enable,,0,-1" "OnTrigger" "TeleporterExitProp,Enable,,0,-1" "OnTrigger" "TeleporterEntranceParticle,Start,,0,-1" "OnTrigger" "TeleporterExitParticle,Start,,0,-1" "OnTrigger" "TeleporterEntranceTrigger,Enable,,0,-1" "OnTrigger" "tf_gamerules,PlayVO,weapons/teleporter_ready.wav,0,-1" "OnTrigger" "TeleporterAnnotation,Show,,0,-1" } training_annotation { "targetname" "TeleporterAnnotation" "origin" "-2390 6913 700" "display_text" "The Engibot's made a shortcut teleporter!" "lifetime" "5" } logic_relay { "targetname" "ThirdPatrolChiefAmbushRelay" "OnTrigger" "pop_interface,$ResumeWaveSpawn,Wave6_Subwave6_DemoPatrolChief,0,-1" } logic_relay { "targetname" "PatrolChiefAftermathRelay" "OnTrigger" "australiumtank,SetSpeed,80,2,-1" "OnTrigger" "BigNetRunScriptCodeEmitSoundEx({sound_name=`termination/act4/wave6-7/graymannvoicelines/gray_mann_aftermath.mp3`,channel = 6,special_dsp = 57,filter_type=5})51" "OnTrigger" "BigNetRunScriptCodeEmitSoundEx({sound_name=`termination/act4/wave6-7/graymannvoicelines/gray_mann_aftermath.mp3`,channel = 6,special_dsp = 57,filter_type=5})51" "OnTrigger" "BigNetRunScriptCodeEmitSoundEx({sound_name=`termination/act4/wave6-7/graymannvoicelines/gray_mann_aftermath.mp3`,channel = 6,special_dsp = 57,filter_type=5})51" "OnTrigger" "Player,$DisplayTextChat,{d9d9d9}Gray Mann{reset}: ARGH! Not even my Patrol Chiefs could stop you?! Fine. If these robots won't do the job then I'll do it myself. Send out the rest of them at once!,5,-1" "OnTrigger" "BigNetRunScriptCodePrecacheSound(`ui/quest_alert.wav`);EmitSoundEx({sound_name=`ui/quest_alert.wav`,special_dsp = 55,filter_type=5})251" "OnTrigger" "BigNetRunScriptCodeEmitSoundEx({sound_name=`termination/act4/wave6-7/saxtonhalevoicelines/saxton_hale_aftermath.mp3`,channel = 6,special_dsp = 55,filter_type=5})26.41" "OnTrigger" "BigNetRunScriptCodeEmitSoundEx({sound_name=`termination/act4/wave6-7/saxtonhalevoicelines/saxton_hale_aftermath.mp3`,channel = 6,special_dsp = 55,filter_type=5})26.41" "OnTrigger" "BigNetRunScriptCodeEmitSoundEx({sound_name=`termination/act4/wave6-7/saxtonhalevoicelines/saxton_hale_aftermath.mp3`,channel = 6,special_dsp = 55,filter_type=5})26.41" "OnTrigger" "Player,$DisplayTextChat,{ffb84d}Saxton Hale{reset}: Listen to that senile fool howl! That's how you know we're on the winning side of this battle!,26.4,-1" } logic_relay { "targetname" "AustraliumTankRocketSpawnRelay" "OnTrigger" "BigNetRunScriptCodeMusicSystemMent.SetMusicTrack(``, 5, 5)0-1" "OnTrigger" "HUDHintTimer,Disable,,0,-1" "OnTrigger" "HUDHint,HideHudHint,,0,-1" "OnTrigger" "RedLoseRelay,Disable,,0,-1" "OnTrigger" "rocket_spawn_set_team_red,Trigger,,0,-1" "OnTrigger" "side_red_spawn_door_trigger,Disable,,0.05,-1" "OnTrigger" "side_red_spawn_door_open_relay,Trigger,,0.25,-1" } logic_relay { "targetname" "AustraliumTankRocketSpawnParkRelay" "OnTrigger" "side_red_spawn_door_trigger,Enable,,0.05,-1" "OnTrigger" "side_red_spawn_door_close_relay,Trigger,,0.25,-1" "OnTrigger" "!activator,SetSpeed,50,1,-1" "OnTrigger" "!activator,SetSpeed,25,2,-1" "OnTrigger" "!activator,SetSpeed,0,4,-1" "OnTrigger" "tf_gamerules,PlayVO,doors/heavy_metal_stop1.wav,4,-1" "OnTrigger" "tf_gamerules,PlayVO,hl1/ambience/steamburst1.wav,4,-1" "OnTrigger" "TeleporterEntranceProp,Kill,,4,-1" "OnTrigger" "TeleporterExitProp,Kill,,4,-1" "OnTrigger" "04_door_unlock_relay,Trigger,,4,-1" "OnTrigger" "shortcut_bridge_extend_relay,Trigger,,4,-1" "OnTrigger" "lift_spawn_set_team_blu,Trigger,,4,-1" "OnTrigger" "Player,$DisplayTextHint,INTERACT WITH THE TERMINALS TO LOWER THE ROCKET,4,-1" "OnTrigger" "Wave6RocketTerminalsPT,ForceSpawn,,4,-1" } } Wave6AustraliumTankPT { NoFixUp 1 RemoveIfKilled "AustraliumTankProp" prop_dynamic { "targetname" "AustraliumTankProp" "origin" "-2776 6656 688" "model" "models/robot_factory/australium_tank.mdl" "solid" "6" "defaultanim" "movement" "disablebonefollowers" "1" "disableshadows" "1" } prop_dynamic_ornament { "targetname" "AustraliumTankTrack" "InitialOwner" "AustraliumTankProp" "model" "models/bots/boss_bot/tankred_track_l.mdl" "disablebonefollowers" "1" "disableshadows" "1" } prop_dynamic_ornament { "targetname" "AustraliumTankTrack" "InitialOwner" "AustraliumTankProp" "model" "models/bots/boss_bot/tankred_track_r.mdl" "disablebonefollowers" "1" "disableshadows" "1" } } Wave6PlayerBarrierPT { RemoveIfKilled "PlayerMainForcefield" func_forcefield { "targetname" "PlayerMainForcefield" "origin" "-3551 4047 608" "mins" "0 -8 -2000" "maxs" "4000 8 2000" "teamnum" "3" "disablebonefollowers" "1" "disableshadows" "1" } func_forcefield { "targetname" "PlayerDoor04Forcefield" "origin" "-3581 3442 608" "maxs" "10 250 300" "mins" "-10 -250 -0" "teamnum" "3" "disablebonefollowers" "1" "disableshadows" "1" } prop_dynamic { "targetname" "PlayerDoor04Sign" "origin" "-3581 3504 728" "angles" "0 180 0" "model" "models/props_mvm/no_entry.mdl" "fademindist" "0" "fademaxdist" "500" "disablebonefollowers" "1" "disableshadows" "1" } func_forcefield { "targetname" "PlayerDoor05Forcefield" "origin" "-4658 3123 512" "maxs" "300 10 300" "mins" "-300 -10 -0" "teamnum" "3" "disablebonefollowers" "1" "disableshadows" "1" } prop_dynamic { "targetname" "PlayerDoor05Sign" "origin" "-4572 3123 632" "angles" "0 90 0" "model" "models/props_mvm/no_entry.mdl" "fademindist" "0" "fademaxdist" "500" "disablebonefollowers" "1" "disableshadows" "1" } info_particle_system { "targetname" "PlayerDoor05ForcefieldParticle" "origin" "-4585 2485 612" "effect_name" "dooms_nuke_ring" "start_active" "0" } } Wave6BotBarrierPT { RemoveIfKilled "SpawnBarrierFence" logic_relay { "targetname" "BotBarrierBreakRelay" "OnTrigger" "PlayerRunScriptCodeScreenShake(self.GetOrigin(), 40, 16, 2, 50000, 0, true)0-1" "OnTrigger" "BotBarrierBreakExplosion,Start,,0,-1" "OnTrigger" "tf_gamerules,PlayVO,ambient/explosions/explode_1.wav,0,-1" "OnTrigger" "tf_gamerules,PlayVO,ambient/explosions/explode_2.wav,0,-1" "OnTrigger" "tf_gamerules,PlayVO,weapons/debris2.wav,0,-1" "OnTrigger" "SpawnBarrierFence,Kill,,0.1,-1" } info_particle_system { "targetname" "BotBarrierBreakExplosion" "origin" "-1435 7986 691" "effect_name" "cinefx_goldrush" "start_active" "0" } info_particle_system { "targetname" "BotBarrierBreakExplosion" "origin" "-1435 7986 691" "effect_name" "fireSmoke_Collumn_mvmAcres" "start_active" "0" } prop_dynamic { "targetname" "SpawnBarrierFence" "origin" "-1417 7996 805" "angles" "0 90 0" "model" "models/props_coalmines/wood_fence_256.mdl" "solid" "6" "disablebonefollowers" "1" "disableshadows" "1" } prop_dynamic { "targetname" "SpawnBarrierFence" "origin" "-1417 7996 1065" "angles" "0 90 0" "model" "models/props_coalmines/wood_fence_256.mdl" "solid" "6" "disablebonefollowers" "1" "disableshadows" "1" } prop_dynamic { "targetname" "SpawnBarrierFence" "origin" "-1417 8126 805" "angles" "0 90 0" "model" "models/props_coalmines/wood_fence_128.mdl" "solid" "6" "disablebonefollowers" "1" "disableshadows" "1" } prop_dynamic { "targetname" "SpawnBarrierFence" "origin" "-1417 8126 1065" "angles" "0 90 0" "model" "models/props_coalmines/wood_fence_128.mdl" "solid" "6" "disablebonefollowers" "1" "disableshadows" "1" } func_nobuild { "target" "SpawnBarrierNobuild" "origin" "-1315 8033 688" "mins" "-100 -200 -100" "maxs" "100 200 100" "AllowTeleporters" "0" "AllowSentry" "0" "AllowDispenser" "0" "disablebonefollowers" "1" "disableshadows" "1" } func_forcefield { "targetname" "SpawnBarrierForcefield" "origin" "-1415 8027 688" "mins" "-20 -200 0" "maxs" "20 200 3000" "teamnum" "3" "disablebonefollowers" "1" "disableshadows" "1" } } Wave6TeleporterShortcutEntrancePT { RemoveIfKilled "TeleporterEntranceProp" OnSpawnOutput { Target "TeleporterEntranceThrowRelay" Action Trigger } logic_relay { "targetname" "TeleporterEntranceThrowRelay" "OnTrigger" "TeleporterEntranceThrownToolbox,Kill,,1.36,-1" "OnTrigger" "TeleporterEntranceToolbox,Enable,,1.36,-1" "OnTrigger" "TeleporterEntranceNobuild,Enable,,1.36,-1" } func_tracktrain { "targetname" "TeleporterEntranceThrownToolboxPath" "target" "teleporterentrance_1" "velocitytype" "1" "orientationtype" "1" "startspeed" "1000" "speed" "1000" "disablebonefollowers" "1" "disableshadows" "1" } prop_dynamic { "targetname" "TeleporterEntranceThrownToolbox" "parentname" "TeleporterEntranceThrownToolboxPath" "model" "models/weapons/c_models/c_toolbox/c_toolbox.mdl" "angles" "0 -90 0" "solid" "0" "disablebonefollowers" "1" "disableshadows" "1" } prop_dynamic { "targetname" "TeleporterEntranceToolbox" "origin" "-2390 6913 700" "model" "models/weapons/c_models/c_toolbox/c_toolbox.mdl" "solid" "0" "disablebonefollowers" "1" "disableshadows" "1" "startdisabled" "1" } prop_dynamic { "targetname" "TeleporterEntranceProp" "origin" "-2390 6913 688" "angles" "0 40 0" "model" "models/buildables/teleporter_light.mdl" "defaultanim" "running" "solid" "0" "disablebonefollowers" "1" "disableshadows" "1" "startdisabled" "1" } trigger_teleport { "targetname" "TeleporterEntranceTrigger" "filtername" "filter_red" "origin" "-2390 6913 688" "mins" "-32 -32 -8" "maxs" "32 32 8" "target" "TeleporterExitTarget" "spawnflags" "1" "disablebonefollowers" "1" "disableshadows" "1" "startdisabled" "1" "OnStartTouch" "!activator,$Addcond,51 3,0,-1" "OnStartTouch" "!activatorRunScriptCodeScreenFade(null, 255, 255, 255, 110, 0.7, 1.5, 1)0-1" "OnStartTouch" "!activator,$PlaySoundToSelf,weapons/teleporter_receive.wav,0,-1" } func_nobuild { "targetname" "TeleporterEntranceNobuild" "origin" "-2390 6913 688" "mins" "-128 -128 -64" "maxs" "128 128 64" "teamnum" "2" "disablebonefollowers" "1" "disableshadows" "1" "startdisabled" "1" } info_particle_system { "targetname" "TeleporterEntranceParticle" "origin" "-2390 6913 688" "effect_name" "teleporter_red_charged_level3" "start_active" "0" } info_particle_system { "targetname" "TeleporterEntranceParticle" "origin" "-2390 6913 688" "effect_name" "teleporter_red_entrance_disc" "start_active" "0" } } Wave6TeleporterShortcutExitPT { RemoveIfKilled "TeleporterExitProp" OnSpawnOutput { Target "TeleporterExitThrowRelay" Action Trigger } logic_relay { "targetname" "TeleporterExitThrowRelay" "OnTrigger" "TeleporterExitThrownToolbox,Kill,,1,-1" "OnTrigger" "TeleporterExitToolbox,Enable,,1,-1" "OnTrigger" "TeleporterExitNobuild,Enable,,1,-1" } func_tracktrain { "targetname" "TeleporterExitThrownToolboxPath" "target" "teleporterexit_1" "velocitytype" "1" "orientationtype" "1" "startspeed" "1000" "speed" "1000" "disablebonefollowers" "1" "disableshadows" "1" } prop_dynamic { "targetname" "TeleporterExitThrownToolbox" "parentname" "TeleporterExitThrownToolboxPath" "model" "models/weapons/c_models/c_toolbox/c_toolbox.mdl" "angles" "0 -30 0" "solid" "0" "disablebonefollowers" "1" "disableshadows" "1" } prop_dynamic { "targetname" "TeleporterExitToolbox" "origin" "-3694 3778 620" "angles" "0 180 0" "model" "models/weapons/c_models/c_toolbox/c_toolbox.mdl" "solid" "0" "disablebonefollowers" "1" "disableshadows" "1" "startdisabled" "1" } prop_dynamic { "targetname" "TeleporterExitProp" "origin" "-3694 3778 608" "angles" "0 -150 0" "model" "models/buildables/teleporter_light.mdl" "defaultanim" "running" "solid" "0" "disablebonefollowers" "1" "disableshadows" "1" "startdisabled" "1" } info_target { "targetname" "TeleporterExitTarget" "origin" "-3694 3778 620" "angles" "0 -150 0" } func_nobuild { "targetname" "TeleporterExitNobuild" "origin" "-3694 3778 620" "mins" "-128 -128 -64" "maxs" "128 128 64" "teamnum" "2" "disablebonefollowers" "1" "disableshadows" "1" "startdisabled" "1" } info_particle_system { "targetname" "TeleporterExitParticle" "origin" "-3694 3778 608" "effect_name" "teleporter_red_charged_level3" "start_active" "0" } info_particle_system { "targetname" "TeleporterExitParticle" "origin" "-3694 3778 608" "effect_name" "teleporter_red_entrance_disc" "start_active" "0" } } Wave6RocketTerminalsPT { RemoveIfKilled "RocketTerminalButton" func_button { "targetname" "RocketTerminalButton" "origin" "-2387 1168 558" "mins" "-24 -24 -24" "maxs" "24 24 24" "wait" "-1" "spawnflags" "512" "disablebonefollowers" "1" "disableshadows" "1" "OnPressed" "tf_gamerules,PlayVO,ui/quest_decode.wav,0,-1" "OnPressed" "RocketTerminalButtonGlowTimer,Disable,,0,-1" "OnPressed" "RocketTerminalButtonGlow,Disable,,0,-1" "OnPressed" "RocketTerminalButtonGlowTimer2,Enable,,0,-1" "OnPressed" "RocketTerminalButton2,Unlock,,0,-1" } logic_timer { "targetname" "RocketTerminalButtonGlowTimer" "RefireTime" "1" "startdisabled" "1" "OnTimer" "RocketTerminalButtonGlow,Enable,,0,-1" "OnTimer" "RocketTerminalButtonGlow,Disable,,0.5,-1" } tf_glow { "targetname" "RocketTerminalButtonGlow" "target" "rocket_terminal1" "GlowColor" "255 255 255 255" "startdisabled" "1" } func_button { "targetname" "RocketTerminalButton2" "origin" "-2404 1247 560" "mins" "-24 -24 -24" "maxs" "24 24 24" "wait" "-1" "spawnflags" "2560" "disablebonefollowers" "1" "disableshadows" "1" "OnPressed" "tf_gamerules,PlayVO,ui/quest_decode.wav,0,-1" "OnPressed" "RocketTerminalButtonGlowTimer2,Disable,,0,-1" "OnPressed" "RocketTerminalButtonGlow2,Disable,,0,-1" "OnPressed" "RocketTerminalButtonGlowTimer3,Enable,,0,-1" "OnPressed" "RocketTerminalButton3,Unlock,,0,-1" } logic_timer { "targetname" "RocketTerminalButtonGlowTimer2" "RefireTime" "1" "startdisabled" "1" "OnTimer" "RocketTerminalButtonGlow2,Enable,,0,-1" "OnTimer" "RocketTerminalButtonGlow2,Disable,,0.5,-1" } tf_glow { "targetname" "RocketTerminalButtonGlow2" "target" "rocket_terminal2" "GlowColor" "255 255 255 255" "startdisabled" "1" } func_button { "targetname" "RocketTerminalButton3" "origin" "-2458 686 563" "mins" "-24 -24 -24" "maxs" "24 24 24" "wait" "-1" "spawnflags" "2560" "disablebonefollowers" "1" "disableshadows" "1" "OnPressed" "tf_gamerules,PlayVO,ui/quest_decode.wav,0,-1" "OnPressed" "RocketTerminalButtonGlowTimer3,Disable,,0,-1" "OnPressed" "RocketTerminalButtonGlow3,Disable,,0,-1" "OnPressed" "rocket_lower_relay,Trigger,,0,-1" "OnPressed" "australiumtank,Kill,,33.9,-1" "OnPressed" "tf_gamerules,$FinishWave,,34,-1" } logic_timer { "targetname" "RocketTerminalButtonGlowTimer3" "RefireTime" "1" "startdisabled" "1" "OnTimer" "RocketTerminalButtonGlow3,Enable,,0,-1" "OnTimer" "RocketTerminalButtonGlow3,Disable,,0.5,-1" } tf_glow { "targetname" "RocketTerminalButtonGlow3" "target" "rocket_terminal2" "GlowColor" "255 255 255 255" "startdisabled" "1" } } //// WAVE 7 PTs //// Wave7PT { OnSpawnOutput { Target BigNet Action RunScriptCode Param " IncludeScript(`textualtimer_v3`) TextualTimer.SetParams({ minutes = 7 seconds = 30 x = -1 y = 0.77 text_prepend = `ROCKET FUELING: ` color = `0 255 255` relayname = `HoldoutVictoryRelay` }) " } logic_relay { "targetname" "Wave7SetupRelay" "OnTrigger" "silo_door_close,Trigger,,0,-1" "OnTrigger" "BigNetRunScriptCodeNetProps.SetPropString(Entities.FindByClassname(null, `tf_objective_resource`), `m_iszMvMPopfileName`, `Termination - Total Teardown`)0-1" "OnTrigger" "BigNetRunScriptCodePrecacheSound(`ui/quest_alert.wav`);EmitSoundEx({sound_name=`ui/quest_alert.wav`,special_dsp = 55,filter_type=5})31" "OnTrigger" "BigNetRunScriptCodeEmitSoundEx({sound_name=`termination/act4/wave7-7/saxtonhalevoicelines/saxton_hale_rocketfuelling.mp3`,channel = 6,special_dsp = 55,filter_type=5})4.41" "OnTrigger" "BigNetRunScriptCodeEmitSoundEx({sound_name=`termination/act4/wave7-7/saxtonhalevoicelines/saxton_hale_rocketfuelling.mp3`,channel = 6,special_dsp = 55,filter_type=5})4.41" "OnTrigger" "BigNetRunScriptCodeEmitSoundEx({sound_name=`termination/act4/wave7-7/saxtonhalevoicelines/saxton_hale_rocketfuelling.mp3`,channel = 6,special_dsp = 55,filter_type=5})4.41" "OnTrigger" "Player,$DisplayTextChat,{ffb84d}Saxton Hale{reset}: We're on the home stretch now boys! Our Engibot's getting the rocket fuelled and ready to transport our Australium.,4.4,-1" "OnTrigger" "Player,$DisplayTextChat,{ffb84d}Saxton Hale{reset}: It's an estimated 7 and a half minutes until it's prepped so use that time to clear out the meagre cannon fodder {d9d9d9}Gray Mann{reset}'s throwing at you!,9.4,-1" } logic_timer { "targetname" "VoicelineSuppressorTimer" "RefireTime" "0.5" "OnTimer" "Act4IntroVoicelineRelay*,CancelPending,,0,-1" "OnTimer" "Act4IntroVoicelineRelay*,Kill,,0.1,-1" } logic_relay { "targetname" "Wave7StartRelay" "OnTrigger" "BigNet,RunScriptCode,MusicSystemMent.SetMusicTrack(`#termination/act4/wave7-7/music/termination_t_minus.mp3`),0,-1" "OnTrigger" "Player,$DisplayTextChat,{yellow}[ Now Playing: {6383ff} T-Minus - OrangeGlazer {yellow}],0,-1" } logic_relay { "targetname" "SubwaveWarningRelay" "OnTrigger" "tf_gamerules,PlayVO,mvm/mvm_warning.wav,0,-1" "OnTrigger" "tf_gamerules,PlayVO,mvm/mvm_warning.wav,0,-1" "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" "PlayerRunScriptCodeScreenFade(null, 255, 0, 0, 20, 0.3, 0.25, 1)0.05-1" "OnTrigger" "PlayerRunScriptCodeScreenFade(null, 255, 0, 0, 20, 0.3, 0.25, 1)0.75-1" "OnTrigger" "PlayerRunScriptCodeScreenFade(null, 255, 0, 0, 20, 0.3, 0.25, 1)1.45-1" "OnTrigger" "PlayerRunScriptCodeScreenFade(null, 255, 0, 0, 20, 0.3, 0.25, 1)2.15-1" } logic_relay { "targetname" "Wave7FirstQuarterRelay" "OnTrigger" "BigNetRunScriptCodePrecacheSound(`ui/quest_alert.wav`);EmitSoundEx({sound_name=`ui/quest_alert.wav`,special_dsp = 55,filter_type=5})01" "OnTrigger" "BigNetRunScriptCodeEmitSoundEx({sound_name=`termination/act4/wave7-7/saxtonhalevoicelines/saxton_hale_holdoutfirstquarter.mp3`,channel = 6,special_dsp = 55,filter_type=5})1.41" "OnTrigger" "BigNetRunScriptCodeEmitSoundEx({sound_name=`termination/act4/wave7-7/saxtonhalevoicelines/saxton_hale_holdoutfirstquarter.mp3`,channel = 6,special_dsp = 55,filter_type=5})1.41" "OnTrigger" "BigNetRunScriptCodeEmitSoundEx({sound_name=`termination/act4/wave7-7/saxtonhalevoicelines/saxton_hale_holdoutfirstquarter.mp3`,channel = 6,special_dsp = 55,filter_type=5})1.41" "OnTrigger" "Player,$DisplayTextChat,{ffb84d}Saxton Hale{reset}: You're a quarter of the way there!,1.4,-1" } logic_relay { "targetname" "Wave7SecondQuarterRelay" "OnTrigger" "BigNetRunScriptCodePrecacheSound(`ui/quest_alert.wav`);EmitSoundEx({sound_name=`ui/quest_alert.wav`,special_dsp = 55,filter_type=5})01" "OnTrigger" "BigNetRunScriptCodeEmitSoundEx({sound_name=`termination/act4/wave7-7/saxtonhalevoicelines/saxton_hale_holdoutsecondquarter.mp3`,channel = 6,special_dsp = 55,filter_type=5})1.41" "OnTrigger" "BigNetRunScriptCodeEmitSoundEx({sound_name=`termination/act4/wave7-7/saxtonhalevoicelines/saxton_hale_holdoutsecondquarter.mp3`,channel = 6,special_dsp = 55,filter_type=5})1.41" "OnTrigger" "BigNetRunScriptCodeEmitSoundEx({sound_name=`termination/act4/wave7-7/saxtonhalevoicelines/saxton_hale_holdoutsecondquarter.mp3`,channel = 6,special_dsp = 55,filter_type=5})1.41" "OnTrigger" "Player,$DisplayTextChat,{ffb84d}Saxton Hale{reset}: You're at the halfway point! {d9d9d9}Gray Mann{reset}'s clearly lost his mind if he's sending this scrap metal at you.,1.4,-1" } logic_relay { "targetname" "Wave7ThirdQuarterRelay" "OnTrigger" "BigNetRunScriptCodePrecacheSound(`ui/quest_alert.wav`);EmitSoundEx({sound_name=`ui/quest_alert.wav`,special_dsp = 55,filter_type=5})01" "OnTrigger" "BigNetRunScriptCodeEmitSoundEx({sound_name=`termination/act4/wave7-7/saxtonhalevoicelines/saxton_hale_holdoutthirdquarter.mp3`,channel = 6,special_dsp = 55,filter_type=5})1.41" "OnTrigger" "BigNetRunScriptCodeEmitSoundEx({sound_name=`termination/act4/wave7-7/saxtonhalevoicelines/saxton_hale_holdoutthirdquarter.mp3`,channel = 6,special_dsp = 55,filter_type=5})1.41" "OnTrigger" "BigNetRunScriptCodeEmitSoundEx({sound_name=`termination/act4/wave7-7/saxtonhalevoicelines/saxton_hale_holdoutthirdquarter.mp3`,channel = 6,special_dsp = 55,filter_type=5})1.41" "OnTrigger" "Player,$DisplayTextChat,{ffb84d}Saxton Hale{reset}: Three quarters of the way lads! Drinks are on me for this heist!,1.4,-1" } logic_relay { "targetname" "Wave7GoliathFootstepsRelay" "OnTrigger" "BigNetRunScriptCodeEmitSoundEx({sound_name=`termination/act4/wave7-7/sfx/goliath_waterstep2.mp3`,channel = 6,volume = 0.2,filter_type=5})01" "OnTrigger" "PlayerRunScriptCodeScreenShake(self.GetOrigin(), 5, 8, 2, 50000, 0, true)1.5-1" "OnTrigger" "BigNetRunScriptCodeEmitSoundEx({sound_name=`termination/act4/wave7-7/sfx/goliath_waterstep.mp3`,channel = 6,volume = 0.2,filter_type=5})7.421" "OnTrigger" "PlayerRunScriptCodeScreenShake(self.GetOrigin(), 5, 8, 2, 50000, 0, true)8.9-1" "OnTrigger" "BigNetRunScriptCodeEmitSoundEx({sound_name=`termination/act4/wave7-7/sfx/goliath_waterstep3.mp3`,channel = 6,volume = 0.2,filter_type=5})14.791" "OnTrigger" "PlayerRunScriptCodeScreenShake(self.GetOrigin(), 5, 8, 2, 50000, 0, true)16.32-1" "OnTrigger" "BigNetRunScriptCodeEmitSoundEx({sound_name=`termination/act4/wave7-7/sfx/goliath_waterstep2.mp3`,channel = 6,volume = 0.4,filter_type=5})22.191" "OnTrigger" "PlayerRunScriptCodeScreenShake(self.GetOrigin(), 10, 8, 2, 50000, 0, true)23.70-1" "OnTrigger" "BigNetRunScriptCodeEmitSoundEx({sound_name=`termination/act4/wave7-7/sfx/goliath_waterstep3.mp3`,channel = 6,volume = 0.4,filter_type=5})29.541" "OnTrigger" "PlayerRunScriptCodeScreenShake(self.GetOrigin(), 10, 8, 2, 50000, 0, true)31.05-1" "OnTrigger" "BigNetRunScriptCodeEmitSoundEx({sound_name=`termination/act4/wave7-7/sfx/goliath_waterstep5.mp3`,channel = 6,volume = 0.4,filter_type=5})36.931" "OnTrigger" "PlayerRunScriptCodeScreenShake(self.GetOrigin(), 10, 8, 2, 50000, 0, true)38.45-1" "OnTrigger" "BigNetRunScriptCodeEmitSoundEx({sound_name=`termination/act4/wave7-7/sfx/goliath_waterstep.mp3`,channel = 6,volume = 0.6,filter_type=5})44.331" "OnTrigger" "PlayerRunScriptCodeScreenShake(self.GetOrigin(), 15, 8, 2, 50000, 0, true)45.80-1" "OnTrigger" "BigNetRunScriptCodeEmitSoundEx({sound_name=`termination/act4/wave7-7/sfx/goliath_waterstep4.mp3`,channel = 6,volume = 0.6,filter_type=5})51.681" "OnTrigger" "PlayerRunScriptCodeScreenShake(self.GetOrigin(), 15, 8, 2, 50000, 0, true)53.20-1" "OnTrigger" "BigNetRunScriptCodeEmitSoundEx({sound_name=`termination/act4/wave7-7/sfx/goliath_waterstep3.mp3`,channel = 6,volume = 0.6,filter_type=5})59.091" "OnTrigger" "PlayerRunScriptCodeScreenShake(self.GetOrigin(), 15, 8, 2, 50000, 0, true)60.60-1" "OnTrigger" "BigNetRunScriptCodeEmitSoundEx({sound_name=`termination/act4/wave7-7/sfx/goliath_waterstep2.mp3`,channel = 6,volume = 0.8,filter_type=5})66.501" "OnTrigger" "PlayerRunScriptCodeScreenShake(self.GetOrigin(), 20, 8, 2, 50000, 0, true)68.00-1" "OnTrigger" "BigNetRunScriptCodeEmitSoundEx({sound_name=`termination/act4/wave7-7/sfx/goliath_waterstep4.mp3`,channel = 6,volume = 0.8,filter_type=5})73.831" "OnTrigger" "PlayerRunScriptCodeScreenShake(self.GetOrigin(), 20, 8, 2, 50000, 0, true)75.35-1" "OnTrigger" "BigNetRunScriptCodeEmitSoundEx({sound_name=`termination/act4/wave7-7/sfx/goliath_waterstep2.mp3`,channel = 6,volume = 0.8,filter_type=5})81.241" "OnTrigger" "PlayerRunScriptCodeScreenShake(self.GetOrigin(), 20, 8, 2, 50000, 0, true)82.75-1" "OnTrigger" "BigNetRunScriptCodeEmitSoundEx({sound_name=`termination/act4/wave7-7/sfx/goliath_waterstep5.mp3`,channel = 6,volume = 1,filter_type=5})88.621" "OnTrigger" "PlayerRunScriptCodeScreenShake(self.GetOrigin(), 25, 8, 2, 50000, 0, true)90.15-1" "OnTrigger" "BigNetRunScriptCodeEmitSoundEx({sound_name=`termination/act4/wave7-7/sfx/goliath_waterstep.mp3`,channel = 6,volume = 1,filter_type=5})96.071" "OnTrigger" "PlayerRunScriptCodeScreenShake(self.GetOrigin(), 25, 8, 2, 50000, 0, true)97.55-1" "OnTrigger" "BigNetRunScriptCodeEmitSoundEx({sound_name=`termination/act4/wave7-7/sfx/goliath_waterstep2.mp3`,channel = 6,volume = 1,filter_type=5})103.451" "OnTrigger" "PlayerRunScriptCodeScreenShake(self.GetOrigin(), 25, 8, 2, 50000, 0, true)104.95-1" "OnTrigger" "BigNetRunScriptCodeEmitSoundEx({sound_name=`termination/act4/wave7-7/sfx/goliath_waterstep3.mp3`,channel = 6,volume = 1,filter_type=5})110.791" "OnTrigger" "PlayerRunScriptCodeScreenShake(self.GetOrigin(), 25, 8, 2, 50000, 0, true)112.30-1" "OnTrigger" "BigNetRunScriptCodeEmitSoundEx({sound_name=`termination/act4/wave7-7/sfx/goliath_waterstep5.mp3`,channel = 6,volume = 1,filter_type=5})118.181" "OnTrigger" "PlayerRunScriptCodeScreenShake(self.GetOrigin(), 25, 8, 2, 50000, 0, true)119.70-1" } logic_relay { "targetname" "ParachuteRelay" "OnTrigger" "breakable_window_1,Break,,0,-1" "OnTrigger" "tf_gamerules,PlayVO,physics/glass/glass_largesheet_break1.wav,0,-1" "OnTrigger" "tf_gamerules,PlayVO,weapons/buff_banner_flag.wav,1.5,-1" "OnTrigger" "tf_gamerules,PlayVO,items/para_open.wav,2.5,-1" "OnTrigger" "tf_gamerules,PlayVO,vo/mvm/norm/soldier_mvm_battlecry06.mp3,2.5,-1" "OnTrigger" "tf_gamerules,PlayVO,vo/mvm/norm/soldier_mvm_battlecry06.mp3,2.5,-1" } logic_relay { "targetname" "HoldoutVictoryRelay" "OnTrigger" "BigNetRunScriptCodeMusicSystemMent.SetMusicTrack(``, 0.5, 0.5)0-1" "OnTrigger" "pop_interface,PauseBotSpawning,,0,-1" "OnTrigger" "tank_boss*,RemoveHealth,1000000,0,-1" "OnTrigger" "RobotStunTrigger,Enable,,0,-1" "OnTrigger" "RobotStunTrigger,Disable,,0.1,-1" "OnTrigger" "pop_interface,$CollectCash,,5,-1" "OnTrigger" "tf_gamerules,$FinishWave,,5,-1" "OnTrigger" "pop_interface,UnpauseBotSpawning,,5,-1" } trigger_multiple { "targetname" "RobotStunTrigger" "filtername" "blue_team_filter" "origin" "0 0 0" "mins" "-15000 -15000 -15000" "maxs" "15000 15000 15000" "spawnflags" "1" "disablebonefollowers" "1" "disableshadows" "1" "startdisabled" "1" "OnStartTouch" "RobotStunRelay,Trigger,,0,-1" } logic_relay { "targetname" "RobotStunRelay" "OnTrigger" "!activator,$AddCond,71 100,0,-1" "OnTrigger" "RobotDeathCase,PickRandomShuffle,,2,-1" } logic_case { "targetname" "RobotDeathCase" "OnCase01" "!activator,$Suicide,,0,-1" "OnCase02" "!activator,$Suicide,,0.33,-1" "OnCase03" "!activator,$Suicide,,0.66,-1" "OnCase04" "!activator,$Suicide,,0.99,-1" "OnCase05" "!activator,$Suicide,,1.33,-1" } } Wave7AustraliumTankPT { prop_dynamic { "targetname" "AustraliumTankProp" "origin" "-2155 1042 688" "angles" "0 180 0" "model" "models/robot_factory/australium_tank.mdl" "defaultanim" "movement" "solid" "6" "disablebonefollowers" "1" "disableshadows" "1" } prop_dynamic_ornament { "targetname" "AustraliumTankTrack" "InitialOwner" "AustraliumTankProp" "model" "models/bots/boss_bot/tankred_track_l.mdl" "disablebonefollowers" "1" "disableshadows" "1" } prop_dynamic_ornament { "targetname" "AustraliumTankTrack" "InitialOwner" "AustraliumTankProp" "model" "models/bots/boss_bot/tankred_track_r.mdl" "disablebonefollowers" "1" "disableshadows" "1" } } //// PLAYER PTs //// PlayerVoicelinePT { OnSpawnOutput { Target Act4IntroVoicelineRelay Action Trigger } logic_relay { "targetname" "Act4IntroVoicelineRelay" "OnTrigger" "!activatorRunScriptCodePrecacheSound(`ui/quest_alert.wav`);EmitSoundEx({sound_name=`ui/quest_alert.wav`,special_dsp = 55,filter_type=4,entity=activator})31" "OnTrigger" "!activatorRunScriptCodeEmitSoundEx({sound_name=`termination/act4/wave6-7/saxtonhalevoicelines/saxton_hale_intro1.mp3`,channel = 6,special_dsp = 55,filter_type=4,entity=activator})4.41" "OnTrigger" "!activatorRunScriptCodeEmitSoundEx({sound_name=`termination/act4/wave6-7/saxtonhalevoicelines/saxton_hale_intro1.mp3`,channel = 6,special_dsp = 55,filter_type=4,entity=activator})4.41" "OnTrigger" "!activatorRunScriptCodeEmitSoundEx({sound_name=`termination/act4/wave6-7/saxtonhalevoicelines/saxton_hale_intro1.mp3`,channel = 6,special_dsp = 55,filter_type=4,entity=activator})4.41" "OnTrigger" "!activator,$DisplayTextChat,{ffb84d}Saxton Hale{reset}: Great work taking out that prototype! I don't think {d9d9d9}Gray Mann{reset}'s got anything up his sleeve now.,4.4,-1" "OnTrigger" "!activatorRunScriptCodeEmitSoundEx({sound_name=`termination/act4/wave6-7/saxtonhalevoicelines/saxton_hale_intro2.mp3`,channel = 6,special_dsp = 55,filter_type=4,entity=activator})14.41" "OnTrigger" "!activatorRunScriptCodeEmitSoundEx({sound_name=`termination/act4/wave6-7/saxtonhalevoicelines/saxton_hale_intro2.mp3`,channel = 6,special_dsp = 55,filter_type=4,entity=activator})14.41" "OnTrigger" "!activatorRunScriptCodeEmitSoundEx({sound_name=`termination/act4/wave6-7/saxtonhalevoicelines/saxton_hale_intro2.mp3`,channel = 6,special_dsp = 55,filter_type=4,entity=activator})14.41" "OnTrigger" "!activator,$DisplayTextChat,{ffb84d}Saxton Hale{reset}: It'll be smooth sailing from here! With this Australium we'll load it onto that ol' rocket on the other end and send it packing to a safe location.,14.4,-1" } } //// ROBOT PTs //// // Australium Tank AustraliumTankPT { prop_dynamic { "targetname" "AustraliumTankBeamPoint" "origin" "0 0 120" "model" "models/empty.mdl" "disablebonefollowers" "1" "disableshadows" "1" } logic_relay { "targetname" "PatrolChiefBeamReleaseRelay" "OnTrigger" "tf_gamerules,PlayVO,misc/halloween/spell_spawn_boss_disappear.wav,0,-1" "OnTrigger" "AustraliumTankBeamEffect,$SetKey$renderfx,6,0,-1" "OnTrigger" "AustraliumTankBeamEffect,Disable,,1.5,-1" "OnTrigger" "AustraliumTankBeamEffect,$SetKey$renderfx,24,1.5,-1" "OnTrigger" "australiumtank,SetSpeed,60,1.5,-1" } prop_dynamic { "targetname" "AustraliumTankBeamEffect" "origin" "0 0 0" "model" "models/props_tumb/mvm/tank_shield.mdl" "skin" "2" "renderfx" "24" "disablebonefollowers" "1" "disableshadows" "1" "startdisabled" "1" } dispenser_touch_trigger { "targetname" "AustraliumTankDispenserZone" "mins" "-300 -200 -60" "maxs" "300 200 60" } mapobj_cart_dispenser { "targetname" "AustraliumTankDispenser" "TeamNum" "2" "touch_trigger" "AustraliumTankDispenserZone" } } AustraliumTankGasCanCounterPT { RemoveIfKilled "GasCanCounter" logic_relay { "targetname" "AustraliumTankTurboChargeObjectiveRelay" "OnTrigger" "BigNetRunScriptCodePrecacheSound(`ui/quest_alert.wav`);EmitSoundEx({sound_name=`ui/quest_alert.wav`,special_dsp = 55,filter_type=5})01" "OnTrigger" "BigNetRunScriptCodeEmitSoundEx({sound_name=`termination/act4/wave6-7/saxtonhalevoicelines/saxton_hale_turbocharge.mp3`,channel = 6,special_dsp = 55,filter_type=5})1.41" "OnTrigger" "BigNetRunScriptCodeEmitSoundEx({sound_name=`termination/act4/wave6-7/saxtonhalevoicelines/saxton_hale_turbocharge.mp3`,channel = 6,special_dsp = 55,filter_type=5})1.41" "OnTrigger" "BigNetRunScriptCodeEmitSoundEx({sound_name=`termination/act4/wave6-7/saxtonhalevoicelines/saxton_hale_turbocharge.mp3`,channel = 6,special_dsp = 55,filter_type=5})1.41" "OnTrigger" "Player,$DisplayTextChat,{ffb84d}Saxton Hale{reset}: Now that's what we're looking for! That gas will turbo-charge the Australium Tank! We'll need a lot of that stuff to juice up this tank and PUNCH that door wide open!,1.4,-1" "OnTrigger" "Player,$DisplayTextHint,TURBO-CHARGE THE AUSTRALIUM TANK,5,-1" "OnTrigger" "pop_interface,$ResumeWaveSpawn,Wave6_Subwave4_Trigger,5,-1" } logic_relay { "targetname" "AustraliumTankTurboChargeRelay" "OnTrigger" "GasCanIndicator,Disable,,0,-1" "OnTrigger" "GasCanIndicator,SetColor,0 0 0 0,0,-1" "OnTrigger" "tf_gamerules,PlayVO,vo/mvm/norm/engineer_mvm_sentrypacking03.mp3,0,-1" "OnTrigger" "tf_gamerules,PlayVO,vo/mvm/norm/engineer_mvm_sentrypacking03.mp3,0,-1" "OnTrigger" "tf_gamerules,PlayVO,vo/mvm/norm/engineer_mvm_gunslingertriplepunchfinal01.mp3,1.5,-1" "OnTrigger" "tf_gamerules,PlayVO,vo/mvm/norm/engineer_mvm_gunslingertriplepunchfinal01.mp3,1.5,-1" "OnTrigger" "tf_gamerules,PlayVO,ambient/alarms/razortrain_horn1.wav,2,-1" "OnTrigger" "australiumtank,SetSpeed,200,5,-1" "OnTrigger" "05_door_unlock_relay,Trigger,,5.6,-1" "OnTrigger" "05_door,Kill,,5.65,-1" "OnTrigger" "PlayerRunScriptCodeScreenShake(self.GetOrigin(), 40, 16, 2, 50000, 0, true)5.65-1" "OnTrigger" "tf_gamerules,PlayVO,plats/tram_hit4.wav,5.65,-1" "OnTrigger" "tf_gamerules,PlayVO,physics/metal/metal_large_debris2.wav,5.65,-1" "OnTrigger" "PlayerDoor05ForcefieldParticle,Start,,5.65,-1" "OnTrigger" "australiumtank,SetSpeed,60,10,-1" "OnTrigger" "PlayerMainForcefield,Kill,,10,-1" "OnTrigger" "GasCanCounter,Kill,,10.1,-1" } math_counter { "targetname" "GasCanCounter" "startvalue" "0" "min" "0" "max" "12" "OutValue" "GasCanCounterDisplay,InValue,,0,-1" "OutValue" "tf_gamerules,PlayVO,ui/killsound_beepo.wav,0,-1" "OnHitMax" "AustraliumTankTurboChargeRelay,Trigger,,0,-1" } logic_case { "targetname" "GasCanCounterDisplay" "Case01" "1" "Case02" "2" "Case03" "3" "Case04" "4" "Case05" "5" "Case06" "6" "Case07" "7" "Case08" "8" "Case09" "9" "Case10" "10" "Case11" "11" "Case12" "12" "OnCase01" "AustraliumTankTurboChargeObjectiveRelay,Trigger,,0,-1" "OnCase01" "GasCanCounterText,SetText, x 11,0,-1" "OnCase02" "GasCanCounterText,SetText, x 10,0,-1" "OnCase03" "GasCanCounterText,SetText, x 9,0,-1" "OnCase04" "GasCanCounterText,SetText, x 8,0,-1" "OnCase05" "GasCanCounterText,SetText, x 7,0,-1" "OnCase06" "GasCanCounterText,SetText, x 6,0,-1" "OnCase07" "GasCanCounterText,SetText, x 5,0,-1" "OnCase08" "GasCanCounterText,SetText, x 4,0,-1" "OnCase09" "GasCanCounterText,SetText, x 3,0,-1" "OnCase10" "GasCanCounterText,SetText, x 2,0,-1" "OnCase11" "GasCanCounterText,SetText, x 1,0,-1" } point_worldtext { "targetname" "GasCanCounterText" "origin" "0 0 170" "message" " x 12" "font" "1" "textsize" "24" "orientation" "1" "color" "255 255 255 255" } prop_dynamic { "targetname" "GasCanIndicator" "parentname" "GasCanRotator" "origin" "0 0 200" "angles" "90 0 0" "model" "models/weapons/c_models/c_gascan/c_gascan.mdl" "modelscale" "1.5" "renderfx" "15" "disablebonefollowers" "1" "disableshadows" "1" } func_rotating { "targetname" "GasCanRotator" "origin" "0 0 200" "speed" "100" "maxspeed" "100" "fanfriction" "0" "dmg" "0" "spawnflags" "65" "disablebonefollowers" "1" "disableshadows" "1" } func_flagdetectionzone { "targetname" "GasCanDepositZone" "mins" "-300 -200 -60" "maxs" "300 200 60" "disablebonefollowers" "1" "disableshadows" "1" "OnStartTouchFlag" "GasCanDeposit,Enable,,0,-1" "OnStartTouchFlag" "GasCanDeposit,Disable,,0.1,-1" "OnStartTouchFlag" "!activatorRunScriptCodeClientPrint(self, 4, `YOU DEPOSITED A NITRO CAN!`)0-1" "OnStartTouchFlag" "!activator,$PlaySoundToSelf,gas_can_inspect_movement1.wav,0,-1" "OnStartTouchFlag" "!activator,$PlaySoundToSelf,gas_can_inspect_movement1.wav,0,-1" } func_respawnflag { "targetname" "GasCanDeposit" "mins" "-300 -200 -60" "maxs" "300 200 60" "ReturnTime" "15" "disablebonefollowers" "1" "disableshadows" "1" "startdisabled" "1" } } // Patrol Chief Heavy PatrolChiefHeavyPT { logic_relay { "targetname" "PatrolChiefHeavyBeamRelay" "OnTrigger" "PatrolChiefHeavyBeamSustainRelay,Trigger,,0,-1" "OnTrigger" "australiumtank,SetSpeed,5,0,-1" "OnTrigger" "tf_gamerules,PlayVO,termination/act4/wave6-7/sfx/patrol_chief_beam.mp3,0,-1" "OnTrigger" "tf_gamerules,PlayVO,items/powerup_pickup_supernova.wav,0,-1" "OnTrigger" "PlayerRunScriptCodeScreenShake(self.GetOrigin(), 5, 5, 2, 50000, 0, true)0-1" "OnTrigger" "AustraliumTankBeamEffect,Enable,,0,-1" "OnTrigger" "!activator,$PlaySequence,taunt_burstchester_heavy,0,-1" "OnTrigger" "!activator,$PlaySequence,run_PRIMARY,2,-1" } logic_relay { "targetname" "PatrolChiefHeavyBeamSustainRelay" "OnTrigger" "PatrolChiefHeavyBeam,StrikeOnce,,0,-1" "OnTrigger" "PatrolChiefHeavyBeamSustainRelay,Trigger,,0.15,-1" "spawnflags" "2" } env_beam { "targetname" "PatrolChiefHeavyBeam" "LightningStart" "PatrolChiefHeavyBeamStart" "LightningEnd" "AustraliumTankBeamPoint" "texture" "sprites/laserbeam.spr" "BoltWidth" "10" "life" "0.16" "renderamt" "200" "rendercolor" "200 200 255" "NoiseAmplitude" "1" "spawnflags" "96" } prop_dynamic { "targetname" "PatrolChiefHeavyBeamStart" "origin" "0 0 120" "model" "models/empty.mdl" "disablebonefollowers" "1" "disableshadows" "1" } } // Patrol Chief Pyro PatrolChiefPyroPT { logic_relay { "targetname" "PatrolChiefPyroBeamRelay" "OnTrigger" "PatrolChiefPyroBeamSustainRelay,Trigger,,0,-1" "OnTrigger" "australiumtank,SetSpeed,5,0,-1" "OnTrigger" "tf_gamerules,PlayVO,termination/act4/wave6-7/sfx/patrol_chief_beam.mp3,0,-1" "OnTrigger" "tf_gamerules,PlayVO,items/powerup_pickup_supernova.wav,0,-1" "OnTrigger" "PlayerRunScriptCodeScreenShake(self.GetOrigin(), 5, 5, 2, 50000, 0, true)0-1" "OnTrigger" "AustraliumTankBeamEffect,Enable,,0,-1" "OnTrigger" "!activator,$PlaySequence,taunt_burstchester_pyro,0,-1" "OnTrigger" "!activator,$PlaySequence,run_PRIMARY,2,-1" } logic_relay { "targetname" "PatrolChiefPyroBeamSustainRelay" "OnTrigger" "PatrolChiefPyroBeam,StrikeOnce,,0,-1" "OnTrigger" "PatrolChiefPyroBeamSustainRelay,Trigger,,0.15,-1" "spawnflags" "2" } env_beam { "targetname" "PatrolChiefPyroBeam" "LightningStart" "PatrolChiefPyroBeamStart" "LightningEnd" "AustraliumTankBeamPoint" "texture" "sprites/laserbeam.spr" "BoltWidth" "10" "life" "0.16" "renderamt" "200" "rendercolor" "200 200 255" "NoiseAmplitude" "1" "spawnflags" "96" } prop_dynamic { "targetname" "PatrolChiefPyroBeamStart" "origin" "0 0 120" "model" "models/empty.mdl" "disablebonefollowers" "1" "disableshadows" "1" } } // Patrol Chief Demo PatrolChiefDemoPT { logic_relay { "targetname" "PatrolChiefDemoBeamRelay" "OnTrigger" "PatrolChiefDemoBeamSustainRelay,Trigger,,0,-1" "OnTrigger" "australiumtank,SetSpeed,0,0,-1" "OnTrigger" "tf_gamerules,PlayVO,termination/act4/wave6-7/sfx/patrol_chief_beam.mp3,0,-1" "OnTrigger" "tf_gamerules,PlayVO,items/powerup_pickup_supernova.wav,0,-1" "OnTrigger" "PlayerRunScriptCodeScreenShake(self.GetOrigin(), 5, 5, 2, 50000, 0, true)0-1" "OnTrigger" "AustraliumTankBeamEffect,Enable,,0,-1" "OnTrigger" "!activator,$PlaySequence,taunt_burstchester_demo,0,-1" "OnTrigger" "!activator,$PlaySequence,run_PRIMARY,2,-1" } logic_relay { "targetname" "PatrolChiefDemoBeamSustainRelay" "OnTrigger" "PatrolChiefDemoBeam,StrikeOnce,,0,-1" "OnTrigger" "PatrolChiefDemoBeamSustainRelay,Trigger,,0.15,-1" "spawnflags" "2" } env_beam { "targetname" "PatrolChiefDemoBeam" "LightningStart" "PatrolChiefDemoBeamStart" "LightningEnd" "AustraliumTankBeamPoint" "texture" "sprites/laserbeam.spr" "BoltWidth" "10" "life" "0.16" "renderamt" "200" "rendercolor" "200 200 255" "NoiseAmplitude" "1" "spawnflags" "96" } prop_dynamic { "targetname" "PatrolChiefDemoBeamStart" "origin" "0 0 120" "model" "models/empty.mdl" "disablebonefollowers" "1" "disableshadows" "1" } } // Gas Can BotGasCanPT { KeepAlive 1 OnParentKilledOutput { Target GasCan Action Enable } OnParentKilledOutput { Target GasCan Action SetTeam Param 3 } OnParentKilledOutput { Target GasCanGlow Action Enable } item_teamflag { "targetname" "GasCan" "origin" "0 0 15" "angles" "-90 0 0" "flag_model" "models/weapons/c_models/c_gascan/c_gascan.mdl" "TeamNum" "2" "StartDisabled" "1" "OnPickup1" "!activatorRunScriptCodeClientPrint(self, 4, `YOU PICKED UP A NITRO CAN!`)01" "OnPickup1" "!activator,$PlaySoundToSelf,items/gunpickup2.wav,0,-1" "OnReturn" "GasCanCounter,Add,1,0,1" "OnReturn" "!self,Kill,,0.1,1" } tf_glow { "targetname" "GasCanGlow" "target" "GasCan" "GlowColor" "0 176 199 255" "startdisabled" "1" } } // Magma Pyro MagmaProjectilePT { KeepAlive 1 RemoveIfKilled "MagmaFireTarget" OnParentKilledOutput { Target MagmaFirePT Action ForceSpawnAtEntityOrigin Param "MagmaFireTarget" } OnParentKilledOutput { Target MagmaFireTarget Action Kill Delay 0.1 } info_target { "targetname" "MagmaFireTarget" } } MagmaFirePT { KeepAlive 1 RemoveIfKilled "MagmaFireDamage" OnSpawnOutput { Target MagmaFireParticle Action Start } OnSpawnOutput { Target MagmaFireDamage Action Kill Delay 5 } trigger_hurt { "targetname" "MagmaFireDamage" "filtername" "filter_redteam_nouber" "mins" "-60 -60 -60" "maxs" "60 60 60" "damage" "40" "damagetype" "8" "$killicon" "firedeath" "spawnflags" "64" "disablebonefollowers" "1" "disableshadows" "1" "OnHurtPlayer" "!activator,$IgnitePlayerDuration,5,0,-1" } info_particle_system { "targetname" "MagmaFireParticle" "effect_name" "lava_fireball_01" "start_active" "0" } } // Sticky Nuke StickyNukePT { RemoveIfKilled "StickyNukeHitbox" OnSpawnOutput { Target "StickyNukeRelay" Action "Trigger" } OnSpawnOutput { Target "StickyNukeIndicator" Action "$SetFakeParent" Param "StickyNukeHitbox" } OnSpawnOutput { Target "StickyNukeIndicator" Action "$SetLocalAngles" Param "0 0 0" Delay 0.05 } logic_relay { "targetname" "StickyNukeRelay" "OnTrigger" "tf_gamerules,PlayVO,items/cart_explode_trigger.wav,0.5,-1" "OnTrigger" "StickyNukeCharge,Start,,1,-1" "OnTrigger" "tf_gamerules,PlayVO,items/cart_explode_trigger.wav,1.5,-1" "OnTrigger" "tf_gamerules,PlayVO,items/cart_explode_trigger.wav,2.5,-1" "OnTrigger" "tf_gamerules,PlayVO,items/cart_explode_trigger.wav,3.5,-1" "OnTrigger" "tf_gamerules,PlayVO,items/bomb_warning.wav,5.3,-1" "OnTrigger" "tf_gamerules,$StopVO,items/bomb_warning.wav,6,-1" } obj_sentrygun { "targetname" "StickyNukeHitbox" "TeamNum" "3" "defaultupgrade" "2" "health" "1500" "SolidToPlayer" "0" "rendermode" "10" "$sentrymodelprefix" "models/weapons/w_models/w_stickybomb.mdl" "damagefilter" "filter_red" "OnDamaged" "Player,$DisplayTextCenter,$$=test(!caller.m_iHealth>1,'Nuke HP: '..string(max(!caller.m_iHealth, 0)),''),0,-1" "OnDamaged" "!parentRunScriptCodetry{if(caller.GetHealth()<1){self.Kill()}}catch(e){}0-1" } prop_dynamic { "targetname" "StickyNukeIndicator" "origin" "0 0 50" "model" "models/props_gameplay/cap_circle_768.mdl" "modelscale" "2" "$modules" "fakeparent" "$fakeparentoffset" "0 0 50" "disablebonefollowers" "1" "disableshadows" "1" } info_target { "targetname" "StickyNukeCharge" "origin" "0 0 0" "effect_name" "charge_up" "start_active" "0" } } } //// SPAWNED POINT TEMPLATES //// SpawnTemplate "CorePT" PlayerSpawnOnceTemplate "PlayerVoicelinePT" //// EXTRA TANK PATHS //// // Australium Tank Path ExtraTankPath { Name "tank_path_australium" Node "-2776 6656 712" Node "-2416 6656 712" Node "-2280 6600 712" Node "-2200 6464 712" Node "-2184 6240 720" Node "-2224 6048 728" Node "-2256 5984 728" Node "-2264 5872 728" Node "-2240 5720 728" Node "-2200 5608 728" Node "-2112 5536 728" Node "-2040 5496 728" Node "-1952 5472 728" Node "-2480 5848 728" Node "-2696 5936 736" Node "-3072 5944 736" Node "-3344 5944 736" Node "-4216 5920 560" Node "-4512 5880 560" Node "-4744 5736 560" Node "-4928 5568 560" Node "-5072 5400 560" Node "-5216 5152 560" Node "-5264 4936 560" Node "-5272 4696 560" Node "-5232 4488 552" Node "-5144 4280 552" Node "-5024 4048 560" Node "-4920 3880 560" Node "-4752 3712 560" Node "-4624 3568 560" Node "-4552 3400 552" Node "-4560 3192 552" Node "-4616 3040 552" Node "-4704 2856 552" Node "-4720 2672 552" Node "-4696 2512 552" Node "-4624 2336 560" Node "-4536 2160 560" Node "-4432 2024 560" Node "-4280 1912 552" Node "-4136 1872 560" Node "-3960 1912 560" Node "-3808 1992 560" Node "-3648 2104 560" Node "-3512 2192 560" Node "-3392 2256 560" Node "-3184 2328 560" Node "-3000 2328 560" Node "-2848 2264 560" Node "-2744 2128 560" Node "-2696 1984 560" Node "-2684 1885 560" Node "-2025 1224 560" Node "-1979 1196 560" Node "-1946 1149 560" Node "-1982 1085 560" Node "-2050 1040 560" Node "-2288 1040 560" } // Teleporter Throw Paths ExtraTankPath { Name "teleporterentrance" Node "-2177 5763 807" Node "-2215 5982 850" Node "-2259 6190 876" Node "-2298 6390 880" Node "-2342 6640 832" Node "-2390 6913 680" } ExtraTankPath { Name "teleporterexit" Node "-4473 3454 627" Node "-4267 3537 684" Node "-4083 3615 708" Node "-3903 3690 678" Node "-3694 3778 620" } // Ambush Tank Path ExtraTankPath { Name "tank_path_fury" Node "-3328 7040 704" Node "-3328 6656 704" Node "-3328 6608 704" Node "-3344 6560 704" Node "-3360 6528 704" Node "-3392 6512 704" Node "-3824 6512 704" Node "-3904 6512 704" Node "-3952 6480 704" Node "-4000 6432 704" Node "-4048 6352 704" Node "-4048 6208 704" Node "-4032 5520 560" } // Drill Tank Path ExtraTankPath { Name "tank_path_drill" Node "-5872 4176 576" Node "-5344 4304 576" Node "-5152 4176 576" Node "-4992 3984 560" Node "-4800 3776 560" Node "-4608 3568 560" Node "-4576 3152 560" Node "-4688 2976 560" Node "-4672 2352 560" Node "-4560 2080 560" Node "-4368 1920 560" Node "-4160 1824 560" Node "-3872 1888 560" Node "-3664 2032 544" Node "-3456 2240 544" Node "-3152 2304 544" Node "-1680 2304 560" } //// ROBOT TEMPLATES //// Templates { //// MINIBOSSES //// T_TFBot_Heavy_PatrolChief { Name "Patrol Chief H-74" Template T_TFBot_Giant_Heavyweapons ClassIcon heavy_head_nys Skill Normal Scale 2 Health 40000 Attributes UseBossHealthBar Action Mobber UseCustomModel "models/bots/heavy_boss/bot_heavy_boss_gibby.mdl" SpawnTemplate "PatrolChiefHeavyPT" Item "Lo-Fi Longwave" CharacterAttributes { "never gib" 1 "voice pitch scale" 0 } ItemAttributes { ItemName "TF_WEAPON_MINIGUN" "mod minigun can holster while spinning" 1 } ChangeAttributes { Name "Intro" Delay 0 Repeats 1 } EventChangeAttributes { Intro { FireInput { Target !self Action $SetLocalOrigin Param "-2307 8186 678" Delay -1 Repeats 1 } WeaponSwitch { Type "Melee" Delay 0 Repeats 1 Cooldown -1 } InterruptAction { Target "australiumtank" AimTarget "australiumtank" Delay 5 Duration 6 Repeats 1 Cooldown -1 } FireInput { Target "PatrolChiefHeavyBeamRelay" Action Trigger Delay 11 Repeats 1 Cooldown -1 } AddCond { Index 87 Delay 11 Duration 2 } WeaponSwitch { Type "Primary" Delay 13 Repeats 1 Cooldown -1 } ChangeAttributes { Name "Shotgun" Delay 0 Repeats 1 IfHealthBelow 25001 } } Shotgun { Skill Expert WeaponRestrictions SecondaryOnly ExtAttr IgnoreNPC ItemAttributes { ItemName "TF_WEAPON_SHOTGUN_HWG" "damage bonus" 1.65 "fire rate bonus" 0.15 "faster reload rate" 0.55 "clip size bonus" 1.5 "auto fires when full" 1 "auto fires full clip" 1 } ChangeAttributes { Name "BackToMinigun" Delay 0 Repeats 1 IfHealthBelow 15001 } } BackToMinigun { Skill Hard WeaponRestrictions PrimaryOnly ExtAttr IgnoreNPC } } } T_TFBot_Pyro_PatrolChief { Name "Patrol Chief P-33" Class Pyro ClassIcon pyro_degreaser_flare Skill Expert Scale 2 Health 30000 Attributes MiniBoss Attributes UseBossHealthBar Action Mobber UseCustomModel "models/bots/pyro_boss/bot_pyro_boss_gibby.mdl" SpawnTemplate "PatrolChiefPyroPT" Item "The Degreaser" Item "The Detonator" Item "The Axtinguisher" Item "Lo-Fi Longwave" CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.1 "airblast vulnerability multiplier" 0.1 "override footstep sound set" 6 "voice pitch scale" 0 "never gib" 1 } ChangeAttributes { Name "Intro" Delay 0 Repeats 1 } EventChangeAttributes { Intro { WeaponSwitch { Type "Melee" Delay 0 Repeats 1 Cooldown -1 } InterruptAction { Target "australiumtank" AimTarget "australiumtank" Delay 2 Duration 3 Repeats 1 Cooldown -1 } FireInput { Target "PatrolChiefPyroBeamRelay" Action Trigger Delay 5 Repeats 1 Cooldown -1 } AddCond { Index 87 Delay 5 Duration 2 } WeaponSwitch { Type "Primary" Delay 7 Repeats 1 Cooldown -1 } ChangeAttributes { Name "Combo" Delay 7 Repeats 1 } } Combo { ItemAttributes // Degreaser { ItemName "The Degreaser" "weapon burn dmg increased" 2 "flame_drag" 4 "max_flame_reflection_count" 1000 "flame_reflect_on_collision" 1000 "flame_spread_degree" 5 "flame_up_speed" -25 } ItemAttributes // Detonator { ItemName "The Detonator" "damage penalty" 0.4 "dmg pierces resists absorbs" 1 "fire rate penalty" 1.56 "reload time decreased" 0.2 "projectile speed increased" 0.5 "projectile spread angle penalty" 4 "mult projectile count" 8 "ignores other projectiles" 1 } ItemAttributes // Axtinguisher { ItemName "The Axtinguisher" "damage bonus" 1.33 "fire rate bonus" 0.9 "gesture speed increase" 1.5 "crit vs burning players" 1 "melee range multiplier" 2 } ChangeAttributes { Name "GasPasser" Delay 0 Repeats 1 IfHealthBelow 20001 } } GasPasser { WeaponRestrictions SecondaryOnly Item "The Gas Passer" ItemAttributes { ItemName "The Degreaser" "weapon burn dmg increased" 2 "flame_drag" 4 "max_flame_reflection_count" 1000 "flame_reflect_on_collision" 1000 "flame_spread_degree" 5 "flame_up_speed" -25 } ItemAttributes { ItemName "The Gas Passer" "dmg penalty vs players" 0.25 "fire rate penalty" 1.2 "item_meter_charge_rate" 1 "explode_on_ignite" 1 "projectile speed increased" 2 } ChangeAttributes { Name "DragonsFuryBurst" Delay 0 Repeats 1 IfHealthBelow 10001 } } DragonsFuryBurst { WeaponRestrictions PrimaryOnly MaxVisionRange 1000 Item "The Dragon's Fury" Item "TF_WEAPON_SHOTGUN_PYRO" ItemAttributes { ItemName "The Dragon's Fury" "damage bonus" 1.5 "item_meter_charge_rate" 0.125 } ItemAttributes { ItemName "TF_WEAPON_SHOTGUN_PYRO" "faster reload rate" 0.25 "fire rate bonus" 0.15 "is_passive_weapon" 1 "auto fires full clip" 1 "auto fires when full" 1 "override projectile type" 27 } } } } T_TFBot_Demo_PatrolChief { Name "Patrol Chief D-96" Class Demoman ClassIcon demo_robot_nys Skill Expert Scale 2 Health 33000 Attributes MiniBoss Attributes UseBossHealthBar Attributes HoldFireUntilFullReload Action Mobber UseCustomModel "models/bots/demo_boss/bot_demo_boss_gibby.mdl" SpawnTemplate "PatrolChiefDemoPT" Item "Upgradeable TF_WEAPON_GRENADELAUNCHER" Item "Nuke Launcher" Item "Lo-Fi Longwave" CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.5 "airblast vulnerability multiplier" 0.5 "override footstep sound set" 4 "cancel falling damage" 1 "never gib" 1 "voice pitch scale" 0 } ChangeAttributes { Name "Intro" Delay 0 Repeats 1 } EventChangeAttributes { Intro { WeaponSwitch { Type "Melee" Delay 0 Repeats 1 Cooldown -1 } InterruptAction { Target "australiumtank" AimTarget "australiumtank" Delay 2 Duration 3 Repeats 1 Cooldown -1 } FireInput { Target "PatrolChiefDemoBeamRelay" Action Trigger Delay 5 Repeats 1 Cooldown -1 } AddCond { Index 87 Delay 5 Duration 2 } WeaponSwitch { Type "Primary" Delay 7 Repeats 1 Cooldown -1 } ChangeAttributes { Name "Barrage" Delay 7 Repeats 1 } } Barrage { ItemAttributes { ItemName "Upgradeable TF_WEAPON_GRENADELAUNCHER" "damage bonus" 1.5 "fire rate bonus" 0.27 "faster reload rate" 0.22 "clip size upgrade atomic" 26.0 "projectile speed decreased" 0.75 "projectile spread angle penalty" 5 } ChangeAttributes { Name "Nuke" Delay 0 Repeats 1 IfHealthBelow 22001 } } Nuke { Skill Normal WeaponRestrictions SecondaryOnly ExtAttr IgnoreNPC Item "NukeLauncher" CharacterAttributes { "hand scale" 2.25 } ItemAttributes { ItemName "Upgradeable TF_WEAPON_GRENADELAUNCHER" "fire rate penalty" 100 "is_passive_weapon" 1 "override projectile type" 27 } ShootTemplate { Name "StickyNukePT" ItemName "NukeLauncher" AttachToProjectile 1 } ChangeAttributes { Name "Rage" Delay 0 Repeats 1 IfHealthBelow 11001 } } Rage { Skill Expert WeaponRestrictions MeleeOnly Item "The Splendid Screen" Item "Upgradeable TF_WEAPON_FISTS" CharacterAttributes { "move speed bonus" 0.75 "gesture speed increase" 2.5 } ItemAttributes { ItemName "The Splendid Screen" "Attack not cancel charge" 1 "charge impact damage increased" 10 "dmg taken from fire reduced" 1 "dmg taken from blast reduced" 1 "weapon always gib" 1 "custom item model" "models/empty.mdl" "custom kill icon" "hale_charge" } ItemAttributes { ItemName "Upgradeable TF_WEAPON_FISTS" "damage bonus" 3 "fire rate bonus" 0.6 "weapon always gib" 1 "custom kill icon" "hale_punch" } Taunt { Name "Taunt: Unleashed Rage" Delay 0 Duration 1 Repeats 1 Cooldown -1 } AddCond { Index 51 Delay 0 Duration 1.5 } } } } //// TANKS //// Tank_Australium { Name "australiumtank$targetname|australiumtank^model|models/robot_factory/australium_tank.mdl^disablesmokestack|1^disablebomb|1^pingsound|misc/null.wav^teamnum|2^usebettertracks|1" ClassIcon payload_vip SpawnTemplate "AustraliumTankPT" OnKilledOutput { Target RedLoseRelay Action Trigger } } Tank_Combat_DragonFury { Name "combattank_bomb|fireball|fireball$pingsound|npc/combine_gunship/ping_search.wav" ClassIcon tank_combat_dragon_fury_dual_kai Speed 75 } Tank_Drill { Name "drilltank_watermine$pingsound|ambient/levels/citadel/zapper_warmup1.wav" ClassIcon tank_drill_lite OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } Tank_Combat_Rocket_Minigun { Name "combattank_bomb|rocketpod|minigun$pingsound|npc/combine_gunship/ping_search.wav" ClassIcon tank_combat_rocket_minigun_kai Speed 75 OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } Tank_Combat_Railgun_Rocket { Name "combattank_bomb|railgun|rocketpod$pingsound|npc/combine_gunship/ping_search.wav" ClassIcon tank_combat_railgun_rocket_kai Speed 75 OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } Tank_Combat_Minigun_DragonFury { Name "combattank_bomb|minigun|fireball$pingsound|npc/combine_gunship/ping_search.wav" ClassIcon tank_combat_minigun_dragon_fury_kai Speed 75 OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } //// GIANTS //// T_TFBot_MercenaryBuster { Name "Mercenary Buster" Template T_TFBot_SentryBuster ClassIcon sentrybuster_mercenary Health 1250 Action SuicideBomber UseBusterModel 1 Item "MercBusterHelmet" CharacterAttributes { "move speed bonus" 1.35 "head scale" 3 "torso scale" 0.1 "mult dmg vs tanks" 0.25 } InterruptAction { AimTarget "ClosestPlayer" Delay 0 Repeats 1 Duration 3 } } T_TFBot_Giant_Pyro_Magma { Name "Giant Magma Pyro" Template T_TFBot_Giant_Pyro ClassIcon pyro_magma_entropy_giant WeaponRestrictions SecondaryOnly Item "MagmaGun" ShootTemplate { Name "MagmaProjectilePT" ItemName "MagmaGun" AttachToProjectile 1 } } T_TFBot_Giant_Scout_Homewrecker { Name "Giant Wrecking Crew" Template T_TFBot_Giant_Scout ClassIcon scout_homewrecker WeaponRestrictions MeleeOnly Action Mobber Item "The Homewrecker" Item "Hazard Handler" CharacterAttributes { "dmg pierces resists absorbs" 1 "cancel falling damage" 1 "mult dmg vs tanks" 2.5 "never gib" 1 } } T_TFBot_Giant_Soldier_Burst_Modded { Template T_TFBot_Giant_Soldier_Spammer_Reload ItemAttributes { ItemName "TF_WEAPON_ROCKETLAUNCHER" "damage bonus" 1.5 "fire rate bonus" 0.2 "faster reload rate" 0.4 "clip size upgrade atomic" 5.0 "projectile speed decreased" 0.9 } } T_TFBot_Giant_Heavy_HealOnKill_Modded { Name "Giant Heal-On-Kill Deflector" Template T_TFBot_Giant_Heavyweapons_HealOnKill Item "Deflector" Item "Officer's Ushanka" CharacterAttributes { "fire input on kill" "tf_gamerules^PlayVO^vo/sandwicheat09.mp3" } } T_TFBot_Giant_Heavy_SteelFist { Name "Super Steel Gauntlet" Class Heavy ClassIcon heavy_steelfist_giant Health 5000 Skill Expert Attributes MiniBoss WeaponRestrictions MeleeOnly Item "Fists of Steel" Item "Pugilist's Protector" Item "The Heavy-Weight Champ" CharacterAttributes { "move speed penalty" 0.5 "damage force reduction" 0.3 "airblast vulnerability multiplier" 0.3 "override footstep sound set" 2 } ItemAttributes { ItemName "Fists of Steel" "damage bonus" 1.2 "fire rate bonus" 0.6 } } //// MINIGIANTS //// T_TFBot_Demoman_Spammer { Name "Rapid Fire Demoman" Class Demoman ClassIcon demo_spammer_package Skill Normal Health 650 Scale 1.3 WeaponRestrictions PrimaryOnly ItemAttributes { ItemName "TF_WEAPON_GRENADELAUNCHER" "fire rate bonus" 0.75 "faster reload rate" 0.001 } } T_TFBot_Soldier_Spammer { Name "Rapid Fire Soldier" Class Soldier ClassIcon soldier_spammer Skill Normal Health 600 Scale 1.4 WeaponRestrictions PrimaryOnly ItemAttributes { ItemName "TF_WEAPON_ROCKETLAUNCHER" "fire rate bonus" 0.5 "faster reload rate" 0.001 "projectile speed decreased" 0.65 } } T_TFBot_Heavy_Steelfist_Fire { Name "Braizen Gauntlet" Template T_TFBot_Heavyweapons_Fist ClassIcon heavy_steelfist_fire_entropy Action Mobber Item "The Bunsen Brave" ItemAttributes { ItemName "Fists of Steel" "Set DamageType Ignite" 1 "weapon burn dmg increased" 3 "attach particle effect" "1" "set item tint RGB" "12073019" } ItemAttributes { ItemName "The Bunsen Brave" "set item tint RGB" "12073019" } } T_TFBot_Engineer_Homewrecker { Name "Wrecking Crew" Class Engineer ClassIcon pyro_homewrecker_lite Skill Normal Health 500 Scale 1.2 Attributes DisableDodge WeaponRestrictions MeleeOnly Action Mobber ForceRomeVision 1 Item "Upgradeable TF_WEAPON_WRENCH" CharacterAttributes { "voice pitch scale" 0.8 "cancel falling damage" 1 "never gib" 1 } ItemAttributes { ItemName "Upgradeable TF_WEAPON_WRENCH" "damage bonus" 2.25 "fire rate penalty" 1.5 "melee cleave attack" 1 "custom item model" "models/workshop/weapons/c_models/c_sledgehammer/c_sledgehammer.mdl" "custom kill icon" "sledgehammer" } } T_TFBot_Engineer_Widowmaker { Name "Widowmaker Engineer" Class Engineer ClassIcon engineer_widowmaker_nys Skill Expert Health 375 Scale 1.4 WeaponRestrictions PrimaryOnly Action FetchFlag Item "The Widowmaker" Item "The Data Mining Light" } //// COMMONS //// T_TFBot_Pyro_Axtinguisher { Name "Axtinguisher Pyro" Class Pyro ClassIcon pyro_jug_axtinguisher Skill Hard WeaponRestrictions MeleeOnly Item "The Axtinguisher" } T_TFBot_Engineer_Shotgun { Name "Maintenance Crew" Class Engineer ClassIcon heavy_shotgun Skill Normal WeaponRestrictions PrimaryOnly Action Mobber Item "The Data Mining Light" CharacterAttributes { "never gib" 1 } } T_TFBot_Soldier_Crit { Name "Charged Soldier" Class Soldier ClassIcon soldier_crit Skill Normal Attributes AlwaysCrit WeaponRestrictions PrimaryOnly Item "The Original" ItemAttributes { ItemName "The Original" "fire rate penalty" 2 "faster reload rate" 0.2 "projectile speed decreased" 0.5 } } T_TFBot_Engineer_Wrench_Repairman { Name "Maintenance Crew" Class Engineer Skill Expert Attributes AlwaysFireWeapon WeaponRestrictions MeleeOnly Action Mobber Item "The Data Mining Light" CharacterAttributes { "never gib" 1 } InterruptAction { Target "tankboss" AimTarget "tankboss" Delay 0.1 Repeats 1 Duration 999 KillAimTarget 1 Distance 50 } } T_TFBot_Engineer_Ranger_Crit { Name "Charged Rescue Ranger Engineer" Class Engineer ClassIcon engineer_ranger_nys Skill Normal Attributes AlwaysCrit WeaponRestrictions PrimaryOnly Item "The Rescue Ranger" Item "The Data Mining Light" ItemAttributes { ItemName "The Rescue Ranger" "dmg bonus vs buildings" 2 "faster reload rate" 0.001 } CharacterAttributes { "never gib" 1 } } T_TFBot_Demoman_Stickybomb { Name "Stickybomb Demoman" Class Demoman ClassIcon demo_sticky_daan Skill Hard Attributes HoldFireUntilFullReload WeaponRestrictions SecondaryOnly Item "The Shrapnel Shell" ItemAttributes { ItemName "TF_WEAPON_GRENADELAUNCHER" "is_passive_weapon" 1 "override projectile type" 27.0 } ItemAttributes { ItemName "TF_WEAPON_PIPEBOMBLAUNCHER" "faster reload rate" 0.35 "stickybomb charge rate" 0.01 "projectile range decreased" 0.35 "max pipebombs decreased" -7 } } T_TFBot_Pyro_Backburner { Name "Backburner Pyro" Class Pyro ClassIcon pyro_backburner_nys Skill Easy Attributes AlwaysFireWeapon WeaponRestrictions PrimaryOnly Item "The Backburner" } T_TFBot_Soldier_Parachute { Name "Para-Soldier" Class Soldier ClassIcon soldier_para Skill Expert Attributes Parachute Item "The B.A.S.E. Jumper" FireInput { Target "!self" Action "$SetLocalOrigin" Param "-2203 3948 1568" Delay 0 Repeats 1 Cooldown -1 } } } //// MISSION BOTS //// Mission // Sentry Buster { Objective DestroySentries Where spawnbot BeginAtWave 2 RunForThisManyWaves 1 InitialCooldown 30 CooldownTime 50 DesiredCount 1 TFBot { Template T_TFBot_SentryBuster } } Mission // Engineer (Wave 7) { Objective Engineer Where spawnbot BeginAtWave 2 RunForThisManyWaves 1 InitialCooldown 25 CooldownTime 25 DesiredCount 1 TFBot { Template T_TFBot_Engineer_Sentry_Teleporter Health 275 } } //// WAVES //// Wave { InitWaveOutput { Target BigNet Action RunScriptCode Param " EntFire(`Wave6PT`, `ForceSpawn`) EntFire(`Wave6AustraliumTankPT`, `ForceSpawn`) IncludeScript(`claudz_logic_v3`) Convars.SetValue(`tf_playergib`, 0) " } StartWaveOutput { Target BigNet Action RunScriptCode Param " EntFire(`ActStartRelay`, `Trigger`) EntFire(`carrier_lift`, `SetSpeed`, 100) EntFire(`Wave6PlayerBarrierPT`, `ForceSpawn`) EntFire(`Wave6BotBarrierPT`, `ForceSpawn`) " } DoneOutput { Target BigNet Action RunScriptCode Param " EntFire(`wave_finished_relay`, `Trigger`) " } CustomWaveNumber 6 CustomMaxWaveNumber 7 // Subwave 1 WaveSpawn // 1 Australium Tank { Name "Wave6_Subwave1_AustraliumTank" Support Limited TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 0 FirstSpawnWarningSound "mvm/mvm_tank_start.wav" Tank { Template Tank_Australium Health 30000 Speed 60 StartingPathTrackNode "tank_path_australium_1" } } WaveSpawn // Heavy Patrol Chief { Name "Wave6_Subwave1_HeavyPatrolChief" Where spawnbot TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 0 TotalCurrency 50 FirstSpawnWarningSound "mvm/giant_heavy/giant_heavy_entrance.wav" StartDisabled 1 TFBot { Template T_TFBot_Heavy_PatrolChief } DoneOutput { Target "PatrolChiefBeamReleaseRelay" Action Trigger } } WaveSpawn // 6 Rapid Fire Demos { Name "Wave6_Subwave1_RapidDemos" WaitForAllSpawned "Wave6_Subwave1_HeavyPatrolChief" Where spawnbot_right TotalCount 6 MaxActive 6 SpawnCount 1 WaitBeforeStarting 20 WaitBetweenSpawns 5 TotalCurrency 25 TFBot { Template T_TFBot_Demoman_Spammer ExtAttr IgnoreNPC Action Mobber CharacterAttributes { "never gib" 1 } } } WaveSpawn // 5 KGB Heavies { Name "Wave6_Subwave1_KGBHeavies" WaitForAllSpawned "Wave6_Subwave1_HeavyPatrolChief" Where spawnbot_right TotalCount 5 MaxActive 5 SpawnCount 5 WaitBeforeStarting 20 WaitBetweenSpawns 0 TotalCurrency 5 TFBot { Template T_TFBot_Heavyweapons_Heavyweight_Champ Skill Hard Attributes AlwaysCrit Attributes DisableDodge Action Mobber Tag flank CharacterAttributes { "never gib" 1 } InterruptAction { Target "australiumtank" Delay 15 Repeats 0 Duration 25 Cooldown 0.3 Distance 50 } } FirstSpawnOutput { Target "BotBarrierBreakRelay" Action Trigger Delay 5 } } WaveSpawn // 20 KGB Heavies { Name "Wave6_Subwave1_KGBHeavies" WaitForAllSpawned "Wave6_Subwave1_HeavyPatrolChief" Where spawnbot TotalCount 20 MaxActive 15 SpawnCount 1 WaitBeforeStarting 20 WaitBetweenSpawns 1.5 TotalCurrency 20 RandomChoice { Shuffle 1 TFBot { Template T_TFBot_Heavyweapons_Heavyweight_Champ Skill Hard Attributes AlwaysCrit Attributes DisableDodge Action Mobber CharacterAttributes { "never gib" 1 } InterruptAction { Target "australiumtank" Delay 2 Repeats 0 Duration 25 Cooldown 0.3 Distance 50 } } TFBot { Template T_TFBot_Heavyweapons_Heavyweight_Champ Skill Hard Attributes AlwaysCrit Attributes DisableDodge Action Mobber Tag flank CharacterAttributes { "never gib" 1 } InterruptAction { Target "australiumtank" Delay 15 Repeats 0 Duration 25 Cooldown 0.3 Distance 50 } } } } // Subwave 2 WaveSpawn // Pyro Patrol Chief { Name "Wave6_Subwave2_PyroPatrolChief" Where spawnbot_side_3 TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 0 TotalCurrency 50 FirstSpawnWarningSound "mvm/giant_heavy/giant_heavy_entrance.wav" StartDisabled 1 TFBot { Template T_TFBot_Pyro_PatrolChief } DoneOutput { Target "PatrolChiefBeamReleaseRelay" Action Trigger } } WaveSpawn // 1 Dragon's Fury Tank { Name "Wave6_Subwave2_DragonFuryTank" WaitForAllSpawned "Wave6_Subwave2_PyroPatrolChief" TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 5 WaitBetweenSpawns 0 TotalCurrency 25 FirstSpawnWarningSound "mvm/mvm_tank_start.wav" Tank { Name "combattank|fireball|fireball$pingsound|npc/combine_gunship/ping_search.wav" Template Tank_Combat_DragonFury Health 7500 Speed 90 StartingPathTrackNode "tank_path_fury_1" } } WaveSpawn // 12 Pyros { Name "Wave6_Subwave2_Pyros" WaitForAllSpawned "Wave6_Subwave2_PyroPatrolChief" Where spawnbot_side_2 TotalCount 12 MaxActive 5 SpawnCount 3 WaitBeforeStarting 10 WaitBetweenSpawns 5 TotalCurrency 25 TFBot { Class Pyro Skill Easy Attributes DisableDodge Action Mobber CharacterAttributes { "never gib" 1 } } } WaveSpawn // 20 Axtinguisher Pyros { Name "Wave6_Subwave2_Pyros" WaitForAllSpawned "Wave6_Subwave2_PyroPatrolChief" Where spawnbot_side_2 TotalCount 20 MaxActive 8 SpawnCount 1 WaitBeforeStarting 10 WaitBetweenSpawns 2 TotalCurrency 25 TFBot { Template T_TFBot_Pyro_Axtinguisher Action Mobber CharacterAttributes { "never gib" 1 } } } // Subwave 3 WaveSpawn // 3 Mercenary Busters { Name "Wave6_Subwave3_MercenaryBusters" WaitForAllDead "Wave6_Subwave2_PyroPatrolChief" Where spawnbot_side_1 TotalCount 3 MaxActive 1 SpawnCount 1 WaitBeforeStarting 5 WaitBetweenSpawns 0 FirstSpawnWarningSound "mvm/sentrybuster/mvm_sentrybuster_intro.wav" TFBot { Template T_TFBot_MercenaryBuster } } WaveSpawn // 5 Demoknights, 5 Skullcutter Knights and 5 Claidheamhmor Knights { Name "Wave6_Subwave3_Demoknights" WaitForAllDead "Wave6_Subwave2_PyroPatrolChief" Where spawnbot_side_1 TotalCount 15 MaxActive 6 SpawnCount 2 WaitBeforeStarting 4 WaitBetweenSpawns 3 TotalCurrency 25 RandomChoice { Shuffle 1 TFBot { Template T_TFBot_Demoman_Knight Attributes AlwaysCrit Action Mobber CharacterAttributes { "mult dmg vs tanks" 0.5 "never gib" 1 } } TFBot { Template T_TFBot_Demoman_Knight Attributes AlwaysCrit Action Mobber Item "The Scotsman's Skullcutter" CharacterAttributes { "mult dmg vs tanks" 0.5 "never gib" 1 } } TFBot { Template T_TFBot_Demoman_Knight Attributes AlwaysCrit Action Mobber Item "The Claidheamohmor" CharacterAttributes { "mult dmg vs tanks" 0.5 "never gib" 1 } } } } WaveSpawn // 1 GHeavy and 3 Rapid Fire Soldiers { Name "Wave6_Subwave3_GHeavy" WaitForAllSpawned "Wave6_Subwave3_MercenaryBusters" Where spawnbot_side_1 TotalCount 4 MaxActive 4 SpawnCount 4 WaitBeforeStarting 10 WaitBetweenSpawns 0 TotalCurrency 50 Squad { NoWaitForFormation 1 TFBot { Template T_TFBot_Giant_Heavyweapons ExtAttr IgnoreNPC Action Mobber CharacterAttributes { "never gib" 1 } } TFBot { Template T_TFBot_Soldier_Spammer Action Mobber CharacterAttributes { "never gib" 1 } } TFBot { Template T_TFBot_Soldier_Spammer Action Mobber CharacterAttributes { "never gib" 1 } } TFBot { Template T_TFBot_Soldier_Spammer Action Mobber CharacterAttributes { "never gib" 1 } } } } // Subwave 4 WaveSpawn // 21 Shotgun Engineers { Name "Wave6_Subwave4_EngineerAmbush" Where spawnbot_side_1 TotalCount 21 MaxActive 21 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 0.1 TotalCurrency 20 StartDisabled 1 TFBot { Template T_TFBot_Engineer_Shotgun Attributes HoldFireUntilFullReload Action Mobber CharacterAttributes { "never gib" 1 } AddCond { Index 56 Duration 5 } } } WaveSpawn // 1 Shotgun Engineer { Name "Wave6_Subwave4_EngineerAmbush" Where spawnbot_side_1 TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 0.1 TotalCurrency 5 StartDisabled 1 TFBot { Template T_TFBot_Engineer_Shotgun Attributes HoldFireUntilFullReload Action Mobber SpawnTemplate "BotGasCanPT" CharacterAttributes { "never gib" 1 } AddCond { Index 56 Duration 5 } } } WaveSpawn // Trigger for Post-GasCan Explanation { Name "Wave6_Subwave4_Trigger" StartDisabled 1 } WaveSpawn // 2 GHeavies { Name "Wave6_Subwave4_GHeavies" WaitForAllSpawned "Wave6_Subwave4_Trigger" Where spawnbot_side_3 TotalCount 2 MaxActive 1 SpawnCount 1 WaitBeforeStarting 10 WaitBetweenSpawns 15 TotalCurrency 25 TFBot { Template T_TFBot_Giant_Heavyweapons Action Mobber CharacterAttributes { "never gib" 1 } } } WaveSpawn // 8 Braizen Gauntlets and 8 Big-Heal Medics { Name "Wave6_Subwave4_BraizenGauntlets" WaitForAllSpawned "Wave6_Subwave4_Trigger" Where spawnbot_side_3 TotalCount 16 MaxActive 6 SpawnCount 2 WaitBeforeStarting 0 WaitBetweenSpawns 5 TotalCurrency 30 Squad { TFBot { Template T_TFBot_Heavy_Steelfist_Fire Action Mobber SpawnTemplate "BotGasCanPT" CharacterAttributes { "never gib" 1 } } TFBot { Template T_TFBot_Medic_BigHeal CharacterAttributes { "never gib" 1 } } } } WaveSpawn // 20 Charged Soldiers { Name "Wave6_Subwave4_ChargedSoldiers" WaitForAllSpawned "Wave6_Subwave4_Trigger" Where spawnbot_side_3 TotalCount 20 MaxActive 10 SpawnCount 5 WaitBeforeStarting 0 WaitBetweenSpawns 8 TotalCurrency 20 TFBot { Template T_TFBot_Soldier_Crit Action Mobber CharacterAttributes { "never gib" 1 } } } // Subwave 5 WaveSpawn // 3 GMagma Pyros, 3 Big-Heal Medics and 6 Rapid Fire Soldiers { Name "Wave6_Subwave5_GMagmaPyros" WaitForAllSpawned "Wave6_Subwave4_BraizenGauntlets" Where spawnbot_side_3 TotalCount 12 MaxActive 8 SpawnCount 4 WaitBeforeStarting 12 WaitBetweenSpawns 18 TotalCurrency 25 Squad { NoWaitForFormation 1 TFBot { Template T_TFBot_Giant_Pyro_Magma Action Mobber SpawnTemplate "BotGasCanPT" CharacterAttributes { "never gib" 1 } } TFBot { Template T_TFBot_Medic_BigHeal CharacterAttributes { "never gib" 1 } } TFBot { Template T_TFBot_Soldier_Spammer Action Mobber CharacterAttributes { "never gib" 1 } } TFBot { Template T_TFBot_Soldier_Spammer Action Mobber CharacterAttributes { "never gib" 1 } } } } WaveSpawn // 8 Homewrecker Engineers { Name "Wave6_Subwave5_HomewreckerEngineers" WaitForAllSpawned "Wave6_Subwave4_BraizenGauntlets" Where spawnbot_side_3 TotalCount 8 MaxActive 4 SpawnCount 2 WaitBeforeStarting 15 WaitBetweenSpawns 9 TotalCurrency 25 TFBot { Template T_TFBot_Engineer_Homewrecker Action Mobber } } WaveSpawn // 18 Axtinguisher Pyros { Name "Wave6_Subwave5_AxtinguisherPyros" WaitForAllSpawned "Wave6_Subwave4_BraizenGauntlets" Where spawnbot_side_3 TotalCount 18 MaxActive 8 SpawnCount 2 WaitBeforeStarting 20 WaitBetweenSpawns 4 TotalCurrency 25 TFBot { Template T_TFBot_Pyro_Axtinguisher Action Mobber } } WaveSpawn // 24 Shotgun Engineers { Name "Wave6_Subwave5_Engineers" WaitForAllSpawned "Wave6_Subwave4_BraizenGauntlets" Where spawnbot_side_3 TotalCount 24 MaxActive 8 SpawnCount 2 WaitBeforeStarting 16 WaitBetweenSpawns 3 TotalCurrency 25 TFBot { Template T_TFBot_Engineer_Shotgun Action Mobber } } // Subwave 6 WaveSpawn // Demo Patrol Chief { Name "Wave6_Subwave6_DemoPatrolChief" Where spawnbot_07 TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 0 TotalCurrency 50 FirstSpawnWarningSound "mvm/giant_heavy/giant_heavy_entrance.wav" StartDisabled 1 TFBot { Template T_TFBot_Demo_PatrolChief } DoneOutput { Target "PatrolChiefBeamReleaseRelay" Action Trigger } } WaveSpawn // 2 Mercenary Busters { Name "Wave6_Subwave6_MercenaryBusters" WaitForAllSpawned "Wave6_Subwave6_DemoPatrolChief" Where spawnbot_07 TotalCount 2 MaxActive 2 SpawnCount 2 WaitBeforeStarting 0 WaitBetweenSpawns 0 TFBot { Template T_TFBot_MercenaryBuster } } WaveSpawn // 8 Demoknights, 8 Skullcutter Knights and 8 Claidheamhmor Knights { Name "Wave6_Subwave6_Demoknights" WaitForAllDead "Wave6_Subwave6_MercenaryBusters" Where spawnbot_07 TotalCount 24 MaxActive 6 SpawnCount 3 WaitBeforeStarting 0 WaitBetweenSpawns 3 TotalCurrency 25 RandomChoice { Shuffle 1 TFBot { Template T_TFBot_Demoman_Knight Attributes AlwaysCrit Action Mobber CharacterAttributes { "mult dmg vs tanks" 0.5 "never gib" 1 } } TFBot { Template T_TFBot_Demoman_Knight Attributes AlwaysCrit Action Mobber Item "The Scotsman's Skullcutter" CharacterAttributes { "mult dmg vs tanks" 0.5 "never gib" 1 } } TFBot { Template T_TFBot_Demoman_Knight Attributes AlwaysCrit Action Mobber Item "The Claidheamohmor" CharacterAttributes { "mult dmg vs tanks" 0.5 "never gib" 1 } } } } WaveSpawn // 12 Charged Soldiers { Name "Wave6_Subwave6_ChargedSoldiers" WaitForAllDead "Wave6_Subwave6_MercenaryBusters" Where spawnbot_07 TotalCount 12 MaxActive 6 SpawnCount 4 WaitBeforeStarting 10 WaitBetweenSpawns 10 TotalCurrency 25 TFBot { Template T_TFBot_Soldier_Crit Action Mobber CharacterAttributes { "never gib" 1 } } } WaveSpawn { Name "Wave6_Subwave6_Check" WaitForAllDead "Wave6_Subwave6_DemoPatrolChief" FirstSpawnOutput { Target "PatrolChiefAftermathRelay" Action Trigger } } WaveSpawn // Stops the Wave from Ending { Name "Wave6_RunPreserver" WaitBeforeStarting 99999 } } Wave { InitWaveOutput { Target BigNet Action RunScriptCode Param " EntFire(`bombpath_right_relay`, `Trigger`) EntFire(`Wave7PT`, `ForceSpawn`) EntFire(`Wave7AustraliumTankPT`, `ForceSpawn`) EntFire(`Wave7SetupRelay`, `Trigger`) EntFire(`ActSetupRelay`, `Kill`) EntFire(`RocketTerminalButton`, `Kill`) local bomb = Entities.FindByName(null, `bomb`) bomb.AcceptInput(`RunScriptFile`, `bombhop.nut`, null, null) " } StartWaveOutput { Target BigNet Action RunScriptCode Param " EntFire(`wave_start_relay`, `Trigger`) EntFire(`Wave7StartRelay`, `Trigger`) " } DoneOutput { Target BigNet Action RunScriptCode Param " EntFire(`wave_finished_relay`, `Trigger`) " } CustomWaveNumber 7 CustomMaxWaveNumber 7 WaveSpawn { Name "Wave7_FirstQuarter" WaitBeforeStarting 112.5 FirstSpawnOutput { Target Wave7FirstQuarterRelay Action Trigger } } WaveSpawn { Name "Wave7_SecondQuarter" WaitBeforeStarting 225 FirstSpawnOutput { Target Wave7SecondQuarterRelay Action Trigger } } WaveSpawn { Name "Wave7_ThirdQuarter" WaitBeforeStarting 337.5 FirstSpawnOutput { Target Wave7ThirdQuarterRelay Action Trigger } } WaveSpawn { Name "Wave7_GoliathFootsteps" WaitBeforeStarting 353 FirstSpawnOutput { Target "Wave7GoliathFootstepsRelay" Action Trigger } } // Subwave 1 WaveSpawn // 4 GHomewrecker Scouts { Name "Wave7_Subwave1_GScouts" Where spawnbot TotalCount 4 MaxActive 4 SpawnCount 2 WaitBeforeStarting 2 WaitBetweenSpawns 13 TotalCurrency 50 TFBot { Template T_TFBot_Giant_Scout_Homewrecker } } WaveSpawn // 20 Charged Soldiers { Name "Wave7_Subwave1_ChargedSoldiers" Where spawnbot_right TotalCount 20 MaxActive 20 SpawnCount 10 WaitBeforeStarting 5 WaitBetweenSpawns 15 TotalCurrency 25 TFBot { Template T_TFBot_Soldier_Crit CharacterAttributes { "never gib" 1 } } } // Subwave 2 WaveSpawn // 1 Tank { Name "Wave7_Subwave2_Tank" WaitForAllSpawned "Wave7_Subwave1_GScouts" TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 20 WaitBetweenSpawns 0 TotalCurrency 50 FirstSpawnWarningSound "mvm/mvm_tank_start.wav" Tank { Name "tankboss" Health 35000 Speed 75 StartingPathTrackNode "boss_path_right" OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn // 6 GBurst Soldiers { Name "Wave7_Subwave2_GBurstSoldiers" WaitForAllSpawned "Wave7_Subwave2_Tank" Where spawnbot_right TotalCount 6 MaxActive 6 SpawnCount 2 WaitBeforeStarting 5 WaitBetweenSpawns 16 TotalCurrency 50 TFBot { Template T_TFBot_Giant_Soldier_Burst_Modded CharacterAttributes { "never gib" 1 } } } WaveSpawn // 9 Armored Repairmen Engineers and 18 Repairmen Engineers { Name "Wave6_Subwave2_Engineers" WaitForAllSpawned "Wave7_Subwave2_Tank" Where spawnbot_side_3 TotalCount 27 MaxActive 15 SpawnCount 1 WaitBeforeStarting 5 WaitBetweenSpawns 1 TotalCurrency 50 RandomChoice { Shuffle 1 TFBot { Name "Armored Maintenance Crew" Template T_TFBot_Engineer_Wrench_Repairman Health 375 Scale 1.2 } TFBot { Template T_TFBot_Engineer_Wrench_Repairman } TFBot { Template T_TFBot_Engineer_Wrench_Repairman } } FirstSpawnOutput { Target SubwaveWarningRelay Action Trigger } } // Subwave 3 WaveSpawn // 1 Rocket-Minigun Tank { Name "Wave7_Subwave3_RocketMinigunTank" WaitForAllDead "Wave7_Subwave2_GBurstSoldiers" TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 0 TotalCurrency 100 FirstSpawnWarningSound "mvm/mvm_tank_start.wav" Tank { Template Tank_Combat_Rocket_Minigun Health 35000 StartingPathTrackNode "boss_path_right" } } WaveSpawn // 7 Widowmaker Engineers, 7 Full-Uber Medics and 7 Charged Ranger Engineers { Name "Wave7_Subwave3_EngineerSquads" WaitForAllSpawned "Wave7_Subwave3_RocketMinigunTank" Where spawnbot Where spawnbot_right TotalCount 35 MaxActive 25 SpawnCount 5 WaitBeforeStarting 10 WaitBetweenSpawns 6 TotalCurrency 50 Squad { TFBot { Template T_TFBot_Engineer_Widowmaker CharacterAttributes { "never gib" 1 } } TFBot { Template T_TFBot_Medic CharacterAttributes { "never gib" 1 } } TFBot { Template T_TFBot_Engineer_Ranger_Crit CharacterAttributes { "never gib" 1 } } TFBot { Template T_TFBot_Engineer_Ranger_Crit CharacterAttributes { "never gib" 1 } } TFBot { Template T_TFBot_Engineer_Ranger_Crit CharacterAttributes { "never gib" 1 } } } } // Subwave 4 WaveSpawn // 2 GHoK Deflectors and 4 Super Steel Gauntlets { Name "Wave7_Subwave4_GHeavies" WaitForAllSpawned "Wave7_Subwave3_RocketMinigunTank" Where spawnbot_right TotalCount 6 MaxActive 6 SpawnCount 3 WaitBeforeStarting 20 WaitBetweenSpawns 20 TotalCurrency 50 Squad { NoWaitForFormation 1 TFBot { Template T_TFBot_Giant_Heavy_HealOnKill_Modded Attributes AlwaysCrit CharacterAttributes { "never gib" 1 } } TFBot { Template T_TFBot_Giant_Heavy_SteelFist Attributes AlwaysCrit CharacterAttributes { "never gib" 1 } } TFBot { Template T_TFBot_Giant_Heavy_SteelFist Attributes AlwaysCrit CharacterAttributes { "never gib" 1 } } } } WaveSpawn // 30 Sticky Demos { Name "Wave7_Subwave4_StickyDemos" WaitForAllSpawned "Wave7_Subwave3_RocketMinigunTank" Where spawnbot_left TotalCount 30 MaxActive 9 SpawnCount 1 WaitBeforeStarting 20 WaitBetweenSpawns 2 TotalCurrency 50 TFBot { Template T_TFBot_Demoman_Stickybomb CharacterAttributes { "never gib" 1 } } } WaveSpawn // 30 Shotgun Heavies { Name "Wave7_Subwave4_ShotgunHeavies" WaitForAllSpawned "Wave7_Subwave3_RocketMinigunTank" Where spawnbot TotalCount 30 MaxActive 9 SpawnCount 1 WaitBeforeStarting 20 WaitBetweenSpawns 2 TotalCurrency 50 TFBot { Template T_TFBot_Heavyweapons_Shotgun Attributes AlwaysCrit CharacterAttributes { "never gib" 1 } } } // Subwave 5 WaveSpawn // 1 Drill Tank { Name "Wave7_Subwave5_DrillTank" WaitForAllDead "Wave7_Subwave4_GHeavies" TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 5 WaitBetweenSpawns 0 TotalCurrency 50 FirstSpawnWarningSound "mvm/mvm_tank_start.wav" Tank { Template Tank_Drill Health 23000 Speed 75 StartingPathTrackNode "tank_path_drill_1" } FirstSpawnOutput { Target SubwaveWarningRelay Action Trigger } } WaveSpawn // 20 Backburner Pyros { Name "Wave7_Subwave5_BackburnerPyros" WaitForAllSpawned "Wave7_Subwave5_DrillTank" Where spawnbot_side_2 TotalCount 20 MaxActive 15 SpawnCount 10 WaitBeforeStarting 2 WaitBetweenSpawns 0 TotalCurrency 25 TFBot { Template T_TFBot_Pyro_Backburner CharacterAttributes { "never gib" 1 } } } WaveSpawn // 1 Railgun-Rocket Tank { Name "Wave7_Subwave5_RailgunRocketTank" WaitForAllSpawned "Wave7_Subwave5_DrillTank" TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 15 WaitBetweenSpawns 0 TotalCurrency 100 FirstSpawnWarningSound "mvm/mvm_tank_start.wav" Tank { Template Tank_Combat_Railgun_Rocket Health 40000 StartingPathTrackNode "boss_path_right" } } WaveSpawn // 30 Scouts { Name "Wave7_Subwave5_Scouts" WaitForAllSpawned "Wave7_Subwave5_RailgunRocketTank" Where spawnbot TotalCount 30 MaxActive 15 SpawnCount 5 WaitBeforeStarting 0 WaitBetweenSpawns 4 TotalCurrency 50 TFBot { Class Scout Skill Normal CharacterAttributes { "never gib" 1 } } } // Subwave 6 WaveSpawn // 5 GMagma Pyros and 20 Full-Uber Medics { Name "Wave7_Subwave6_GMagmaPyros" WaitForAllSpawned "Wave7_Subwave5_RailgunRocketTank" Where spawnbot TotalCount 25 MaxActive 15 SpawnCount 5 WaitBeforeStarting 30 WaitBetweenSpawns 20 TotalCurrency 50 Squad { TFBot { Template T_TFBot_Giant_Pyro_Magma CharacterAttributes { "never gib" 1 } } TFBot { Template T_TFBot_Medic CharacterAttributes { "never gib" 1 } } TFBot { Template T_TFBot_Medic CharacterAttributes { "never gib" 1 } } TFBot { Template T_TFBot_Medic CharacterAttributes { "never gib" 1 } } TFBot { Template T_TFBot_Medic CharacterAttributes { "never gib" 1 } } } } WaveSpawn // 20 Sticky Demos { Name "Wave7_Subwave6_StickyDemos" WaitForAllSpawned "Wave7_Subwave5_RailgunRocketTank" Where spawnbot_left TotalCount 20 MaxActive 8 SpawnCount 1 WaitBeforeStarting 30 WaitBetweenSpawns 2 TotalCurrency 25 TFBot { Template T_TFBot_Demoman_Stickybomb CharacterAttributes { "never gib" 1 } } } WaveSpawn // 20 Para-Soldiers { Name "Wave7_Subwave6_ParaSoldiers" WaitForAllSpawned "Wave7_Subwave5_RailgunRocketTank" Where spawnbot TotalCount 20 MaxActive 8 SpawnCount 4 WaitBeforeStarting 35 WaitBetweenSpawns 8 TotalCurrency 25 TFBot { Template T_TFBot_Soldier_Parachute CharacterAttributes { "never gib" 1 } } FirstSpawnOutput { Target ParachuteRelay Action Trigger } } // Subwave 7 WaveSpawn // 1 Minigun-DragonFury Tank { Name "Wave7_Subwave7_MinigunDragonsFuryTank" WaitForAllSpawned "Wave7_Subwave6_GMagmaPyros" TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 20 WaitBetweenSpawns 0 TotalCurrency 100 Tank { Template Tank_Combat_Minigun_DragonFury Health 35000 StartingPathTrackNode "boss_path_right" } } WaveSpawn // 25 Spies { Name "Wave7_Subwave7_Spies" WaitForAllSpawned "Wave7_Subwave7_MinigunDragonsFuryTank" Where spawnbot TotalCount 25 MaxActive 15 SpawnCount 5 WaitBeforeStarting 5 WaitBetweenSpawns 7 TotalCurrency 25 TFBot { Template T_TFBot_Spy CharacterAttributes { "never gib" 1 } } } WaveSpawn // 24 Backburner Pyros { Name "Wave7_Subwave7_BackburnerPyros" WaitForAllSpawned "Wave7_Subwave7_MinigunDragonsFuryTank" Where spawnbot TotalCount 24 MaxActive 12 SpawnCount 3 WaitBeforeStarting 5 WaitBetweenSpawns 5 TotalCurrency 25 TFBot { Template T_TFBot_Pyro_Backburner } } WaveSpawn // Stops the Wave from Ending { Name "Wave7_RunPreserver" WaitBeforeStarting 99999 } } }