#base robot_standard_vanilla_kai.pop #base robot_standard_custom_kai.pop #base robot_standard_custom_rafmod_kai.pop #base robot_standard_supercharged_kai.pop #base robot_standard_supercharged_rafmod_kai.pop #base robot_giant_vanilla_kai.pop #base robot_giant_custom_kai.pop #base robot_giant_custom_rafmod_kai.pop #base robot_giant_supercharged_kai.pop #base robot_giant_supercharged_rafmod_kai.pop #base robot_tank_custom_rafmod_kai.pop WaveSchedule { StartingCurrency 1200 RespawnWaveTime 1 CanBotsAttackWhileInSpawnRoom No AddSentryBusterWhenDamageDealtExceeds 3000 AddSentryBusterWhenKillCountExceeds 10 WaveStartCountdown 5 AllowBotExtraSlots 1 RobotLimit 25 MissionUnloadOutput { Target BigNet Action RunScriptCode Param " Convars.SetValue(`tf_playergib`, 1) " Delay -1 } //// PRECACHES //// // Precached Models PrecacheModel "models/reudina/vortex_reu.mdl" PrecacheModel "models/reudina/wof_reu.mdl" PrecacheModel "models/bots/scout_boss/bot_scout_gray_boss.mdl" PrecacheModel "models/bots/demo/bot_demo_gibby.mdl" PrecacheModel "models/bots/demo_boss/bot_demo_boss_gibby.mdl" PrecacheModel "models/bots/pyro/bot_pyro_gibby.mdl" PrecacheModel "models/bots/pyro_boss/bot_pyro_boss_gibby.mdl" PrecacheModel "models/bots/heavy/bot_heavy_gibby.mdl" PrecacheModel "models/bots/heavy_boss/bot_heavy_boss_gibby.mdl" PrecacheModel "models/bots/soldier/bot_soldier_gibby.mdl" PrecacheModel "models/bots/soldier_boss/bot_soldier_boss_gibby.mdl" PrecacheModel "models/props_mvm/indicator/indicator_circle.mdl" // Precached Sounds PrecacheSound "music/hurtbreakwonderland/in_absentia_logos_calm.wav" PrecacheSound "music/hurtbreakwonderland/in_absentia_logos.wav" PrecacheSound "music/hurtbreakwonderland/spiral_out.wav" PrecacheSound "music/hurtbreakwonderland/no_devil_lived_on.wav" //// 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" //// CUSTOM WEAPONS //// CustomWeapon { //// POINT-TEMPLATE WEAPONS //// "MasqueradeFireRainWeapon" { OriginalItemName "TF_WEAPON_ROCKETLAUNCHER" "add damage type" 8 "remove damage type" 64 "Set DamageType Ignite" 1 "projectile speed decreased" 0.9 "projectile spread angle penalty" 3 "custom projectile model" "models/empty.mdl" "projectile trail particle" "~spell_fireball_small_blue" "custom weapon fire sound" "=75|misc/halloween/spell_fireball_cast.wav" "custom impact sound" "=75|misc/halloween/spell_fireball_impact.wav" "custom kill icon" "firedeath" } //// COSMETICS //// "SummonerArmour" { OriginalItemName "Potato of Labor" "custom item model" "models/workshop/player/items/pyro/tw_pyrobot_armor/tw_pyrobot_armor.mdl" } } //// POINT TEMPLATES //// PointTemplates { //// Core PTs //// CorePT { OnSpawnOutput { Target BigNet Action RunScriptCode Param " Convars.SetValue(`tf_playergib`, 0) EntFire(`snd_wavestart`, `Kill`) IncludeScript(`tankextensions_main`) IncludeScript(`tankextensions/combattank`) IncludeScript(`tankextensions/combattank_weapons/rocketpod`) IncludeScript(`tankextensions/hammertank`) IncludeScript(`mvm_summoner_script`) ::DispatchParticleEffectOn <- function(hEntity, sName) { if(!sName) { hEntity.AcceptInput(`DispatchEffect`, `ParticleEffectStop`, null, null); return } local hParticle = Entities.CreateByClassname(`trigger_particle`) NetProps.SetPropBool(hParticle, `m_bForcePurgeFixedupStrings`, true) hParticle.KeyValueFromString(`particle_name`, sName) hParticle.KeyValueFromInt(`attachment_type`, 1) hParticle.KeyValueFromInt(`spawnflags`, 64) hParticle.DispatchSpawn() hParticle.AcceptInput(`StartTouch`, null, hEntity, hEntity) hParticle.Kill() } ::DispatchParticleAttached <- function(entity, name, attachment) { if(entity == null) return if(name == null) { entity.AcceptInput(`DispatchEffect`, `ParticleEffectStop`, null, null); return } local hParticle = CreateByClassname(`trigger_particle`) SetPropBool(hParticle, `m_bForcePurgeFixedupStrings`, true) hParticle.KeyValueFromInt(`attachment_type`, 4) hParticle.KeyValueFromInt(`spawnflags`, 64) hParticle.KeyValueFromString(`particle_name`, name) hParticle.KeyValueFromString(`attachment_name`, attachment) hParticle.DispatchSpawn() hParticle.AcceptInput(`StartTouch`, ``, entity, entity) hParticle.Kill() } IncludeScript(`music_system_ment`) PrecacheSound(`#music/hurtbreakwonderland/in_absentia_logos_calm.wav`) PrecacheSound(`#music/hurtbreakwonderland/in_absentia_logos.wav`) PrecacheSound(`#music/hurtbreakwonderland/spiral_out.wav`) PrecacheSound(`#music/hurtbreakwonderland/no_devil_lived_on.wav`) MusicSystemMent.ResetAll() MusicSystemMent.HookByName(`bignet`) " } logic_relay { "targetname" "PathSwitchUpperRelay" "OnTrigger" "item_teamflag*,ForceReset,,0,-1" "OnTrigger" "BigNetRunScriptCodeMusicSystemMent.SetMusicTrack(``, 0.5, 0.5)0-1" "OnTrigger" "wave_prepare_relay_upper,Trigger,,0,-1" "OnTrigger" "PathSwitchChangeAnnotation,Show,,0,-1" "OnTrigger" "BigNetRunScriptCodePrecacheSound(`mvm/mvm_cpoint_klaxon.wav`);EmitSoundEx({sound_name=`mvm/mvm_cpoint_klaxon.wav`,channel = 6, pitch = 90,filter_type=5})01" "OnTrigger" "BigNetRunScriptCodePrecacheSound(`mvm/mvm_cpoint_klaxon.wav`);EmitSoundEx({sound_name=`mvm/mvm_cpoint_klaxon.wav`,channel = 6, pitch = 90,filter_type=5})01" "OnTrigger" "BigNetRunScriptCodePrecacheSound(`mvm/mvm_cpoint_klaxon.wav`);EmitSoundEx({sound_name=`mvm/mvm_cpoint_klaxon.wav`,channel = 6, pitch = 90,filter_type=5})21" "OnTrigger" "BigNetRunScriptCodePrecacheSound(`mvm/mvm_cpoint_klaxon.wav`);EmitSoundEx({sound_name=`mvm/mvm_cpoint_klaxon.wav`,channel = 6, pitch = 90,filter_type=5})21" "OnTrigger" "BigNetRunScriptCodePrecacheSound(`mvm/mvm_cpoint_klaxon.wav`);EmitSoundEx({sound_name=`mvm/mvm_cpoint_klaxon.wav`,channel = 6, pitch = 90,filter_type=5})41" "OnTrigger" "BigNetRunScriptCodePrecacheSound(`mvm/mvm_cpoint_klaxon.wav`);EmitSoundEx({sound_name=`mvm/mvm_cpoint_klaxon.wav`,channel = 6, pitch = 90,filter_type=5})41" "OnTrigger" "BigNetRunScriptCodePrecacheSound(`mvm/mvm_cpoint_klaxon.wav`);EmitSoundEx({sound_name=`mvm/mvm_cpoint_klaxon.wav`,channel = 6, pitch = 90,filter_type=5})61" "OnTrigger" "BigNetRunScriptCodePrecacheSound(`mvm/mvm_cpoint_klaxon.wav`);EmitSoundEx({sound_name=`mvm/mvm_cpoint_klaxon.wav`,channel = 6, pitch = 90,filter_type=5})61" "OnTrigger" "BigNetRunScriptCodePrecacheSound(`mvm/mvm_warning.wav`);EmitSoundEx({sound_name=`mvm/mvm_warning.wav`,channel = 6,pitch = 90,filter_type=5})81" "OnTrigger" "BigNetRunScriptCodePrecacheSound(`mvm/mvm_warning.wav`);EmitSoundEx({sound_name=`mvm/mvm_warning.wav`,channel = 6,pitch = 90,filter_type=5})81" } training_annotation { "targetname" "PathSwitchChangeAnnotation" "origin" "208 370 676" "display_text" "The paths have changed! Follow the holograms!" "lifetime" "5" } } //// Masquerade PTs //// MasqueradeBossCinematicsPT { OnSpawnOutput { Target MasqueradeManBot Action TurnOff } OnSpawnOutput { Target MasqueradeFit Action TurnOff } OnSpawnOutput { Target MasqueradeSword Action TurnOff } // Masquerade Evil Portal OOOOOO SHIVER ME TIMBERS logic_relay { "targetname" "MasqueradePortalRelay" "OnTrigger" "MasqueradePortalParticle,Start,,0,-1" "OnTrigger" "MasqueradePortalParticleTimer,Enable,,0,-1" } info_particle_system { "targetname" "MasqueradePortalParticle" "origin" "208 -336 1088" "effect_name" "dxhr_lightningball_parent_blue" "start_active" "0" } info_particle_system { "targetname" "MasqueradePortalParticle" "origin" "208 -336 1088" "effect_name" "eyeboss_team_blue" "start_active" "0" } info_particle_system { "targetname" "MasqueradePortalParticle" "origin" "208 -336 1088" "effect_name" "eb_doorway_vortex04" "start_active" "0" } info_particle_system { "targetname" "MasqueradePortalParticle2" "origin" "208 -336 1088" "effect_name" "eb_tp_vortex02" "start_active" "0" } logic_timer { "targetname" "MasqueradePortalParticleTimer" "refiretime" "1.5" "startdisabled" "1" "OnTimer" "MasqueradePortalParticle2,Start,,0,-1" "OnTimer" "MasqueradePortalParticle2,Stop,,1,-1" } // Masquerade Intro logic_relay { "targetname" "MasqueradeIntroRelay" "OnTrigger" "PlayerRunScriptCodeself.SetHudHideFlags(~132)0-1" "OnTrigger" "PlayerRunScriptCodeScreenFade(null, 0, 0, 0, 255, 2, 0.4, 2)0-1" "OnTrigger" "PlayerRunScriptCodeScreenFade(null, 0, 0, 0, 255, 2, 0.4, 1)2-1" "OnTrigger" "MasqueradeIntroCamera1,CallScriptFunction,EnableAll,2,-1" "OnTrigger" "MasqueradeIntroParticle,Start,,10,-1" "OnTrigger" "tf_gamerules,PlayVO,ambient/fire/ignite.wav,10,-1" "OnTrigger" "tf_gamerules,PlayVO,ambient/fire/fire_small_loop1.wav,10,-1" "OnTrigger" "MasqueradeIntroParticle2,Start,,13,-1" "OnTrigger" "tf_gamerules,$StopVO,ambient/fire/fire_small_loop1.wav,13,-1" "OnTrigger" "tf_gamerules,$StopVO,ambient/fire/fire_small_loop1.wav,13.1,-1" "OnTrigger" "tf_gamerules,PlayVO,misc/halloween/spell_fireball_cast.wav,13,-1" "OnTrigger" "tf_gamerules,PlayVO,ambient/fire/fire_big_loop1.wav,13,-1" "OnTrigger" "MasqueradePortalParticle,Stop,,16,-1" "OnTrigger" "MasqueradePortalParticleTimer,Disable,,16,-1" "OnTrigger" "MasqueradeIntroParticle,Stop,,16,-1" "OnTrigger" "MasqueradeIntroParticle2,Stop,,16,-1" "OnTrigger" "MasqueradeIntroParticle3,Start,,16,-1" "OnTrigger" "tf_gamerules,$StopVO,ambient/fire/fire_big_loop1.wav,16,-1" "OnTrigger" "tf_gamerules,$StopVO,ambient/fire/fire_big_loop1.wav,16.1,-1" "OnTrigger" "tf_gamerules,PlayVO,items/cart_explode.wav,16,-1" "OnTrigger" "PlayerRunScriptCodeScreenFade(null, 255, 255, 255, 110, 0.7, 1.5, 1)16-1" "OnTrigger" "MasqueradeIdleRelay,Trigger,,16,-1" "OnTrigger" "MasqueradeTextCard,$setkey$message,Oh what's up?,23.9,-1" "OnTrigger" "MasqueradeTextCard,Display,,24,-1" "OnTrigger" "tf_gamerules,PlayVO,vo/mvm/mght/scout_mvm_m_beingshotinvincible06.mp3,24,-1" "OnTrigger" "tf_gamerules,PlayVO,vo/mvm/mght/scout_mvm_m_beingshotinvincible06.mp3,24,-1" "OnTrigger" "BigNet,RunScriptCode,MusicSystemMent.SetMusicTrack(`#music/hurtbreakwonderland/in_absentia_logos_calm.wav`),25,-1" "OnTrigger" "Player,$DisplayTextChat,{00FFFF}Now Playing: {FFFFFF}In Absentia Logos - Heaven Pierce Her,25,-1" "OnTrigger" "tf_gamerules,PlayVO,misc/freeze_cam.wav,25,-1" "OnTrigger" "tf_gamerules,PlayVO,misc/freeze_cam.wav,25,-1" "OnTrigger" "MasqueradeIntroCardUpper,Display,,25,-1" "OnTrigger" "MasqueradeIntroCardLower,Display,,26,-1" "OnTrigger" "MasqueradeIntroCamera1,CallScriptFunction,DisableAll,34.9,-1" "OnTrigger" "MasqueradeIntroCamera2,CallScriptFunction,EnableAll,34.9,-1" "OnTrigger" "MasqueradeTextCard,$setkey$message,Look at you chuckleheads down there!,34.9,-1" "OnTrigger" "MasqueradeTextCard,Display,,35,-1" "OnTrigger" "tf_gamerules,PlayVO,vo/mvm/mght/scout_mvm_m_apexofjump03.mp3,35,-1" "OnTrigger" "tf_gamerules,PlayVO,vo/mvm/mght/scout_mvm_m_apexofjump03.mp3,35,-1" "OnTrigger" "MasqueradeMan,SetAnimation,taunt_flag_scout_outro,37.4,-1" "OnTrigger" "MasqueradeMan,SetAnimation,taunt03,37.73,-1" "OnTrigger" "MasqueradeTextCard,$setkey$message,What's the matter? You freaking stupid?,37.4,-1" "OnTrigger" "MasqueradeTextCard,Display,,37.5,-1" "OnTrigger" "tf_gamerules,PlayVO,vo/mvm/mght/scout_mvm_m_misc09.mp3,37.5,-1" "OnTrigger" "tf_gamerules,PlayVO,vo/mvm/mght/scout_mvm_m_misc09.mp3,37.5,-1" "OnTrigger" "MasqueradeIntroCamera2,CallScriptFunction,DisableAll,39.9,-1" "OnTrigger" "MasqueradeIntroCamera3,CallScriptFunction,EnableAll,39.9,-1" "OnTrigger" "MasqueradeTextCard,$setkey$message,Would you look at you? I mean look at you!,39.9,-1" "OnTrigger" "MasqueradeTextCard,Display,,40,-1" "OnTrigger" "tf_gamerules,PlayVO,vo/mvm/mght/scout_mvm_m_domination09.mp3,40,-1" "OnTrigger" "tf_gamerules,PlayVO,vo/mvm/mght/scout_mvm_m_domination09.mp3,40,-1" "OnTrigger" "MasqueradeMan,SetAnimation,scout_taunt_replay,40,-1" "OnTrigger" "MasqueradeMan,SetPlaybackRate,0.001,41,-1" "OnTrigger" "MasqueradeIntroCamera3,$SetTarget,MasqueradeRedView,41,-1" "OnTrigger" "MasqueradeTextCard,$setkey$message,You're like a car crash in slow motion.,41.9,-1" "OnTrigger" "MasqueradeTextCard,$setkey$message,It's like I'm watchin' ya fly through a windshield.,43.7,-1" "OnTrigger" "MasqueradeTextCard,Display,,42,-1" "OnTrigger" "MasqueradeTextCard,Display,,43.8,-1" "OnTrigger" "tf_gamerules,PlayVO,vo/mvm/mght/scout_mvm_m_misc07.mp3,42,-1" "OnTrigger" "tf_gamerules,PlayVO,vo/mvm/mght/scout_mvm_m_misc07.mp3,42,-1" "OnTrigger" "MasqueradeIntroCamera3,CallScriptFunction,DisableAll,46,-1" "OnTrigger" "MasqueradeIntroCamera4,CallScriptFunction,EnableAll,46,-1" "OnTrigger" "MasqueradeMan,SetAnimation,taunt_the_boston_breakdance,46,-1" "OnTrigger" "MasqueradeTextCard,$setkey$message,There ain't enough crits in the world to kill me!,46.9,-1" "OnTrigger" "MasqueradeTextCard,Display,,47,-1" "OnTrigger" "tf_gamerules,PlayVO,vo/mvm/mght/scout_mvm_m_dominationsol06.mp3,47,-1" "OnTrigger" "tf_gamerules,PlayVO,vo/mvm/mght/scout_mvm_m_dominationsol06.mp3,47,-1" "OnTrigger" "MasqueradeIntroCamera5,CallScriptFunction,DisableAll,50.9,-1" "OnTrigger" "MasqueradeIntroCamera6,CallScriptFunction,EnableAll,50.9,-1" "OnTrigger" "MasqueradeMan,SetPlaybackRate,0.001,51,-1" "OnTrigger" "MasqueradeTextCard,$setkey$message,You morons are about to catch a real beatin'.,50.9,-1" "OnTrigger" "MasqueradeTextCard,Display,,51,-1" "OnTrigger" "tf_gamerules,PlayVO,vo/mvm/mght/taunts/scout_mvm_m_taunts17.mp3,51,-1" "OnTrigger" "tf_gamerules,PlayVO,vo/mvm/mght/taunts/scout_mvm_m_taunts17.mp3,51,-1" "OnTrigger" "BigNetRunScriptCodeMusicSystemMent.SetMusicTrack(``, 0.5, 0.5)51-1" "OnTrigger" "MasqueradeIntroCamera6,CallScriptFunction,DisableAll,54,-1" "OnTrigger" "MasqueradeIntroCamera5,CallScriptFunction,EnableAll,54,-1" "OnTrigger" "MasqueradeIntroCamera5,$SetTarget,MasqueradeMagicView,54.33,-1" "OnTrigger" "MasqueradeMan,SetAnimation,taunt_flag_scout_outro,54,-1" "OnTrigger" "tf_gamerules,PlayVO,misc/halloween/spell_teleport.wav,54.33,-1" "OnTrigger" "MasqueradeChargeParticle,Start,,54.33,-1" "OnTrigger" "MasqueradeMan,SetAnimation,secondrate_sorcery_scout,54.33,-1" "OnTrigger" "MasqueradeTextCard,$setkey$message,Think fast chucklenuts!,55.8,-1" "OnTrigger" "MasqueradeTextCard,Display,,55.83,-1" "OnTrigger" "tf_gamerules,PlayVO,vo/mvm/mght/scout_mvm_m_stunballhit15.mp3,55.83,-1" "OnTrigger" "tf_gamerules,PlayVO,vo/mvm/mght/scout_mvm_m_stunballhit15.mp3,55.83,-1" "OnTrigger" "tf_gamerules,PlayVO,misc/halloween/spell_lightning_ball_cast.wav,56.83,-1" "OnTrigger" "tf_gamerules,PlayVO,misc/halloween/spell_spawn_boss.wav,56.83,-1" "OnTrigger" "PlayerRunScriptCodeScreenFade(null, 255, 255, 255, 255, 0.7, 1.5, 1)56.83-1" "OnTrigger" "PlayerRunScriptCodeself.RemoveHudHideFlags(~132)56.83-1" "OnTrigger" "MasqueradeIntroCamera5,CallScriptFunction,DisableAll,56.83,-1" "OnTrigger" "MasqueradeChargeParticle,Stop,56.83,-1" "OnTrigger" "MasqueradeCC,Enable,,56.83,-1" "OnTrigger" "MasqueradeVortex,Enable,,56.83,-1" "OnTrigger" "MasqueradeVortexArm,Enable,,56.83,-1" "OnTrigger" "MasqueradeIdleRelay,Trigger,,57.83,-1" "OnTrigger" "MasqueradeIntroCamera5,$SetTarget,MasqueradePortalParticle,57.83,-1" "OnTrigger" "MasqueradeTextCard,$setkey$message,Bang! I make it look easy.,59.99,-1" "OnTrigger" "MasqueradeTextCard,Display,,60,-1" "OnTrigger" "tf_gamerules,PlayVO,vo/mvm/mght/scout_mvm_m_award12.mp3,60,-1" "OnTrigger" "tf_gamerules,PlayVO,vo/mvm/mght/scout_mvm_m_award12.mp3,60,-1" "OnTrigger" "MasqueradeTextCard,$setkey$message,How do you like me now blockhead?,61.99,-1" "OnTrigger" "MasqueradeTextCard,Display,,62,-1" "OnTrigger" "tf_gamerules,PlayVO,vo/mvm/mght/scout_mvm_m_revenge02.mp3,62,-1" "OnTrigger" "tf_gamerules,PlayVO,vo/mvm/mght/scout_mvm_m_revenge02.mp3,62,-1" "OnTrigger" "MasqueradeTextCard,$setkey$message,Let's do this.,63.99,-1" "OnTrigger" "MasqueradeTextCard,Display,,64,-1" "OnTrigger" "tf_gamerules,PlayVO,vo/mvm/mght/scout_mvm_m_meleedare03.mp3,64,-1" "OnTrigger" "tf_gamerules,PlayVO,vo/mvm/mght/scout_mvm_m_meleedare03.mp3,64,-1" "OnTrigger" "BigNetRunScriptCodeMusicSystemMent.SetMusicTrack(`#music/hurtbreakwonderland/in_absentia_logos.wav`)64-1" } point_viewcontrol { "targetname" "MasqueradeIntroCamera1" "origin" "208 370 676" "target" "MasqueradePortalParticle" "moveto" "MasqueradeIntroPath_1" "speed" "50" "acceleration" "0" "deceleration" "0" "trackspeed" "50" "spawnflags" "28" "vscripts" "point_viewcontrol_fix" } point_viewcontrol { "targetname" "MasqueradeIntroCamera2" "origin" "512 130 1348" "target" "MasqueradePortalParticle" "acceleration" "0" "deceleration" "0" "trackspeed" "50" "spawnflags" "28" "vscripts" "point_viewcontrol_fix" } point_viewcontrol { "targetname" "MasqueradeIntroCamera3" "origin" "208 -36 1236" "target" "MasqueradePortalParticle" "acceleration" "0" "deceleration" "0" "trackspeed" "150" "spawnflags" "28" "vscripts" "point_viewcontrol_fix" } info_target { "targetname" "MasqueradeRedView" "origin" "208 2 1204" } point_viewcontrol { "targetname" "MasqueradeIntroCamera4" "origin" "16 -78 1332" "target" "MasqueradePortalParticle" "acceleration" "0" "deceleration" "0" "trackspeed" "50" "spawnflags" "28" "vscripts" "point_viewcontrol_fix" } point_viewcontrol { "targetname" "MasqueradeIntroCamera5" "origin" "208 -46 1172" "target" "MasqueradePortalParticle" "acceleration" "0" "deceleration" "0" "trackspeed" "50" "spawnflags" "28" "vscripts" "point_viewcontrol_fix" } point_viewcontrol { "targetname" "MasqueradeIntroCamera6" "origin" "208 -142 1172" "target" "MasqueradePortalParticle" "acceleration" "0" "deceleration" "0" "trackspeed" "50" "spawnflags" "28" "vscripts" "point_viewcontrol_fix" } info_target { "targetname" "MasqueradeMagicView" "origin" "208 -333 1232" } info_particle_system { "targetname" "MasqueradeIntroParticle" "origin" "208 -336 1088" "effect_name" "spell_fireball_small_red" "start_active" "0" } info_particle_system { "targetname" "MasqueradeIntroParticle2" "origin" "208 -336 1088" "effect_name" "lava_fireball" "start_active" "0" } info_particle_system { "targetname" "MasqueradeIntroParticle3" "origin" "208 -336 1088" "effect_name" "mvm_tank_destroy" "start_active" "0" } game_text { "targetname" "MasqueradeIntroCardUpper" "message" "THE STAR OF THE SHOW" "x" "-1" "y" "0.7" "effect" "0" "color" "255 255 255" "fadein" "1" "holdtime" "4" "fadeout" "1" "channel" "1" "spawnflags" "1" } game_text { "targetname" "MasqueradeIntroCardLower" "message" "MASQUERADE" "x" "-1" "y" "0.75" "effect" "2" "color" "255 255 255" "fxtime" "0.05" "fadein" "0.05" "holdtime" "1.75" "fadeout" "1" "channel" "2" "spawnflags" "1" } game_text { "targetname" "MasqueradeTextCard" "message" "" "x" "-1" "y" "0.65" "effect" "0" "color" "255 255 255" "fadein" "0.2" "holdtime" "2" "fadeout" "0.2" "channel" "3" "spawnflags" "1" } // Masquerade Shows Up logic_relay { "targetname" "MasqueradeIdleRelay" "OnTrigger" "MasqueradeMan,Enable,,0,-1" "OnTrigger" "MasqueradeManBot,TurnOn,,0,-1" "OnTrigger" "MasqueradeFit,TurnOn,,0,-1" "OnTrigger" "MasqueradeParticle,Start,,0,-1" "OnTrigger" "MasqueradeParticleTimer,Enable,,0,-1" "OnTrigger" "MasqueradeMan,SetAnimation,taunt_flag_scout,0,-1" "OnTrigger" "MasqueradeMan,SetPlaybackRate,0.001,6,-1" } prop_dynamic { "targetname" "MasqueradeMan" "origin" "208 -336 1000" "angles" "0 90 0" "model" "models/player/scout.mdl" "modelscale" "2" "rendermode" "10" "disablebonefollowers" "1" "disableshadows" "1" "startdisabled" "1" } prop_dynamic_ornament { "targetname" "MasqueradeManBot" "InitialOwner" "MasqueradeMan" "model" "models/bots/scout_boss/bot_scout_gray_boss.mdl" "modelscale" "2" "disablebonefollowers" "1" "disableshadows" "1" } prop_dynamic_ornament { "targetname" "MasqueradeFit" "InitialOwner" "MasqueradeMan" "model" "models/workshop/player/items/scout/dec2014_marauders_mask/dec2014_marauders_mask.mdl" "skin" "1" "disablebonefollowers" "1" "disableshadows" "1" } prop_dynamic_ornament { "targetname" "MasqueradeFit" "InitialOwner" "MasqueradeMan" "model" "models/workshop/player/items/scout/hwn2025_torn_terror/hwn2025_torn_terror.mdl" "skin" "1" "disablebonefollowers" "1" "disableshadows" "1" } prop_dynamic_ornament { "targetname" "MasqueradeFit" "InitialOwner" "MasqueradeMan" "model" "models/workshop/player/items/scout/dec2014_truands_tunic/dec2014_truands_tunic.mdl" "skin" "1" "disablebonefollowers" "1" "disableshadows" "1" } prop_dynamic_ornament { "targetname" "MasqueradeFit" "InitialOwner" "MasqueradeMan" "model" "models/workshop/player/items/scout/dec2014_fools_footwear/dec2014_fools_footwear.mdl" "skin" "1" "disablebonefollowers" "1" "disableshadows" "1" } info_particle_system { "targetname" "MasqueradeParticle" "origin" "208 -336 992" "effect_name" "hwn_cart_drips_blue" "start_active" "0" } info_particle_system { "targetname" "MasqueradeParticle" "origin" "208 -336 992" "effect_name" "hwn_cart_cap_neutral" "start_active" "0" } info_particle_system { "targetname" "MasqueradeParticle2" "origin" "208 -336 976" "effect_name" "powerup_supernova_explode_blue" "start_active" "0" } logic_timer { "targetname" "MasqueradeParticleTimer" "refiretime" "3" "startdisabled" "1" "OnTimer" "MasqueradeParticle2,Start,,0,-1" "OnTimer" "MasqueradeParticle2,Stop,,1,-1" } // Masquerade Transforms the Map info_particle_system { "targetname" "MasqueradeChargeParticle" "origin" "208 -320 1312" "effect_name" "charge_up" "start_active" "0" } prop_dynamic { "targetname" "MasqueradeVortex" "origin" "208 -336 2189" "model" "models/reudina/vortex_reu.mdl" "modelscale" "5" "rendermode" "1" "rendercolor" "255 216 128" "disablebonefollowers" "1" "disableshadows" "1" "startdisabled" "1" } prop_dynamic { "targetname" "MasqueradeVortexArm" "origin" "127 -263 1826" "angles" "0 0 90" "model" "models/reudina/wof_reu.mdl" "modelscale" "3" "rendermode" "1" "rendercolor" "255 216 128" "disablebonefollowers" "1" "disableshadows" "1" "startdisabled" "1" } prop_dynamic { "targetname" "MasqueradeVortexArm" "origin" "289 -409 1826" "angles" "0 180 90" "model" "models/reudina/wof_reu.mdl" "modelscale" "3" "rendermode" "1" "rendercolor" "255 216 128" "disablebonefollowers" "1" "disableshadows" "1" "startdisabled" "1" } color_correction { "targetname" "MasqueradeCC" "origin" "208 -320 1312" "filename" "materials/colorcorrection/hurtbreaklight.raw" "maxweight" "0.4" "minfalloff" "-1" "maxfalloff" "-1" "fadeInDuration" "0" "fadeOutDuration" "5" "StartDisabled" "1" } // Masquerade Mid-wave Cutscene (Wave 1) logic_relay { "targetname" "MasqueradeWave1HazardCutscene" "OnTrigger" "PlayerRunScriptCodeself.SetHudHideFlags(~132)0-1" "OnTrigger" "MasqueradeIntroCamera5,CallScriptFunction,EnableAll,0,-1" "OnTrigger" "MasqueradeMan,SetAnimation,taunt_the_critical_fail_scout,0.1,-1" "OnTrigger" "MasqueradeTextCard,$setkey$message,It's startin' to bore me how much you suck.,0,-1" "OnTrigger" "MasqueradeTextCard,Display,,0.1,-1" "OnTrigger" "tf_gamerules,PlayVO,vo/mvm/mght/scout_mvm_m_domination06.mp3,0.1,-1" "OnTrigger" "tf_gamerules,PlayVO,vo/mvm/mght/scout_mvm_m_domination06.mp3,0.1,-1" "OnTrigger" "MasqueradeMan,SetPlaybackRate,0.001,2.83,-1" "OnTrigger" "MasqueradeTextCard,$setkey$message,Depth perception pal. Look into it.,2.99,-1" "OnTrigger" "MasqueradeTextCard,Display,,3,-1" "OnTrigger" "tf_gamerules,PlayVO,vo/mvm/mght/scout_mvm_m_dominationdem05.mp3,3,-1" "OnTrigger" "tf_gamerules,PlayVO,vo/mvm/mght/scout_mvm_m_dominationdem05.mp3,3,-1" "OnTrigger" "tf_gamerules,PlayVO,misc/halloween/spell_meteor_cast.wav,4,-1" "OnTrigger" "tf_gamerules,PlayVO,misc/halloween/spell_meteor_cast.wav,4,-1" "OnTrigger" "MasqueradeManRunScriptCodeDispatchParticleAttached(self, `spell_fireball_small_red`, `hand_L`)4-1" "OnTrigger" "MasqueradeManRunScriptCodeDispatchParticleAttached(self, `spell_fireball_small_red`, `hand_R`)4-1" "OnTrigger" "MasqueradeTextCard,$setkey$message,Play ball!,5.99,-1" "OnTrigger" "MasqueradeTextCard,Display,,6,-1" "OnTrigger" "tf_gamerules,PlayVO,vo/mvm/mght/scout_mvm_m_battlecry01.mp3,6,-1" "OnTrigger" "tf_gamerules,PlayVO,vo/mvm/mght/scout_mvm_m_battlecry01.mp3,6,-1" "OnTrigger" "MasqueradeMan,SetAnimation,taunt_the_trackmans_touchdown,6,-1" "OnTrigger" "PlayerRunScriptCodeScreenFade(null, 255, 255, 255, 110, 0.7, 1, 1)7.16-1" "OnTrigger" "MasqueradeMan,SetPlaybackRate,0.001,7.16,-1" "OnTrigger" "tf_gamerules,PlayVO,misc/halloween/spell_spawn_boss.wav,7.16,-1" "OnTrigger" "tf_gamerules,PlayVO,misc/halloween/spell_spawn_boss.wav,7.16,-1" "OnTrigger" "MasqueradeManRunScriptCodeDispatchParticleAttached(self, `projectile_fireball_ring_fire`, `hand_L`)7.16-1" "OnTrigger" "MasqueradeManRunScriptCodeDispatchParticleAttached(self, `projectile_fireball_ring_fire`, `hand_R`)7.16-1" "OnTrigger" "MasqueradeManRunScriptCodeDispatchParticleAttached(self, null, `hand_L`)8.16-1" "OnTrigger" "MasqueradeManRunScriptCodeDispatchParticleAttached(self, null, `hand_R`)8.16-1" "OnTrigger" "MasqueradeFireRainStageHazardPT,ForceSpawn,,8.16,-1" "OnTrigger" "MasqueradeIntroCamera5,CallScriptFunction,DisableAll,8.16,-1" "OnTrigger" "MasqueradeIntroCamera7,CallScriptFunction,EnableAll,8.16,-1" "OnTrigger" "tf_gamerules,PlayVO,player/fall_damage_indicator.wav,8.33,-1" "OnTrigger" "tf_gamerules,PlayVO,player/fall_damage_indicator.wav,8.66,-1" "OnTrigger" "tf_gamerules,PlayVO,player/fall_damage_indicator.wav,9,-1" "OnTrigger" "tf_gamerules,PlayVO,player/fall_damage_indicator.wav,9.33,-1" "OnTrigger" "tf_gamerules,PlayVO,player/fall_damage_indicator.wav,9.66,-1" "OnTrigger" "tf_gamerules,PlayVO,player/fall_damage_indicator.wav,10,-1" "OnTrigger" "tf_gamerules,PlayVO,player/fall_damage_indicator.wav,10.33,-1" "OnTrigger" "tf_gamerules,PlayVO,player/fall_damage_indicator.wav,10.66,-1" "OnTrigger" "tf_gamerules,PlayVO,player/fall_damage_indicator.wav,11,-1" "OnTrigger" "PlayerRunScriptCodeself.RemoveHudHideFlags(~132)11-1" "OnTrigger" "MasqueradeIntroCamera7,CallScriptFunction,DisableAll,11,-1" "OnTrigger" "MasqueradeIdleRelay,Trigger,,11,-1" "OnTrigger" "BigNet,RunScriptCode,MusicSystemMent.SetMusicTrack(`#music/hurtbreakwonderland/spiral_out.wav`),11,-1" "OnTrigger" "Player,$DisplayTextChat,{00FFFF}Now Playing: {FFFFFF}Spiral Out - Heaven Pierce Her,11,-1" } point_viewcontrol { "targetname" "MasqueradeIntroCamera7" "origin" "208 610 1316" "target" "MasqueradePortalParticle" "acceleration" "0" "deceleration" "0" "trackspeed" "50" "spawnflags" "28" "vscripts" "point_viewcontrol_fix" } // Masquerade End-wave Cutscene (Wave 2) logic_relay { "targetname" "MasqueradeWave1EndCutscene" "OnTrigger" "item_teamflag*,ForceReset,,0,-1" "OnTrigger" "BigNetRunScriptCodeMusicSystemMent.SetMusicTrack(``, 0.5, 0.5)0-1" "OnTrigger" "FireRainTimer,Kill,,0,-1" "OnTrigger" "PlayerRunScriptCodeself.SetHudHideFlags(~132)2-1" "OnTrigger" "MasqueradeIntroCamera5,CallScriptFunction,EnableAll,2,-1" "OnTrigger" "MasqueradeMan,SetAnimation,taunt_commending_clap_scout,2.1,-1" "OnTrigger" "MasqueradeTextCard,$setkey$message,Reeeal smooth dummy!,5.32,-1" "OnTrigger" "MasqueradeTextCard,Display,,5.33,-1" "OnTrigger" "tf_gamerules,PlayVO,vo/mvm/mght/scout_mvm_m_stunballhit16.mp3,5.33,-1" "OnTrigger" "tf_gamerules,PlayVO,vo/mvm/mght/scout_mvm_m_stunballhit16.mp3,5.33,-1" "OnTrigger" "MasqueradeMan,SetPlaybackRate,0.001,5.33,-1" "OnTrigger" "MasqueradeMan,SetPlaybackRate,1,7.33,-1" "OnTrigger" "MasqueradeTextCard,$setkey$message,Hey lotta' good that gun did you!,8.32,-1" "OnTrigger" "MasqueradeTextCard,Display,,8.33,-1" "OnTrigger" "tf_gamerules,PlayVO,vo/mvm/mght/taunts/scout_mvm_m_taunts09.mp3,8.33,-1" "OnTrigger" "tf_gamerules,PlayVO,vo/mvm/mght/taunts/scout_mvm_m_taunts09.mp3,8.33,-1" "OnTrigger" "MasqueradeMan,SetPlaybackRate,0.001,8.33,-1" "OnTrigger" "PlayerRunScriptCodeself.RemoveHudHideFlags(~132)11-1" "OnTrigger" "MasqueradeIntroCamera5,CallScriptFunction,DisableAll,11,-1" } // Masquerade Intro Cutscene (Wave 2) logic_relay { "targetname" "MasqueradeWave2IntroRelay" "OnTrigger" "PlayerRunScriptCodeself.SetHudHideFlags(~132)0-1" "OnTrigger" "MasqueradeIntroCamera2,CallScriptFunction,EnableAll,0,-1" "OnTrigger" "MasqueradeMan,SetAnimation,taunt_come_and_get_me,0.1,-1" "OnTrigger" "MasqueradeTextCard,$setkey$message,C'mon tough guy!,0,-1" "OnTrigger" "MasqueradeTextCard,Display,,0.1,-1" "OnTrigger" "tf_gamerules,PlayVO,vo/mvm/mght/scout_mvm_m_meleedare06.mp3,0.1,-1" "OnTrigger" "tf_gamerules,PlayVO,vo/mvm/mght/scout_mvm_m_meleedare06.mp3,0.1,-1" "OnTrigger" "MasqueradeTextCard,$setkey$message,Is that all you got moron?,2.4,-1" "OnTrigger" "MasqueradeTextCard,Display,,2.5,-1" "OnTrigger" "tf_gamerules,PlayVO,vo/mvm/mght/scout_mvm_m_domination17.mp3,2.5,-1" "OnTrigger" "tf_gamerules,PlayVO,vo/mvm/mght/scout_mvm_m_domination17.mp3,2.5,-1" "OnTrigger" "MasqueradeMan,SetPlaybackRate,0.001,2.5,-1" "OnTrigger" "MasqueradeIntroCamera2,CallScriptFunction,DisableAll,4.5,-1" "OnTrigger" "MasqueradeIntroCamera5,CallScriptFunction,EnableAll,4.5,-1" "OnTrigger" "MasqueradeMan,SetAnimation,taunt_bat_man,4.5,-1" "OnTrigger" "MasqueradeSword,TurnOn,,4.5,-1" "OnTrigger" "MasqueradeSwordRunScriptCodeDispatchParticleEffectOn(self, `utaunt_glowyplayer_purple_parent`)4.5-1" "OnTrigger" "tf_gamerules,PlayVO,weapons/batsaber_swing2.wav,5.5,-1" "OnTrigger" "tf_gamerules,PlayVO,weapons/batsaber_swing3.wav,5.7,-1" "OnTrigger" "tf_gamerules,PlayVO,weapons/batsaber_swing1.wav,5.9,-1" "OnTrigger" "tf_gamerules,PlayVO,weapons/batsaber_swing3.wav,6.1,-1" "OnTrigger" "tf_gamerules,PlayVO,weapons/batsaber_swing_crit1.wav,6.3,-1" "OnTrigger" "tf_gamerules,PlayVO,weapons/batsaber_swing_crit2.wav,6.5,-1" "OnTrigger" "tf_gamerules,PlayVO,misc/halloween/spell_mirv_cast.wav,6.5,-1" "OnTrigger" "MasqueradeSwordRunScriptCodeDispatchParticleEffectOn(self, null)8.5-1" "OnTrigger" "MasqueradeSword,TurnOff,,8.5,-1" "OnTrigger" "MasqueradeIdleRelay,Trigger,,8.5,-1" "OnTrigger" "MasqueradeIntroCamera5,CallScriptFunction,DisableAll,8.5,-1" "OnTrigger" "MasqueradeSummonCamera,CallScriptFunction,EnableAll,8.5,-1" "OnTrigger" "tf_gamerules,PlayVO,ambient/halloween/thunder_04.wav,8.5,-1" "OnTrigger" "MasqueradeSummonPortalParticle,Start,,8.5,-1" "OnTrigger" "MasqueradeSummonCamera,CallScriptFunction,DisableAll,10.5,-1" "OnTrigger" "PlayerRunScriptCodeself.RemoveHudHideFlags(~132)10.5-1" "OnTrigger" "MasqueradeSummonPortalParticle,Stop,,13.5,-1" "OnTrigger" "PlayerRunScriptCodeScreenFade(null, 255, 255, 255, 110, 0.7, 1.5, 1)13.5-1" "OnTrigger" "tf_gamerules,PlayVO,misc/halloween/spell_spawn_boss.wav,13.5,-1" "OnTrigger" "BigNetRunScriptCodeEmitSoundEx({sound_name=`vo/mvm/mght/demoman_mvm_m_paincrticialdeath05.mp3`,channel = 6,pitch = 50,filter_type=5})13.51" "OnTrigger" "BigNetRunScriptCodeEmitSoundEx({sound_name=`vo/mvm/mght/demoman_mvm_m_paincrticialdeath05.mp3`,channel = 6,pitch = 50,filter_type=5})13.51" "OnTrigger" "BigNet,RunScriptCode,MusicSystemMent.SetMusicTrack(`#music/hurtbreakwonderland/no_devil_lived_on.wav`),15,-1" "OnTrigger" "Player,$DisplayTextChat,{00FFFF}Now Playing: {FFFFFF}No Devil Lived On - Heaven Pierce Her,15,-1" } prop_dynamic_ornament { "targetname" "MasqueradeSword" "InitialOwner" "MasqueradeMan" "model" "models/weapons/c_models/c_scout_sword/c_scout_sword.mdl" "disablebonefollowers" "1" "disableshadows" "1" } point_viewcontrol { "targetname" "MasqueradeSummonCamera" "origin" "-64 290 276" "target" "MasqueradeSummonPortalParticle" "acceleration" "0" "deceleration" "0" "trackspeed" "50" "spawnflags" "28" "vscripts" "point_viewcontrol_fix" } info_particle_system { "targetname" "MasqueradeSummonPortalParticle" "origin" "-64 16 -48" "effect_name" "halloween_boss_summon" "start_active" "0" } info_particle_system { "targetname" "MasqueradeSummonPortalParticle" "origin" "-64 16 -48" "effect_name" "hwn_cart_cap_red" "start_active" "0" } } MasqueradeFireRainStageHazardPT { NoFixUp 1 RemoveIfKilled "FireRainTimer" logic_timer { "targetname" "FireRainTimer" "RefireTime" "0.2" "OnTimer" "FireRainLocationCase,PickRandomShuffle,,0,-1" } logic_case { "targetname" "FireRainLocationCase" "OnCase01" "MasqueradeFireRain,$TeleportToEntity,FireRainLocation1,0,-1" "OnCase01" "MasqueradeFireRain,FireOnce,,0.1,-1" "OnCase02" "MasqueradeFireRain,$TeleportToEntity,FireRainLocation2,0,-1" "OnCase02" "MasqueradeFireRain,FireOnce,,0.1,-1" "OnCase03" "MasqueradeFireRain,$TeleportToEntity,FireRainLocation3,0,-1" "OnCase03" "MasqueradeFireRain,FireOnce,,0.1,-1" "OnCase04" "MasqueradeFireRain,$TeleportToEntity,FireRainLocation4,0,-1" "OnCase04" "MasqueradeFireRain,FireOnce,,0.1,-1" "OnCase05" "MasqueradeFireRain,$TeleportToEntity,FireRainLocation5,0,-1" "OnCase05" "MasqueradeFireRain,FireOnce,,0.1,-1" "OnCase06" "MasqueradeFireRain,$TeleportToEntity,FireRainLocation6,0,-1" "OnCase06" "MasqueradeFireRain,FireOnce,,0.1,-1" "OnCase07" "MasqueradeFireRain,$TeleportToEntity,FireRainLocation7,0,-1" "OnCase07" "MasqueradeFireRain,FireOnce,,0.1,-1" "OnCase08" "MasqueradeFireRain,$TeleportToEntity,FireRainLocation8,0,-1" "OnCase08" "MasqueradeFireRain,FireOnce,,0.1,-1" "OnCase09" "MasqueradeFireRain,$TeleportToEntity,FireRainLocation9,0,-1" "OnCase09" "MasqueradeFireRain,FireOnce,,0.1,-1" "OnCase10" "MasqueradeFireRain,$TeleportToEntity,FireRainLocation10,0,-1" "OnCase10" "MasqueradeFireRain,FireOnce,,0.1,-1" "OnCase11" "MasqueradeFireRain,$TeleportToEntity,FireRainLocation11,0,-1" "OnCase11" "MasqueradeFireRain,FireOnce,,0.1,-1" "OnCase12" "MasqueradeFireRain,$TeleportToEntity,FireRainLocation12,0,-1" "OnCase12" "MasqueradeFireRain,FireOnce,,0.1,-1" "OnCase13" "MasqueradeFireRain,$TeleportToEntity,FireRainLocation13,0,-1" "OnCase13" "MasqueradeFireRain,FireOnce,,0.1,-1" "OnCase14" "MasqueradeFireRain,$TeleportToEntity,FireRainLocation14,0,-1" "OnCase14" "MasqueradeFireRain,FireOnce,,0.1,-1" "OnCase15" "MasqueradeFireRain,$TeleportToEntity,FireRainLocation15,0,-1" "OnCase15" "MasqueradeFireRain,FireOnce,,0.1,-1" "OnCase16" "MasqueradeFireRain,$TeleportToEntity,FireRainLocation16,0,-1" "OnCase16" "MasqueradeFireRain,FireOnce,,0.1,-1" } tf_point_weapon_mimic { "targetname" "MasqueradeFireRain" "angles" "45 90 0" "teamnum" "3" "$weaponname" "MasqueradeFireRainWeapon" } info_target { "targetname" "FireRainLocation2" "origin" "208 -672 1536" } info_target { "targetname" "FireRainLocation3" "origin" "-320 -448 1536" } info_target { "targetname" "FireRainLocation4" "origin" "576 -320 1536" } info_target { "targetname" "FireRainLocation6" "origin" "224 96 1536" } info_target { "targetname" "FireRainLocation7" "origin" "-544 -128 1536" } info_target { "targetname" "FireRainLocation8" "origin" "416 832 1536" } info_target { "targetname" "FireRainLocation9" "origin" "224 1664 1536" } info_target { "targetname" "FireRainLocation10" "origin" "-960 1792 1536" } info_target { "targetname" "FireRainLocation11" "origin" "-1712 1520 1536" } info_target { "targetname" "FireRainLocation12" "origin" "-1942 1792 1536" } info_target { "targetname" "FireRainLocation13" "origin" "-2224 880 1536" } info_target { "targetname" "FireRainLocation14" "origin" "-2480 432 1536" } info_target { "targetname" "FireRainLocation15" "origin" "-3360 -320 1536" } info_target { "targetname" "FireRainLocation16" "origin" "-2288 -160 1536" } } //// Summoner PTs //// SummonerRapidSoldierPT { RemoveIfKilled "SummonerTarget" KeepAlive 1 OnSpawnOutput { Target "SummonerTarget" Action SetParent Param "!activator" Delay 0.1 } OnSpawnOutput { Target "SummonerMinionGenerator1" Action SetParent Param "!activator" Delay 0.1 } OnSpawnOutput { Target "SummonerMinionGenerator2" Action SetParent Param "!activator" Delay 0.1 } OnSpawnOutput { Target "SummonerMinionGenerator3" Action SetParent Param "!activator" Delay 0.1 } OnSpawnOutput { Target "SummonerMinionGenerator4" Action SetParent Param "!activator" Delay 0.1 } OnSpawnOutput { Target "SummonerMinionTimer" Action "Enable" Delay 6.9 Repeats 1 Cooldown -1 } OnSpawnOutput { Target "SummonerMinionTimer" Action "FireTimer" Delay 7 Repeats 1 Cooldown -1 } OnParentKilledOutput { Target "SummonerClearRelay" Action "Trigger" Delay 0.1 Repeats 1 Cooldown -1 } OnParentKilledOutput { Target "SummonerTarget" Action "Kill" Delay 1 Repeats 1 Cooldown -1 } info_target { "targetname" "SummonerTarget" "origin" "0 0 50" } logic_timer { "targetname" "SummonerMinionTimer" "RefireTime" "10" "StartDisabled" 1 "OnTimer" "SummonerSummonRelay,Trigger,,0,-1" } logic_relay { "targetname" "SummonerSummonRelay" "OnTrigger" "@p@SummonerTarget,$AddPlayerAttribute,dmg from ranged reduced|0.25,0,-1" "OnTrigger" "@p@SummonerTarget,$AddPlayerAttribute,dmg from melee increased|0.25,0,-1" "OnTrigger" "@p@SummonerTarget,$TauntFromItem,Taunt: Second Rate Sorcery,0,-1" "OnTrigger" "@p@SummonerTarget,$TauntFromItem,Taunt: Second Rate Sorcery,0.1,-1" "OnTrigger" "SummonerSummonIndicator,Enable,,0.5,-1" "OnTrigger" "SummonerSummonIndicator,SetAnimation,Start,,0.5,-1" "OnTrigger" "tf_gamerules,PlayVO,misc/halloween/spell_mirv_cast.wav,0.5,-1" "OnTrigger" "SummonerMinionSpawnPT,ForceSpawn,,2.3,-1" "OnTrigger" "@p@SummonerTarget,RunScriptCode,SummonerScript.SummonerMinionTrace(self),2.3,-1" "OnTrigger" "SummonerMinionGenerator1,SpawnBot,,2.33,-1" "OnTrigger" "SummonerMinionGenerator2,SpawnBot,,2.33,-1" "OnTrigger" "SummonerMinionGenerator3,SpawnBot,,2.33,-1" "OnTrigger" "SummonerMinionGenerator4,SpawnBot,,2.33,-1" "OnTrigger" "SummonerMinionCounter,Add,4,2.33,-1" "OnTrigger" "tf_gamerules,PlayVO,misc/halloween/spell_spawn_boss.wav,2.33,-1" "OnTrigger" "SummonerSummonIndicator,SetAnimation,end,2.5,-1" "OnTrigger" "@p@SummonerTarget,$RemovePlayerAttribute,dmg from ranged reduced,3.5,-1" "OnTrigger" "@p@SummonerTarget,$RemovePlayerAttribute,dmg from melee increased,3.5,-1" "OnTrigger" "SummonerSummonIndicator,Disable,,3.5,-1" "OnTrigger" "@p@SummonerTarget,$RemoveCond,7,3.5,-1" } logic_relay { "targetname" "SummonerClearRelay" "OnTrigger" "SummonerMinionGenerator1,RemoveBots,,0,-1" "OnTrigger" "SummonerMinionGenerator1,RemoveBots,,0,-1" "OnTrigger" "SummonerMinionGenerator2,RemoveBots,,0,-1" "OnTrigger" "SummonerMinionGenerator2,RemoveBots,,0,-1" "OnTrigger" "SummonerMinionGenerator3,RemoveBots,,0,-1" "OnTrigger" "SummonerMinionGenerator3,RemoveBots,,0,-1" "OnTrigger" "SummonerMinionGenerator4,RemoveBots,,0,-1" "OnTrigger" "SummonerMinionGenerator4,RemoveBots,,0,-1" } math_counter { "targetname" "SummonerMinionCounter" "startvalue" "0" "min" "0" "max" "8" "OutValue" "SummonerCounterCompare,SetValueCompare,,0,-1" } logic_compare { "targetname" "SummonerCounterCompare" "CompareValue" "4" "OnLessThan" "SummonerSummonRelay,Enable,,0,-1" "OnEqualTo" "SummonerSummonRelay,Enable,,0,-1" "OnGreaterThan" "SummonerSummonRelay,Disable,,0,-1" } prop_dynamic { "targetname" "SummonerSummonIndicator" "origin" "200 0 10" "angles" "0 0 0" "model" "models/props_mvm/indicator/indicator_circle.mdl" "modelscale" "1.5" "skin" "1" "defaultanim" "start" "solid" "0" "startdisabled" "1" "disablebonefollowers" "1" "disableshadows" "1" } prop_dynamic { "targetname" "SummonerSummonIndicator" "origin" "-200 0 10" "angles" "0 0 0" "model" "models/props_mvm/indicator/indicator_circle.mdl" "modelscale" "1.5" "skin" "1" "defaultanim" "start" "solid" "0" "startdisabled" "1" "disablebonefollowers" "1" "disableshadows" "1" } prop_dynamic { "targetname" "SummonerSummonIndicator" "origin" "0 200 10" "angles" "0 0 0" "model" "models/props_mvm/indicator/indicator_circle.mdl" "modelscale" "1.5" "skin" "1" "defaultanim" "start" "solid" "0" "startdisabled" "1" "disablebonefollowers" "1" "disableshadows" "1" } prop_dynamic { "targetname" "SummonerSummonIndicator" "origin" "0 -200 10" "angles" "0 0 0" "model" "models/props_mvm/indicator/indicator_circle.mdl" "modelscale" "1.5" "skin" "1" "defaultanim" "start" "solid" "0" "startdisabled" "1" "disablebonefollowers" "1" "disableshadows" "1" } bot_generator { "targetname" "SummonerMinionGenerator1" "origin" "200 0 10" "team" "blue" "class" "soldier" "count" "0" "maxActive" "999" "spawnOnlyWhenTriggered" "1" "OnSpawned" "!activator,RunScriptCode,SummonerScript.SummonerRapidFireSoldierMinionInit(self),0,-1" "OnSpawned" "!activator,$Suicide,,30,-1" "OnBotKilled" "SummonerMinionCounter,Subtract,1,0,-1" } bot_generator { "targetname" "SummonerMinionGenerator2" "origin" "-200 0 10" "team" "blue" "class" "soldier" "count" "0" "maxActive" "999" "spawnOnlyWhenTriggered" "1" "OnSpawned" "!activator,RunScriptCode,SummonerScript.SummonerRapidFireSoldierMinionInit(self),0,-1" "OnSpawned" "!activator,$Suicide,,30,-1" "OnBotKilled" "SummonerMinionCounter,Subtract,1,0,-1" } bot_generator { "targetname" "SummonerMinionGenerator3" "origin" "0 200 10" "team" "blue" "class" "soldier" "count" "0" "maxActive" "999" "spawnOnlyWhenTriggered" "1" "OnSpawned" "!activator,RunScriptCode,SummonerScript.SummonerRapidFireSoldierMinionInit(self),0,-1" "OnSpawned" "!activator,$Suicide,,30,-1" "OnBotKilled" "SummonerMinionCounter,Subtract,1,0,-1" } bot_generator { "targetname" "SummonerMinionGenerator4" "origin" "0 -200 10" "team" "blue" "class" "soldier" "count" "0" "maxActive" "999" "spawnOnlyWhenTriggered" "1" "OnSpawned" "!activator,RunScriptCode,SummonerScript.SummonerRapidFireSoldierMinionInit(self),0,-1" "OnSpawned" "!activator,$Suicide,,30,-1" "OnBotKilled" "SummonerMinionCounter,Subtract,1,0,-1" } } SummonerBrassBeastHeavyPT { RemoveIfKilled "SummonerTarget" KeepAlive 1 OnSpawnOutput { Target "SummonerTarget" Action SetParent Param "!activator" Delay 0.1 } OnSpawnOutput { Target "SummonerMinionGenerator1" Action SetParent Param "!activator" Delay 0.1 } OnSpawnOutput { Target "SummonerMinionGenerator2" Action SetParent Param "!activator" Delay 0.1 } OnSpawnOutput { Target "SummonerMinionGenerator3" Action SetParent Param "!activator" Delay 0.1 } OnSpawnOutput { Target "SummonerMinionGenerator4" Action SetParent Param "!activator" Delay 0.1 } OnSpawnOutput { Target "SummonerMinionTimer" Action "Enable" Delay 6.9 Repeats 1 Cooldown -1 } OnSpawnOutput { Target "SummonerMinionTimer" Action "FireTimer" Delay 7 Repeats 1 Cooldown -1 } OnParentKilledOutput { Target "SummonerClearRelay" Action "Trigger" Delay 0.1 Repeats 1 Cooldown -1 } OnParentKilledOutput { Target "SummonerTarget" Action "Kill" Delay 1 Repeats 1 Cooldown -1 } info_target { "targetname" "SummonerTarget" "origin" "0 0 50" } logic_timer { "targetname" "SummonerMinionTimer" "RefireTime" "10" "StartDisabled" 1 "OnTimer" "SummonerSummonRelay,Trigger,,0,-1" } logic_relay { "targetname" "SummonerSummonRelay" "OnTrigger" "@p@SummonerTarget,$AddPlayerAttribute,dmg from ranged reduced|0.25,0,-1" "OnTrigger" "@p@SummonerTarget,$AddPlayerAttribute,dmg from melee increased|0.25,0,-1" "OnTrigger" "@p@SummonerTarget,$TauntFromItem,Taunt: Second Rate Sorcery,0,-1" "OnTrigger" "@p@SummonerTarget,$TauntFromItem,Taunt: Second Rate Sorcery,0.1,-1" "OnTrigger" "SummonerSummonIndicator,Enable,,0.5,-1" "OnTrigger" "SummonerSummonIndicator,SetAnimation,Start,,0.5,-1" "OnTrigger" "tf_gamerules,PlayVO,misc/halloween/spell_mirv_cast.wav,0.5,-1" "OnTrigger" "SummonerMinionSpawnPT,ForceSpawn,,2.3,-1" "OnTrigger" "@p@SummonerTarget,RunScriptCode,SummonerScript.SummonerMinionTrace(self),2.3,-1" "OnTrigger" "SummonerMinionGenerator1,SpawnBot,,2.33,-1" "OnTrigger" "SummonerMinionGenerator2,SpawnBot,,2.33,-1" "OnTrigger" "SummonerMinionGenerator3,SpawnBot,,2.33,-1" "OnTrigger" "SummonerMinionGenerator4,SpawnBot,,2.33,-1" "OnTrigger" "SummonerMinionCounter,Add,4,2.33,-1" "OnTrigger" "tf_gamerules,PlayVO,misc/halloween/spell_spawn_boss.wav,2.33,-1" "OnTrigger" "SummonerSummonIndicator,SetAnimation,end,2.5,-1" "OnTrigger" "@p@SummonerTarget,$RemovePlayerAttribute,dmg from ranged reduced,3.5,-1" "OnTrigger" "@p@SummonerTarget,$RemovePlayerAttribute,dmg from melee increased,3.5,-1" "OnTrigger" "SummonerSummonIndicator,Disable,,3.5,-1" "OnTrigger" "@p@SummonerTarget,$RemoveCond,7,3.5,-1" } logic_relay { "targetname" "SummonerClearRelay" "OnTrigger" "SummonerMinionGenerator1,RemoveBots,,0,-1" "OnTrigger" "SummonerMinionGenerator1,RemoveBots,,0,-1" "OnTrigger" "SummonerMinionGenerator2,RemoveBots,,0,-1" "OnTrigger" "SummonerMinionGenerator2,RemoveBots,,0,-1" "OnTrigger" "SummonerMinionGenerator3,RemoveBots,,0,-1" "OnTrigger" "SummonerMinionGenerator3,RemoveBots,,0,-1" "OnTrigger" "SummonerMinionGenerator4,RemoveBots,,0,-1" "OnTrigger" "SummonerMinionGenerator4,RemoveBots,,0,-1" } math_counter { "targetname" "SummonerMinionCounter" "startvalue" "0" "min" "0" "max" "8" "OutValue" "SummonerCounterCompare,SetValueCompare,,0,-1" } logic_compare { "targetname" "SummonerCounterCompare" "CompareValue" "4" "OnLessThan" "SummonerSummonRelay,Enable,,0,-1" "OnEqualTo" "SummonerSummonRelay,Enable,,0,-1" "OnGreaterThan" "SummonerSummonRelay,Disable,,0,-1" } prop_dynamic { "targetname" "SummonerSummonIndicator" "origin" "200 0 10" "angles" "0 0 0" "model" "models/props_mvm/indicator/indicator_circle.mdl" "modelscale" "1.5" "skin" "1" "defaultanim" "start" "solid" "0" "startdisabled" "1" "disablebonefollowers" "1" "disableshadows" "1" } prop_dynamic { "targetname" "SummonerSummonIndicator" "origin" "-200 0 10" "angles" "0 0 0" "model" "models/props_mvm/indicator/indicator_circle.mdl" "modelscale" "1.5" "skin" "1" "defaultanim" "start" "solid" "0" "startdisabled" "1" "disablebonefollowers" "1" "disableshadows" "1" } prop_dynamic { "targetname" "SummonerSummonIndicator" "origin" "0 200 10" "angles" "0 0 0" "model" "models/props_mvm/indicator/indicator_circle.mdl" "modelscale" "1.5" "skin" "1" "defaultanim" "start" "solid" "0" "startdisabled" "1" "disablebonefollowers" "1" "disableshadows" "1" } prop_dynamic { "targetname" "SummonerSummonIndicator" "origin" "0 -200 10" "angles" "0 0 0" "model" "models/props_mvm/indicator/indicator_circle.mdl" "modelscale" "1.5" "skin" "1" "defaultanim" "start" "solid" "0" "startdisabled" "1" "disablebonefollowers" "1" "disableshadows" "1" } bot_generator { "targetname" "SummonerMinionGenerator1" "origin" "200 0 10" "team" "blue" "class" "heavyweapons" "count" "0" "maxActive" "2" "spawnOnlyWhenTriggered" "1" "OnSpawned" "!activator,RunScriptCode,SummonerScript.SummonerBrassBeastHeavyMinionInit(self),0,-1" "OnSpawned" "!activator,$Suicide,,30,-1" "OnBotKilled" "SummonerMinionCounter,Subtract,1,0,-1" } bot_generator { "targetname" "SummonerMinionGenerator2" "origin" "-200 0 10" "team" "blue" "class" "heavyweapons" "count" "0" "maxActive" "2" "spawnOnlyWhenTriggered" "1" "OnSpawned" "!activator,RunScriptCode,SummonerScript.SummonerBrassBeastHeavyMinionInit(self),0,-1" "OnSpawned" "!activator,$Suicide,,30,-1" "OnBotKilled" "SummonerMinionCounter,Subtract,1,0,-1" } bot_generator { "targetname" "SummonerMinionGenerator3" "origin" "0 200 10" "team" "blue" "class" "heavyweapons" "count" "0" "maxActive" "2" "spawnOnlyWhenTriggered" "1" "OnSpawned" "!activator,RunScriptCode,SummonerScript.SummonerBrassBeastHeavyMinionInit(self),0,-1" "OnSpawned" "!activator,$Suicide,,30,-1" "OnBotKilled" "SummonerMinionCounter,Subtract,1,0,-1" } bot_generator { "targetname" "SummonerMinionGenerator4" "origin" "0 -200 10" "team" "blue" "class" "heavyweapons" "count" "0" "maxActive" "2" "spawnOnlyWhenTriggered" "1" "OnSpawned" "!activator,RunScriptCode,SummonerScript.SummonerBrassBeastHeavyMinionInit(self),0,-1" "OnSpawned" "!activator,$Suicide,,30,-1" "OnBotKilled" "SummonerMinionCounter,Subtract,1,0,-1" } } SummonerMinionSpawnPT { RemoveIfKilled "SummonerNode" OnSpawnOutput { Target "SummonerNode" Action Kill Delay 1 } point_commentary_node { "targetname" "SummonerNode" } } } //// SPAWNED POINT TEMPLATES //// SpawnTemplate "CorePT" SpawnTemplate "MasqueradeBossCinematicsPT" //// EXTRA TANK PATHS //// ExtraTankPath { Name "MasqueradeIntroPath" Node "208 370 676" Node "208 64 832" } //// ROBOT TEMPLATES //// Templates { //// FINAL BOSS //// //// MINIBOSSES //// T_TFBot_Giant_Pyro_Necromancer_Miniboss { Name "Deathcatcher" Template T_TFBot_Giant_Pyro_Necromancer_RapidSoldier Health 35000 Scale 2 Attributes UseBossHealthBar } //// GIANTS //// T_TFBot_Giant_Pyro_Necromancer_RapidSoldier { Name "Giant Deathcatcher Pyro" Class Pyro ClassIcon pyro_dragon_fury_summoner Skill Expert Health 3500 Attributes MiniBoss WeaponRestrictions PrimaryOnly UseCustomModel "models/bots/pyro_boss/bot_pyro_boss_gibby.mdl" SpawnTemplate "SummonerRapidSoldierPT" Item "The Dragon's Fury" Item "The Wraith Wrap" Item "Hard-Headed Hardware" Item "Forgotten King's Pauldrons" Item "SummonerArmour" Item "The Coffin Kit" Item "Taunt: Second Rate Sorcery" CharacterAttributes { "move speed penalty" 0.5 "damage force reduction" 0.6 "airblast vulnerability multiplier" 0.6 "override footstep sound set" 6 "voice pitch scale" 0 } } T_TFBot_Giant_Pyro_Necromancer_BrassBeastHeavy { Name "Giant Deathcatcher Pyro" Class Pyro ClassIcon pyro_dragon_fury_summoner Skill Expert Health 3500 Attributes MiniBoss WeaponRestrictions PrimaryOnly UseCustomModel "models/bots/pyro_boss/bot_pyro_boss_gibby.mdl" SpawnTemplate "SummonerBrassBeastHeavyPT" Item "The Dragon's Fury" Item "The Wraith Wrap" Item "Hard-Headed Hardware" Item "Forgotten King's Pauldrons" Item "SummonerArmour" Item "The Coffin Kit" Item "Taunt: Second Rate Sorcery" CharacterAttributes { "move speed penalty" 0.5 "damage force reduction" 0.6 "airblast vulnerability multiplier" 0.6 "override footstep sound set" 6 "voice pitch scale" 0 } } T_TFBot_Giant_Soldier_Burst_Modded { Template T_TFBot_Giant_Soldier_Burst ItemAttributes { ItemName "TF_WEAPON_ROCKETLAUNCHER" "fire rate bonus" 0.2 "faster reload rate" 0.4 "clip size upgrade atomic" 5.0 "projectile speed decreased" 0.9 } } } //// MISSION BOTS //// Mission // Sentry Buster { Objective DestroySentries Where spawnbot_sentrybuster BeginAtWave 1 RunForThisManyWaves 2 InitialCooldown 30 CooldownTime 30 DesiredCount 1 TFBot { Template T_TFBot_SentryBuster } } //// WAVES //// // General Notes // Wave 1 Notes Wave { InitWaveOutput { Target BigNet Action RunScriptCode Param " EntFire(`wave_init_lower_relay`, `Trigger`) EntFire(`MasqueradePortalRelay`, `Trigger`) local bomb = Entities.FindByName(null, `intel_35`) bomb.AcceptInput(`RunScriptFile`, `bombhop.nut`, null, null) " } StartWaveOutput { Target BigNet Action RunScriptCode Param " EntFire(`wave_start_boss_relay`, `Trigger`) EntFire(`MasqueradeIntroRelay`, `Trigger`) " } Explanation { Line "" Line "{12E8EE}This mission will feature music potentially protected by copyright." Line "{12E8EE}This music comes from the Ultrakill OST by Arsi 'Hakita' Patala, under the alias 'Heaven Pierce Her'." Line "{12E8EE}Opt in/out with the Music Volume Slider in the Audio Settings." Line "" } // Dummy Icons WaveSpawn { Name "Wave1_Subwave1_Dummy" Support 1 TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 9999 WaitBetweenSpawns 0 TotalCurrency 0 TFBot { Class Scout ClassIcon soldier_spammer_summoner } } WaveSpawn { Name "Wave1_Subwave1_Dummy" Support 1 TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 9999 WaitBetweenSpawns 0 TotalCurrency 0 TFBot { Class Scout ClassIcon heavy_brass_summoner } } // Subwave 1 WaveSpawn // 1 Deathcatcher { Name "Wave1_Subwave1_Deathcatcher" Where spawnbot_chief TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 65 WaitBetweenSpawns 0 TotalCurrency 200 FirstSpawnWarningSound "vo/mvm/mght/pyro_mvm_m_laughevil01.mp3" TFBot { Template T_TFBot_Giant_Pyro_Necromancer_Miniboss } } WaveSpawn // 10 Steel Gauntlets { Name "Wave1_Subwave1_SteelGauntlets" WaitForAllSpawned "Wave1_Subwave1_Deathcatcher" Where spawnbot_right TotalCount 10 MaxActive 4 SpawnCount 2 WaitBeforeStarting 12 WaitBetweenSpawns 8 TotalCurrency 100 TFBot { Template T_TFBot_Heavy_SteelFist Attributes AlwaysCrit } } WaveSpawn // 30 Scouts { Name "Wave1_Subwave1_Scouts" WaitForAllSpawned "Wave1_Subwave1_Deathcatcher" Where spawnbot_left TotalCount 30 MaxActive 9 SpawnCount 3 WaitBeforeStarting 12 WaitBetweenSpawns 2 TotalCurrency 60 TFBot { Class Scout Skill Normal } } WaveSpawn // 20 Supercharged Scouts { Name "Wave1_Subwave1_SuperchargedScouts" WaitForAllSpawned "Wave1_Subwave1_Deathcatcher" Where spawnbot_flank TotalCount 20 MaxActive 6 SpawnCount 2 WaitBeforeStarting 12 WaitBetweenSpawns 3 TotalCurrency 80 TFBot { Template T_TFBot_Scout_Blaster_Supercharged Tag bot_flank_l } } // Subwave 2 WaveSpawn // 1 GRapid Demo and 2 Kritz Medics { Name "Wave1_Subwave2_GRapidDemo" WaitForAllDead "Wave1_Subwave1_Deathcatcher" Where spawnbot_left TotalCount 3 MaxActive 3 SpawnCount 3 WaitBeforeStarting 2 WaitBetweenSpawns 0 TotalCurrency 100 Squad { TFBot { Template T_TFBot_Giant_Demoman_Spammer } TFBot { Template T_TFBot_Medic_Kritzkrieg } TFBot { Template T_TFBot_Medic_Kritzkrieg } } } WaveSpawn // 4 Rocket Shotgun Soldiers and 4 Quick-Uber Medics { Name "Wave1_Subwave2_RocketShotgunSoldiers" WaitForAllSpawned "Wave1_Subwave2_GRapidDemo" Where spawnbot_right TotalCount 8 MaxActive 6 SpawnCount 4 WaitBeforeStarting 2 WaitBetweenSpawns 8 TotalCurrency 60 Squad { TFBot { Template T_TFBot_Soldier_RocketShotgun } TFBot { Template T_TFBot_Medic_QuickUber } } } WaveSpawn // 8 Pyros { Name "Wave1_Subwave2_Pyros" WaitForAllSpawned "Wave1_Subwave2_GRapidDemo" Where spawnbot_flank TotalCount 8 MaxActive 6 SpawnCount 4 WaitBeforeStarting 2 WaitBetweenSpawns 10 TotalCurrency 60 TFBot { Class Pyro Skill Expert Attributes AlwaysFireWeapon Tag bot_flank_l } } WaveSpawn // 1 GRapid Demo and 2 Kritz Medics { Name "Wave1_Subwave2_GRapidDemo2" WaitForAllSpawned "Wave1_Subwave2_GRapidDemo" Where spawnbot_right TotalCount 3 MaxActive 3 SpawnCount 3 WaitBeforeStarting 16 WaitBetweenSpawns 0 TotalCurrency 100 Squad { TFBot { Template T_TFBot_Giant_Demoman_Spammer } TFBot { Template T_TFBot_Medic_Kritzkrieg } TFBot { Template T_TFBot_Medic_Kritzkrieg } } } WaveSpawn // 4 Rocket Shotgun Soldiers and 4 Quick-Uber Medics { Name "Wave1_Subwave2_RocketShotgunSoldiers2" WaitForAllSpawned "Wave1_Subwave2_GRapidDemo2" Where spawnbot_left TotalCount 8 MaxActive 6 SpawnCount 4 WaitBeforeStarting 2 WaitBetweenSpawns 8 TotalCurrency 60 Squad { TFBot { Template T_TFBot_Soldier_RocketShotgun } TFBot { Template T_TFBot_Medic_QuickUber } } } WaveSpawn // 8 Pyros { Name "Wave1_Subwave2_Pyros" WaitForAllSpawned "Wave1_Subwave2_GRapidDemo" Where spawnbot_flank TotalCount 8 MaxActive 6 SpawnCount 4 WaitBeforeStarting 2 WaitBetweenSpawns 10 TotalCurrency 60 TFBot { Class Pyro Skill Expert Attributes AlwaysFireWeapon Tag bot_flank_l } } WaveSpawn // 1 GRapid Demo and 2 Kritz Medics { Name "Wave1_Subwave2_GRapidDemo3" WaitForAllSpawned "Wave1_Subwave2_GRapidDemo2" Where spawnbot_left TotalCount 3 MaxActive 3 SpawnCount 3 WaitBeforeStarting 16 WaitBetweenSpawns 0 TotalCurrency 100 Squad { TFBot { Template T_TFBot_Giant_Demoman_Spammer } TFBot { Template T_TFBot_Medic_Kritzkrieg } TFBot { Template T_TFBot_Medic_Kritzkrieg } } } WaveSpawn // 4 Rocket Shotgun Soldiers and 4 Quick-Uber Medics { Name "Wave1_Subwave2_RocketShotgunSoldiers3" WaitForAllSpawned "Wave1_Subwave2_GRapidDemo3" Where spawnbot_right TotalCount 8 MaxActive 6 SpawnCount 4 WaitBeforeStarting 2 WaitBetweenSpawns 8 TotalCurrency 60 Squad { TFBot { Template T_TFBot_Soldier_RocketShotgun } TFBot { Template T_TFBot_Medic_QuickUber } } } WaveSpawn // 8 Pyros { Name "Wave1_Subwave2_Pyros3" WaitForAllSpawned "Wave1_Subwave2_GRapidDemo3" Where spawnbot_flank TotalCount 8 MaxActive 6 SpawnCount 4 WaitBeforeStarting 2 WaitBetweenSpawns 10 TotalCurrency 60 TFBot { Class Pyro Skill Expert Attributes AlwaysFireWeapon Tag bot_flank_l } } // Subwave 2 Check WaveSpawn { Name "Wave1_Subwave2_Check" WaitForAllDead "Wave1_Subwave2_GRapidDemo" } WaveSpawn { Name "Wave1_Subwave2_Check" WaitForAllDead "Wave1_Subwave2_GRapidDemo2" } WaveSpawn { Name "Wave1_Subwave2_Check" WaitForAllDead "Wave1_Subwave2_GRapidDemo3" } // Subwave 3 WaveSpawn // 1 Tank { Name "Wave1_Subwave3_Tank" WaitForAllSpawned "Wave1_Subwave2_Check" TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 2 WaitBetweenSpawns 0 TotalCurrency 100 FirstSpawnWarningSound "mvm/mvm_tank_start.wav" Tank { Name "tank_boss" Health 35000 Speed 75 StartingPathTrackNode "path_tank_lower" OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn // 1 GBurst Soldier { Name "Wave1_Subwave3_GBurstSoldier" WaitForAllSpawned "Wave1_Subwave3_Tank" Where spawnbot_left TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 4 WaitBetweenSpawns 0 TotalCurrency 20 TFBot { Template T_TFBot_Giant_Soldier_Burst_Modded } } WaveSpawn // 1 GBurst Soldier { Name "Wave1_Subwave3_GBurstSoldier" WaitForAllSpawned "Wave1_Subwave3_Tank" Where spawnbot_flank TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 4 WaitBetweenSpawns 0 TotalCurrency 20 TFBot { Template T_TFBot_Giant_Soldier_Burst_Modded } } WaveSpawn // 1 GBurst Soldier { Name "Wave1_Subwave3_GBurstSoldier" WaitForAllSpawned "Wave1_Subwave3_Tank" Where spawnbot_chief TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 4 WaitBetweenSpawns 0 TotalCurrency 20 TFBot { Template T_TFBot_Giant_Soldier_Burst_Modded } } WaveSpawn // 20 Scouts { Name "Wave1_Subwave3_Scouts" WaitForAllSpawned "Wave1_Subwave3_GBurstSoldier" Where spawnbot_left TotalCount 20 MaxActive 8 SpawnCount 2 WaitBeforeStarting 2 WaitBetweenSpawns 2 TotalCurrency 40 TFBot { Class Scout Skill Expert } } WaveSpawn // 8 Bowmen { Name "Wave1_Subwave3_Bowmen" WaitForAllSpawned "Wave1_Subwave3_GBurstSoldier" Where spawnbot_flank TotalCount 8 MaxActive 8 SpawnCount 4 WaitBeforeStarting 2 WaitBetweenSpawns 10 TotalCurrency 40 TFBot { Template T_TFBot_Sniper_Huntsman Attributes AlwaysCrit } } WaveSpawn // 1 GBurst Soldier { Name "Wave1_Subwave3_GBurstSoldier2" WaitForAllSpawned "Wave1_Subwave3_GBurstSoldier" Where spawnbot_right TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 24 WaitBetweenSpawns 0 TotalCurrency 20 TFBot { Template T_TFBot_Giant_Soldier_Burst_Modded } } WaveSpawn // 1 GBurst Soldier { Name "Wave1_Subwave3_GBurstSoldier2" WaitForAllSpawned "Wave1_Subwave3_GBurstSoldier" Where spawnbot_flank TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 24 WaitBetweenSpawns 0 TotalCurrency 20 TFBot { Template T_TFBot_Giant_Soldier_Burst_Modded } } WaveSpawn // 1 GBurst Soldier { Name "Wave1_Subwave3_GBurstSoldier2" WaitForAllSpawned "Wave1_Subwave3_GBurstSoldier" Where spawnbot_chief TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 24 WaitBetweenSpawns 0 TotalCurrency 20 TFBot { Template T_TFBot_Giant_Soldier_Burst_Modded } } WaveSpawn // 20 Scouts { Name "Wave1_Subwave3_Scouts2" WaitForAllSpawned "Wave1_Subwave3_GBurstSoldier2" Where spawnbot_left TotalCount 20 MaxActive 6 SpawnCount 2 WaitBeforeStarting 2 WaitBetweenSpawns 2 TotalCurrency 40 TFBot { Class Scout Skill Expert } } WaveSpawn // 8 Bowmen { Name "Wave1_Subwave3_Bowmen2" WaitForAllSpawned "Wave1_Subwave3_GBurstSoldier2" Where spawnbot_flank TotalCount 8 MaxActive 8 SpawnCount 4 WaitBeforeStarting 2 WaitBetweenSpawns 10 TotalCurrency 40 TFBot { Template T_TFBot_Sniper_Huntsman Attributes AlwaysCrit Tag bot_flank_l } } WaveSpawn // 1 GBurst Soldier { Name "Wave1_Subwave3_GBurstSoldier3" WaitForAllSpawned "Wave1_Subwave3_GBurstSoldier2" Where spawnbot_left TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 24 WaitBetweenSpawns 0 TotalCurrency 20 TFBot { Template T_TFBot_Giant_Soldier_Burst_Modded } } WaveSpawn // 1 GBurst Soldier { Name "Wave1_Subwave3_GBurstSoldier3" WaitForAllSpawned "Wave1_Subwave3_GBurstSoldier2" Where spawnbot_flank TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 24 WaitBetweenSpawns 0 TotalCurrency 20 TFBot { Template T_TFBot_Giant_Soldier_Burst_Modded } } WaveSpawn // 1 GBurst Soldier { Name "Wave1_Subwave3_GBurstSoldier3" WaitForAllSpawned "Wave1_Subwave3_GBurstSoldier2" Where spawnbot_chief TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 24 WaitBetweenSpawns 0 TotalCurrency 20 TFBot { Template T_TFBot_Giant_Soldier_Burst_Modded } } WaveSpawn // 20 Scouts { Name "Wave1_Subwave3_Scouts3" WaitForAllSpawned "Wave1_Subwave3_GBurstSoldier3" Where spawnbot_right TotalCount 16 MaxActive 6 SpawnCount 2 WaitBeforeStarting 2 WaitBetweenSpawns 2 TotalCurrency 40 TFBot { Class Scout Skill Expert Tag bot_flank_l } } WaveSpawn // 8 Bowmen { Name "Wave1_Subwave3_Bowmen3" WaitForAllSpawned "Wave1_Subwave3_GBurstSoldier3" Where spawnbot_flank TotalCount 8 MaxActive 8 SpawnCount 4 WaitBeforeStarting 2 WaitBetweenSpawns 10 TotalCurrency 40 TFBot { Template T_TFBot_Sniper_Huntsman Attributes AlwaysCrit } } // Subwave 3 Check WaveSpawn { Name "Wave1_Subwave3_Check" WaitForAllDead "Wave1_Subwave3_Tank" } WaveSpawn { Name "Wave1_Subwave3_Check" WaitForAllDead "Wave1_Subwave3_GBurstSoldier" } WaveSpawn { Name "Wave1_Subwave3_Check" WaitForAllDead "Wave1_Subwave3_GBurstSoldier2" } WaveSpawn { Name "Wave1_Subwave3_Check" WaitForAllDead "Wave1_Subwave3_GBurstSoldier3" } WaveSpawn { Name "Wave1_Subwave3_Check" WaitForAllDead "Wave1_Subwave3_Scouts3" } WaveSpawn { Name "Wave1_Subwave3_Check" WaitForAllDead "Wave1_Subwave3_Bowmen3" } // Cutscene WaveSpawn { Name "Wave1_Subwave4_PathSwitch" WaitForAllSpawned "Wave1_Subwave3_Check" WaitBeforeStarting 2 FirstSpawnOutput { Target PathSwitchUpperRelay Action Trigger } } WaveSpawn { Name "Wave1_Subwave4_MasqueradeCutscene" WaitForAllSpawned "Wave1_Subwave3_Check" WaitBeforeStarting 11 FirstSpawnOutput { Target MasqueradeWave1HazardCutscene Action Trigger } } // Subwave 4 WaveSpawn // 1 Deathcatcher and 1 Shield Medic { Name "Wave1_Subwave4_Deathcatcher" WaitForAllSpawned "Wave1_Subwave4_MasqueradeCutscene" Where spawnbot_left TotalCount 2 MaxActive 2 SpawnCount 2 WaitBeforeStarting 12 WaitBetweenSpawns 0 TotalCurrency 60 Squad { TFBot { Template T_TFBot_Giant_Pyro_Necromancer_RapidSoldier } TFBot { Template T_TFBot_Medic_Shield } } } WaveSpawn // 4 Steel Gauntlets { Name "Wave1_Subwave4_SteelGauntlets" WaitForAllSpawned "Wave1_Subwave4_Deathcatcher" Where spawnbot_right TotalCount 4 MaxActive 4 SpawnCount 2 WaitBeforeStarting 2 WaitBetweenSpawns 8 TotalCurrency 40 TFBot { Template T_TFBot_Heavy_SteelFist Attributes AlwaysCrit } } WaveSpawn // 12 Burst Demos { Name "Wave1_Subwave4_BurstDemos" WaitForAllSpawned "Wave1_Subwave4_Deathcatcher" Where spawnbot_flank TotalCount 12 MaxActive 6 SpawnCount 2 WaitBeforeStarting 2 WaitBetweenSpawns 3 TotalCurrency 40 TFBot { Template T_TFBot_Demoman_Burst } } WaveSpawn // 5 Spies { Name "Wave1_Subwave4_Spies" WaitForAllSpawned "Wave1_Subwave4_Deathcatcher" Where spawnbot_left Support Limited TotalCount 5 MaxActive 5 SpawnCount 5 WaitBeforeStarting 2 WaitBetweenSpawns 0 TotalCurrency 0 TFBot { Template T_TFBot_Spy Attributes IgnoreFlag FireInput { Target !self Action $Suicide Delay 20 } } } WaveSpawn // 1 Deathcatcher and 1 Shield Medic { Name "Wave1_Subwave4_Deathcatcher2" WaitForAllSpawned "Wave1_Subwave4_Deathcatcher" Where spawnbot_left TotalCount 2 MaxActive 2 SpawnCount 2 WaitBeforeStarting 20 WaitBetweenSpawns 0 TotalCurrency 60 Squad { TFBot { Template T_TFBot_Giant_Pyro_Necromancer_RapidSoldier } TFBot { Template T_TFBot_Medic_Shield } } } WaveSpawn // 4 Steel Gauntlets { Name "Wave1_Subwave4_SteelGauntlets2" WaitForAllSpawned "Wave1_Subwave4_Deathcatcher2" Where spawnbot_right TotalCount 4 MaxActive 4 SpawnCount 2 WaitBeforeStarting 2 WaitBetweenSpawns 8 TotalCurrency 40 TFBot { Template T_TFBot_Heavy_SteelFist Attributes AlwaysCrit } } WaveSpawn // 12 Burst Demos { Name "Wave1_Subwave4_BurstDemos2" WaitForAllSpawned "Wave1_Subwave4_Deathcatcher2" Where spawnbot_flank TotalCount 12 MaxActive 6 SpawnCount 2 WaitBeforeStarting 2 WaitBetweenSpawns 3 TotalCurrency 40 TFBot { Template T_TFBot_Demoman_Burst } } WaveSpawn // 5 Spies { Name "Wave1_Subwave4_Spies2" WaitForAllSpawned "Wave1_Subwave4_Deathcatcher2" Where spawnbot_left Support Limited TotalCount 5 MaxActive 5 SpawnCount 5 WaitBeforeStarting 2 WaitBetweenSpawns 0 TotalCurrency 0 TFBot { Template T_TFBot_Spy Attributes IgnoreFlag FireInput { Target !self Action $Suicide Delay 20 } } } WaveSpawn // 1 Deathcatcher and 1 Shield Medic { Name "Wave1_Subwave4_Deathcatcher3" WaitForAllSpawned "Wave1_Subwave4_Deathcatcher2" Where spawnbot_left TotalCount 2 MaxActive 2 SpawnCount 2 WaitBeforeStarting 20 WaitBetweenSpawns 0 TotalCurrency 60 Squad { TFBot { Template T_TFBot_Giant_Pyro_Necromancer_RapidSoldier } TFBot { Template T_TFBot_Medic_Shield } } } WaveSpawn // 4 Steel Gauntlets { Name "Wave1_Subwave4_SteelGauntlets3" WaitForAllSpawned "Wave1_Subwave4_Deathcatcher3" Where spawnbot_right TotalCount 4 MaxActive 4 SpawnCount 2 WaitBeforeStarting 2 WaitBetweenSpawns 8 TotalCurrency 40 TFBot { Template T_TFBot_Heavy_SteelFist Attributes AlwaysCrit } } WaveSpawn // 12 Burst Demos { Name "Wave1_Subwave4_BurstDemos3" WaitForAllSpawned "Wave1_Subwave4_Deathcatcher3" Where spawnbot_flank TotalCount 12 MaxActive 6 SpawnCount 2 WaitBeforeStarting 2 WaitBetweenSpawns 3 TotalCurrency 40 TFBot { Template T_TFBot_Demoman_Burst } } WaveSpawn // 5 Spies { Name "Wave1_Subwave4_Spies3" WaitForAllSpawned "Wave1_Subwave4_Deathcatcher3" Where spawnbot_left Support Limited TotalCount 5 MaxActive 5 SpawnCount 5 WaitBeforeStarting 2 WaitBetweenSpawns 0 TotalCurrency 0 TFBot { Template T_TFBot_Spy Attributes IgnoreFlag FireInput { Target !self Action $Suicide Delay 20 } } } // Subwave 5 WaveSpawn // 1 Hammer Tank { Name "Wave1_Subwave5_HammerTank" WaitForAllDead "Wave1_Subwave4_Deathcatcher3" TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 2 WaitBetweenSpawns 0 TotalCurrency 80 FirstSpawnWarningSound "mvm/mvm_tank_start.wav" Tank { Name "hammertank" ClassIcon tank_mallet Health 35000 Speed 75 StartingPathTrackNode "path_tank_upper" OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn // 1 GRapid Demo { Name "Wave1_Subwave5_GRapidDemo" WaitForAllSpawned "Wave1_Subwave5_HammerTank" Where spawnbot_chief TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 3 WaitBetweenSpawns 0 TotalCurrency 20 TFBot { Template T_TFBot_Giant_Demoman_Spammer } } WaveSpawn // 6 Burst Demos and 6 Kritzkrieg Medics { Name "Wave1_Subwave5_BurstDemos" WaitForAllSpawned "Wave1_Subwave5_GRapidDemo" Where spawnbot_right TotalCount 12 MaxActive 8 SpawnCount 2 WaitBeforeStarting 3 WaitBetweenSpawns 3 TotalCurrency 60 Squad { TFBot { Template T_TFBot_Demoman_Burst } TFBot { Template T_TFBot_Medic_Kritzkrieg } } } WaveSpawn // 12 Supercharged Scouts { Name "Wave1_Subwave5_SuperchargedScouts" WaitForAllSpawned "Wave1_Subwave5_GRapidDemo" Where spawnbot_flank TotalCount 12 MaxActive 6 SpawnCount 3 WaitBeforeStarting 3 WaitBetweenSpawns 5 TotalCurrency 20 TFBot { Template T_TFBot_Scout_Blaster_Supercharged Tag bot_flank_l } } WaveSpawn // 1 GRapid Demo { Name "Wave1_Subwave5_GRapidDemo2" WaitForAllSpawned "Wave1_Subwave5_GRapidDemo" Where spawnbot_chief TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 20 WaitBetweenSpawns 0 TotalCurrency 20 TFBot { Template T_TFBot_Giant_Demoman_Spammer } } WaveSpawn // 6 Burst Demos and 6 Kritzkrieg Medics { Name "Wave1_Subwave5_BurstDemos2" WaitForAllSpawned "Wave1_Subwave5_GRapidDemo2" Where spawnbot_right TotalCount 12 MaxActive 8 SpawnCount 2 WaitBeforeStarting 3 WaitBetweenSpawns 3 TotalCurrency 60 Squad { TFBot { Template T_TFBot_Demoman_Burst } TFBot { Template T_TFBot_Medic_Kritzkrieg } } } WaveSpawn // 12 Supercharged Scouts { Name "Wave1_Subwave5_SuperchargedScouts2" WaitForAllSpawned "Wave1_Subwave5_GRapidDemo2" Where spawnbot_flank TotalCount 12 MaxActive 6 SpawnCount 3 WaitBeforeStarting 3 WaitBetweenSpawns 5 TotalCurrency 20 TFBot { Template T_TFBot_Scout_Blaster_Supercharged Tag bot_flank_l } } WaveSpawn // 1 GRapid Demo { Name "Wave1_Subwave5_GRapidDemo3" WaitForAllSpawned "Wave1_Subwave5_GRapidDemo2" Where spawnbot_chief TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 20 WaitBetweenSpawns 0 TotalCurrency 20 TFBot { Template T_TFBot_Giant_Demoman_Spammer } } WaveSpawn // 8 Burst Demos and 8 Kritzkrieg Medics { Name "Wave1_Subwave5_BurstDemos3" WaitForAllSpawned "Wave1_Subwave5_GRapidDemo3" Where spawnbot_left TotalCount 16 MaxActive 12 SpawnCount 8 WaitBeforeStarting 3 WaitBetweenSpawns 10 TotalCurrency 60 Squad { TFBot { Template T_TFBot_Demoman_Burst } TFBot { Template T_TFBot_Medic_Kritzkrieg } } } WaveSpawn // 12 Supercharged Scouts { Name "Wave1_Subwave5_SuperchargedScouts3" WaitForAllSpawned "Wave1_Subwave5_GRapidDemo3" Where spawnbot_flank TotalCount 12 MaxActive 6 SpawnCount 3 WaitBeforeStarting 3 WaitBetweenSpawns 5 TotalCurrency 20 TFBot { Template T_TFBot_Scout_Blaster_Supercharged Tag bot_flank_l } } // Subwave 5 Check WaveSpawn { Name "Wave1_Subwave5_Check" WaitForAllDead "Wave1_Subwave5_GRapidDemo3" } WaveSpawn { Name "Wave1_Subwave5_Check" WaitForAllDead "Wave1_Subwave5_BurstDemos3" } // Subwave 6 WaveSpawn // 2 GSlug Shotgun Heavies { Name "Wave1_Subwave6_GSlugShotguns" WaitForAllSpawned "Wave1_Subwave5_Check" Where spawnbot_left Where spawnbot_right TotalCount 2 MaxActive 2 SpawnCount 1 WaitBeforeStarting 2 WaitBetweenSpawns 0 TotalCurrency 50 TFBot { Template T_TFBot_Giant_Heavy_Shotgun_Slug } } WaveSpawn // 4 Rocket Shotgun Soldiers { Name "Wave1_Subwave6_RocketShotgunSoldiers" WaitForAllSpawned "Wave1_Subwave6_GSlugShotguns" Where spawnbot_left TotalCount 4 MaxActive 4 SpawnCount 2 WaitBeforeStarting 2 WaitBetweenSpawns 10 TotalCurrency 40 TFBot { Template T_TFBot_Soldier_RocketShotgun Tag bot_flank_l } } WaveSpawn // 12 Bowmen { Name "Wave1_Subwave6_Bowmen2" WaitForAllSpawned "Wave1_Subwave6_GSlugShotguns" Where spawnbot_right TotalCount 12 MaxActive 8 SpawnCount 3 WaitBeforeStarting 2 WaitBetweenSpawns 4 TotalCurrency 50 TFBot { Template T_TFBot_Sniper_Huntsman Attributes AlwaysCrit } } WaveSpawn // 1 Deathcatcher and 1 GCharged Medic { Name "Wave1_Subwave6_Deathcatcher" WaitForAllSpawned "Wave1_Subwave6_GSlugShotguns" Where spawnbot_chief TotalCount 2 MaxActive 2 SpawnCount 2 WaitBeforeStarting 20 WaitBetweenSpawns 0 TotalCurrency 60 Squad { TFBot { Template T_TFBot_Giant_Pyro_Necromancer_BrassBeastHeavy } TFBot { Template T_TFBot_Giant_Medic_Charged } } } WaveSpawn // 4 Rocket Shotgun Soldiers { Name "Wave1_Subwave6_RocketShotgunSoldiers2" WaitForAllSpawned "Wave1_Subwave6_Deathcatcher" Where spawnbot_left TotalCount 4 MaxActive 4 SpawnCount 2 WaitBeforeStarting 2 WaitBetweenSpawns 10 TotalCurrency 40 TFBot { Template T_TFBot_Soldier_RocketShotgun Tag bot_flank_l } } WaveSpawn // 12 Pyros { Name "Wave1_Subwave6_Pyros" WaitForAllSpawned "Wave1_Subwave6_Deathcatcher" Where spawnbot_right TotalCount 12 MaxActive 8 SpawnCount 3 WaitBeforeStarting 2 WaitBetweenSpawns 4 TotalCurrency 50 TFBot { Class Pyro Skill Expert ItemAttributes { ItemName "TF_WEAPON_FLAMETHROWER" "airblast disabled" 1 } } } WaveSpawn // 2 GSlug Shotgun Heavies { Name "Wave1_Subwave6_GSlugShotguns2" WaitForAllSpawned "Wave1_Subwave6_Deathcatcher" Where spawnbot_left Where spawnbot_right TotalCount 2 MaxActive 2 SpawnCount 1 WaitBeforeStarting 20 WaitBetweenSpawns 0 TotalCurrency 50 TFBot { Template T_TFBot_Giant_Heavy_Shotgun_Slug } } WaveSpawn // 4 Rocket Shotgun Soldiers { Name "Wave1_Subwave6_RocketShotgunSoldiers3" WaitForAllSpawned "Wave1_Subwave6_GSlugShotguns2" Where spawnbot_left TotalCount 4 MaxActive 4 SpawnCount 2 WaitBeforeStarting 2 WaitBetweenSpawns 10 TotalCurrency 40 TFBot { Template T_TFBot_Soldier_RocketShotgun Tag bot_flank_l } } WaveSpawn // 12 Bowmen { Name "Wave1_Subwave6_Bowmen2" WaitForAllSpawned "Wave1_Subwave6_GSlugShotguns2" Where spawnbot_right TotalCount 12 MaxActive 8 SpawnCount 3 WaitBeforeStarting 2 WaitBetweenSpawns 4 TotalCurrency 50 TFBot { Template T_TFBot_Sniper_Huntsman Attributes AlwaysCrit } } WaveSpawn // 1 Deathcatcher and 1 GCharged Medic { Name "Wave1_Subwave6_Deathcatcher2" WaitForAllSpawned "Wave1_Subwave6_GSlugShotguns2" Where spawnbot_chief TotalCount 2 MaxActive 2 SpawnCount 2 WaitBeforeStarting 20 WaitBetweenSpawns 0 TotalCurrency 60 Squad { TFBot { Template T_TFBot_Giant_Pyro_Necromancer_BrassBeastHeavy } TFBot { Template T_TFBot_Giant_Medic_Charged } } } WaveSpawn // 4 Rocket Shotgun Soldiers { Name "Wave1_Subwave6_RocketShotgunSoldiers4" WaitForAllSpawned "Wave1_Subwave6_Deathcatcher2" Where spawnbot_left TotalCount 4 MaxActive 4 SpawnCount 2 WaitBeforeStarting 2 WaitBetweenSpawns 10 TotalCurrency 40 TFBot { Template T_TFBot_Soldier_RocketShotgun Tag bot_flank_l } } WaveSpawn // 12 Pyros { Name "Wave1_Subwave6_Pyros2" WaitForAllSpawned "Wave1_Subwave6_Deathcatcher2" Where spawnbot_right TotalCount 12 MaxActive 8 SpawnCount 3 WaitBeforeStarting 2 WaitBetweenSpawns 4 TotalCurrency 50 TFBot { Class Pyro Skill Expert ItemAttributes { ItemName "TF_WEAPON_FLAMETHROWER" "airblast disabled" 1 } } } // Subwave 6 Check WaveSpawn { Name "Wave1_Subwave6_Check" WaitForAllDead "Wave1_Subwave6_GSlugShotguns" } WaveSpawn { Name "Wave1_Subwave6_Check" WaitForAllDead "Wave1_Subwave6_GSlugShotguns2" } WaveSpawn { Name "Wave1_Subwave6_Check" WaitForAllDead "Wave1_Subwave6_Deathcatcher" } WaveSpawn { Name "Wave1_Subwave6_Check" WaitForAllDead "Wave1_Subwave6_Deathcatcher2" } WaveSpawn { Name "Wave1_Subwave6_Check" WaitForAllDead "Wave1_Subwave6_RocketShotgunSoldiers3" } WaveSpawn { Name "Wave1_Subwave6_Check" WaitForAllDead "Wave1_Subwave6_RocketShotgunSoldiers4" } WaveSpawn { Name "Wave1_Subwave6_Check" WaitForAllDead "Wave1_Subwave6_Pyros2" } WaveSpawn { Name "Wave1_Subwave6_Check" WaitForAllDead "Wave1_Subwave6_Bowmen2" } // Cutscene WaveSpawn { Name "Wave1_Subwave6_MasqueradeCutscene" WaitForAllSpawned "Wave1_Subwave6_Check" WaitBeforeStarting 0 FirstSpawnOutput { Target MasqueradeWave1EndCutscene Action Trigger } } WaveSpawn { Name "Wave1_End" WaitForAllSpawned "Wave1_Subwave6_Check" WaitBeforeStarting 11 } } // Wave 2 Notes Wave { InitWaveOutput { Target BigNet Action RunScriptCode Param " EntFire(`wave_init_upper_relay`, `Trigger`) EntFire(`MasqueradeIdleRelay`, `Trigger`) local bomb = Entities.FindByName(null, `intel_35`) bomb.AcceptInput(`RunScriptFile`, `bombhop.nut`, null, null) " } StartWaveOutput { Target BigNet Action RunScriptCode Param " EntFire(`wave_start_boss_relay`, `Trigger`) EntFire(`MasqueradeWave2IntroRelay`, `Trigger`) " } // Subwave 1 WaveSpawn // 1 Supercharged Demoknight { Name "Wave2_Subwave1_GKnight" Where spawnbot_flank TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 13.5 WaitBetweenSpawns 0 TotalCurrency 40 TFBot { Template T_TFBot_Giant_Demoman_Knight_Supercharged Health 12500 Attributes UseBossHealthBar Action Mobber FireInput { Target !self Action $SetLocalOrigin Param "-64 16 -12" Delay 0 Repeats 1 Cooldown -1 } } } WaveSpawn // 5 Claymore Knights { Name "Wave2_Subwave1_ClaymoreKnights" WaitForAllSpawned "Wave2_Subwave1_GKnight" Where spawnbot_left TotalCount 5 MaxActive 5 SpawnCount 5 WaitBeforeStarting 2 WaitBetweenSpawns 0 TotalCurrency 40 TFBot { Template T_TFBot_Demoman_Knight_Claymore Attributes AlwaysCrit } } WaveSpawn // 5 Claymore Knights { Name "Wave2_Subwave1_ClaymoreKnights" WaitForAllSpawned "Wave2_Subwave1_GKnight" Where spawnbot_right TotalCount 5 MaxActive 5 SpawnCount 5 WaitBeforeStarting 2 WaitBetweenSpawns 0 TotalCurrency 40 TFBot { Template T_TFBot_Demoman_Knight_Claymore Attributes AlwaysCrit } } WaveSpawn // 5 Claymore Knights { Name "Wave2_Subwave1_ClaymoreKnights" WaitForAllSpawned "Wave2_Subwave1_GKnight" Where spawnbot_flank TotalCount 5 MaxActive 5 SpawnCount 5 WaitBeforeStarting 2 WaitBetweenSpawns 0 TotalCurrency 40 TFBot { Template T_TFBot_Demoman_Knight_Claymore Attributes AlwaysCrit } } WaveSpawn // 5 Claymore Knights { Name "Wave2_Subwave1_ClaymoreKnights" WaitForAllSpawned "Wave2_Subwave1_GKnight" Where spawnbot_chief TotalCount 5 MaxActive 5 SpawnCount 5 WaitBeforeStarting 2 WaitBetweenSpawns 0 TotalCurrency 40 TFBot { Template T_TFBot_Demoman_Knight_Claymore Attributes AlwaysCrit } } } }