// mvm_skullcove_final // Mission: call of cthulhu (adv) // Maker: Skin King #base robot_giant.pop #base robot_standard.pop WaveSchedule { StartingCurrency 1000 RespawnWaveTime 5 CanBotsAttackWhileInSpawnRoom no FixedRespawnWaveTime Yes EventPopfile Halloween TextPrintTime 0 ForceHoliday 2 ZombiesNoWave666 1 PlayerAttributes { Medic { "medic machinery beam" 1 } } PlayerAttributes { Pyro { "airblast_pushback_disabled" 1 } } ItemAttributes { ItemName "The Gas Passer" "effect cond override" 6 "item_meter_charge_rate" 60 } ItemAttributes { ItemName "The Neon Annihilator" "crit vs burning players" 128 } ExtraTankPath { Name "laserblimppath" Node "-1056 3488 697" Node "-576 3488 697" Node "-208 3104 697" Node "-208 1440 528" Node "-762 1040 528" Node "-752 -80 528" Node "-272 -272 528" Node "-16 -400 464" Node "304 -672 464" } SpawnTemplate "critcard" SpawnTemplate "bossfix" SpawnTemplate "giantnav" SpawnTemplate "gmedicfix" PointTemplates { critcard // copied from wizardry { NoFixup 1 trigger_add_tf_player_condition { "targetname" "wheel_trigger_crits" "condition" "56" "duration" "2" "filtername" "filter_red" "startdisabled" "1" "origin" "510 520 432" "mins" "-1616 -3336 -2562" "maxs" "1616 3336 2562" "spawnflags" "1" } NoFixup 1 prop_dynamic { "targetname" "wheel_plane" "model" "models/props_lakeside_event/buff_plane.mdl" "skin" "8" "solid" "0" "startdisabled" "1" "origin" "98 3470 553" } NoFixup 1 info_particle_system { "targetname" "green_wof_sparks" "effect_name" "green_wof_sparks" "angles" "0 286.5 0" "origin" "101 3452 547" } NoFixup 1 info_particle_system { "targetname" "green_wof_sparks" "effect_name" "green_wof_sparks" "angles" "0 247.5 0" "origin" "90 3452 547" } NoFixup 1 info_particle_system { "targetname" "green_steam_cap" "effect_name" "green_steam_plume" "angles" "-60 180 180" "origin" "84 3488 176" } NoFixup 1 info_particle_system { "targetname" "green_steam_cap" "effect_name" "green_steam_plume" "angles" "-60 0 0" "origin" "108 3488 176" } NoFixup 1 logic_relay // trigger this { "targetname" "relay_wheel_go_crits" "OnTrigger" "relay_wheel_final_crits,trigger,,6.75,-1" "OnTrigger" "relay_wheel_sequence,trigger,,0,-1" } NoFixup 1 logic_relay { "targetname" "relay_wheel_final_crits" "OnTrigger" "wheel_plane,setmodelscale,1,0,-1" "OnTrigger" "wheel_plane,skin,8,0,-1" "OnTrigger" "wheel_trigger_crits,enable,,1,-1" "OnTrigger" "wheel_of_doom_timer_crits,enable,,1,-1" "OnTrigger" "wheel_trigger_crits,disable,,1.5,-1" } NoFixup 1 logic_timer { "targetname" "wheel_of_doom_timer_crits" "refiretime" "1" "startdisabled" "1" "OnTimer" "wheel_trigger_crits,enable,,0,-1" "OnTimer" "wheel_trigger_crits,disable,,0.5,-1" } NoFixup 1 logic_relay { "targetname" "relay_wheel_sequence" "OnTrigger" "green_steam_cap_relay,Trigger,,0,-1" "OnTrigger" "plumes_long,PlaySound,,0,-1" "OnTrigger" "wheel_of_doom_sound,PlaySound,,0,-1" "OnTrigger" "wheel_of_doom_voice,PlaySound,,0,-1" "OnTrigger" "relay_wheel_random_card_nofinal,Trigger,,5.75,-1" "OnTrigger" "relay_wheel_random_card,Trigger,,5.36,-1" "OnTrigger" "relay_wheel_random_card,Trigger,,5.01,-1" "OnTrigger" "relay_wheel_random_card,Trigger,,4.67,-1" "OnTrigger" "relay_wheel_random_card,Trigger,,4.37,-1" "OnTrigger" "relay_wheel_random_card,Trigger,,4.07,-1" "OnTrigger" "relay_wheel_random_card,Trigger,,3.82,-1" "OnTrigger" "relay_wheel_random_card,Trigger,,3.58,-1" "OnTrigger" "relay_wheel_random_card,Trigger,,3.38,-1" "OnTrigger" "relay_wheel_random_card,Trigger,,3.2,-1" "OnTrigger" "relay_wheel_random_card,Trigger,,3.03,-1" "OnTrigger" "relay_wheel_random_card,Trigger,,2.97,-1" "OnTrigger" "relay_wheel_random_card,Trigger,,2.73,-1" "OnTrigger" "relay_wheel_random_card,Trigger,,2.58,-1" "OnTrigger" "relay_wheel_random_card,Trigger,,2.44,-1" "OnTrigger" "relay_wheel_random_card,Trigger,,2.3,-1" "OnTrigger" "relay_wheel_random_card,Trigger,,2.17,-1" "OnTrigger" "relay_wheel_random_card,Trigger,,2.05,-1" "OnTrigger" "relay_wheel_random_card,Trigger,,1.93,-1" "OnTrigger" "relay_wheel_random_card,Trigger,,1.71,-1" "OnTrigger" "relay_wheel_random_card,Trigger,,1.69,-1" "OnTrigger" "relay_wheel_random_card,Trigger,,1.58,-1" "OnTrigger" "relay_wheel_random_card,Trigger,,1.47,-1" "OnTrigger" "relay_wheel_random_card,Trigger,,1.36,-1" "OnTrigger" "relay_wheel_random_card,Trigger,,1.26,-1" "OnTrigger" "relay_wheel_random_card,Trigger,,1.15,-1" "OnTrigger" "relay_wheel_random_card,Trigger,,1.05,-1" "OnTrigger" "relay_wheel_random_card,Trigger,,0.95,-1" "OnTrigger" "relay_wheel_random_card,Trigger,,0.86,-1" "OnTrigger" "relay_wheel_random_card,Trigger,,0.76,-1" "OnTrigger" "relay_wheel_random_card,Trigger,,0.67,-1" "OnTrigger" "relay_wheel_random_card,Trigger,,0.58,-1" "OnTrigger" "relay_wheel_random_card,Trigger,,0.5,-1" "OnTrigger" "relay_wheel_random_card,Trigger,,0.41,-1" "OnTrigger" "relay_wheel_random_card,Trigger,,0.33,-1" "OnTrigger" "relay_wheel_random_card,Trigger,,0.24,-1" "OnTrigger" "relay_wheel_random_card,Trigger,,0.16,-1" "OnTrigger" "relay_wheel_random_card,Trigger,,0.07,-1" "OnTrigger" "wave_finished_relay,addoutput,OnTrigger wheel_trigger_crits:disable::0:-1,0,-1" "OnTrigger" "wave_finished_relay,addoutput,OnTrigger wheel_plane:disable::0:-1,0,-1" "OnTrigger" "wave_finished_relay,addoutput,OnTrigger wheel_of_doom_timer_crits:disable::0:-1,0,-1" "OnTrigger" "wheel_plane,SetModelScale,0.96,5.75,-1" "OnTrigger" "wheel_plane,SetModelScale,0.94,5.36,-1" "OnTrigger" "wheel_plane,SetModelScale,0.92,5.01,-1" "OnTrigger" "wheel_plane,SetModelScale,0.90,4.67,-1" "OnTrigger" "wheel_plane,SetModelScale,0.88,4.37,-1" "OnTrigger" "wheel_plane,SetModelScale,0.86,4.07,-1" "OnTrigger" "wheel_plane,SetModelScale,0.84,3.82,-1" "OnTrigger" "wheel_plane,SetModelScale,0.82,3.58,-1" "OnTrigger" "wheel_plane,SetModelScale,0.80,3.38,-1" "OnTrigger" "wheel_plane,SetModelScale,0.78,3.2,-1" "OnTrigger" "wheel_plane,SetModelScale,0.77,3.03,-1" "OnTrigger" "wheel_plane,SetModelScale,0.76,2.97,-1" "OnTrigger" "wheel_plane,SetModelScale,0.75,2.73,-1" "OnTrigger" "wheel_plane,SetModelScale,0.74,2.58,-1" "OnTrigger" "wheel_plane,SetModelScale,0.73,2.44,-1" "OnTrigger" "wheel_plane,SetModelScale,0.72,2.3,-1" "OnTrigger" "wheel_plane,SetModelScale,0.71,2.17,-1" "OnTrigger" "wheel_plane,SetModelScale,0.70,2.05,-1" "OnTrigger" "wheel_plane,SetModelScale,0.69,1.93,-1" "OnTrigger" "wheel_plane,SetModelScale,0.68,1.71,-1" "OnTrigger" "wheel_plane,SetModelScale,0.67,1.69,-1" "OnTrigger" "wheel_plane,SetModelScale,0.66,1.58,-1" "OnTrigger" "wheel_plane,SetModelScale,0.65,1.47,-1" "OnTrigger" "wheel_plane,SetModelScale,0.64,1.36,-1" "OnTrigger" "wheel_plane,SetModelScale,0.63,1.26,-1" "OnTrigger" "wheel_plane,SetModelScale,0.62,1.15,-1" "OnTrigger" "wheel_plane,SetModelScale,0.61,1.05,-1" "OnTrigger" "wheel_plane,SetModelScale,0.60,0.95,-1" "OnTrigger" "wheel_plane,SetModelScale,0.59,0.86,-1" "OnTrigger" "wheel_plane,SetModelScale,0.58,0.76,-1" "OnTrigger" "wheel_plane,SetModelScale,0.57,0.67,-1" "OnTrigger" "wheel_plane,SetModelScale,0.56,0.58,-1" "OnTrigger" "wheel_plane,SetModelScale,0.55,0.5,-1" "OnTrigger" "wheel_plane,SetModelScale,0.54,0.41,-1" "OnTrigger" "wheel_plane,SetModelScale,0.53,0.33,-1" "OnTrigger" "wheel_plane,SetModelScale,0.52,0.24,-1" "OnTrigger" "wheel_plane,SetModelScale,0.51,0.16,-1" "OnTrigger" "wheel_plane,SetModelScale,0.5,0.07,-1" "OnTrigger" "wheel_plane,Enable,,0.08,-1" } NoFixup 1 ambient_generic { "targetname" "plumes_long" "origin" "96 3472 208" "message" "Halloween.plumes_long" "radius" "2500" "spawnflags" "48" "health" "10" } NoFixup 1 ambient_generic { "targetname" "wheel_of_doom_sound" "origin" "96 3472 208" "message" "Halloween.WheelofFate" "radius" "1250" "spawnflags" "49" "health" "10" } NoFixup 1 ambient_generic { "targetname" "wheel_of_doom_voice" "origin" "96 3472 208" "message" "Halloween.MerasmusWheelSpin" "radius" "1250" "spawnflags" "49" "health" "10" } NoFixup 1 logic_relay { "targetname" "green_steam_cap_relay" "OnTrigger" "green_steam_cap,Start,,0,-1" "OnTrigger" "green_steam_cap,Stop,,3,-1" "OnTrigger" "green_steam_cap,Start,,3.25,-1" "OnTrigger" "green_steam_cap,Stop,,3.65,-1" "OnTrigger" "green_steam_cap,Stop,,4.5,-1" "OnTrigger" "green_steam_cap,Start,,4,-1" "OnTrigger" "green_wof_sparks,Start,,0,-1" "OnTrigger" "green_wof_sparks,Stop,,6.7,-1" "OnTrigger" "green_wof_sparks,Stop,,14,-1" "OnTrigger" "green_wof_sparks,Start,,6.75,-1" } NoFixup 1 logic_relay { "targetname" "relay_wheel_random_card" "OnTrigger" "case_wheel_random_card,pickrandomshuffle,,0,-1" } NoFixup 1 logic_case { "targetname" "case_wheel_random_card" "OnCase01" "wheel_plane,Skin,2,0,-1" "OnCase02" "wheel_plane,Skin,3,0,-1" "OnCase03" "wheel_plane,Skin,4,0,-1" "OnCase04" "wheel_plane,Skin,5,0,-1" "OnCase05" "wheel_plane,Skin,6,0,-1" "OnCase06" "wheel_plane,Skin,7,0,-1" "OnCase07" "wheel_plane,Skin,8,0,-1" "OnCase08" "wheel_plane,Skin,9,0,-1" "OnCase09" "case_wheel_random_card_nofinal,PickRandomShuffle,,0,-1" "OnCase10" "case_wheel_random_card_nofinal,PickRandomShuffle,,0,-1" "OnCase11" "case_wheel_random_card_nofinal,PickRandomShuffle,,0,-1" "OnCase12" "case_wheel_random_card_nofinal,PickRandomShuffle,,0,-1" "OnCase13" "case_wheel_random_card_nofinal,PickRandomShuffle,,0,-1" "OnCase14" "case_wheel_random_card_nofinal,PickRandomShuffle,,0,-1" } NoFixup 1 logic_relay { "targetname" "relay_wheel_random_card_nofinal" "OnTrigger" "case_wheel_random_card_nofinal,pickrandomshuffle,,0,-1" } NoFixup 1 logic_case { "targetname" "case_wheel_random_card_nofinal" "OnCase01" "wheel_plane,Skin,10,0,-1" "OnCase02" "wheel_plane,Skin,12,0,-1" "OnCase03" "wheel_plane,Skin,13,0,-1" "OnCase04" "wheel_plane,Skin,14,0,-1" "OnCase05" "wheel_plane,Skin,15,0,-1" "OnCase06" "wheel_plane,Skin,11,0,-1" } } laserblimp { logic_relay { "OnSpawn" "laserblimppath_3,addoutput,onpass lsr1:start::0:-1,0,-1" "OnSpawn" "laserblimppath_3,addoutput,onpass lsrhurt:enable::0:-1,0,-1" } prop_dynamic { "modelscale" "0.33" "angles" "60 180 180" "model" "models/props_spytech/raygun003.mdl" "origin" "-59 0 52" } NoFixup 1 info_particle_system { "targetname" "lsr1" "effect_name" "passtime_beam_trail_stage3" "start_active" "0" "cpoint1" "lsr2" "origin" "-50 5 -65" } NoFixup 1 info_particle_system { "targetname" "lsr1" "effect_name" "passtime_beam_trail_stage3" "start_active" "0" "cpoint1" "lsr2" "origin" "-50 -5 -65" } NoFixup 1 info_particle_system { "targetname" "lsr1" "effect_name" "passtime_beam_trail_stage3" "start_active" "0" "cpoint1" "lsr2" "origin" "-55 0 -65" } NoFixup 1 info_particle_system { "targetname" "lsr1" "effect_name" "passtime_beam_trail_stage3" "start_active" "0" "cpoint1" "lsr2" "origin" "-45 0 -65" } NoFixup 1 info_particle_system { "targetname" "lsr2" "effect_name" "burninggibs" "start_active" "0" "cpoint1" "lsr2" "origin" "-50 0 -656" } NoFixup 1 trigger_multiple { "targetname" "lsrhurt" "origin" "-50 0 -287" "mins" "-31 -31 -393" "maxs" "31 31 263" "startdisabled" "1" "spawnflags" "1088" "filtername" "filter_red" "OnStartTouch" "!activator,$takedamage,50,0,-1" "OnStartTouch" "!activator,speakresponseconcept,TLK_PLAYER_PAIN,0,-1" "OnStartTouch" "!self,disable,,0,-1" "OnStartTouch" "!self,enable,,0.5,-1" } } bossfix { NoFixup 1 filter_tf_bot_has_tag { "targetname" "filter_boss" "tags" "bot_boss" "require_all_tags" "1" } NoFixup 1 trigger_multiple { "targetname" "modelscaletrigger" "filtername" "filter_boss" "startdisabled" "1" "origin" "510 520 432" "mins" "-1616 -3336 -2562" "maxs" "1616 3336 2562" "spawnflags" "1" "OnStartTouch" "!activator,setmodelscale,2,0,-1" } NoFixup 1 logic_timer { "targetname" "bosstrigger_timer" "refiretime" "1" "startdisabled" "1" "OnTimer" "modelscaletrigger,enable,,0,-1" "OnTimer" "modelscaletrigger,disable,,0.5,-1" } logic_relay { "OnSpawn" "wave_start_relay_boss,addoutput,OnTrigger bosstrigger_timer:enable::0:-1,0,-1" } } giantnav { func_nav_avoid { "team" "3" "tags" "bot_giant" "origin" "644 2232 84" "mins" "-68 -104 -20" "maxs" "68 104 20" } func_nav_avoid { "team" "3" "tags" "bot_giant" "origin" "656 1628 280" "mins" "-56 -60 -24" "maxs" "56 60 24" } tf_point_nav_interface { "targetname" "nav_interface" } logic_relay { "OnSpawn" "nav_interface,recomputeblockers,,1,-1" "OnSpawn" "nav_interface,recomputeblockers,,2,-1" } } gmedicfix { trigger_push { "mins" "-108 -108 -112" "maxs" "108 108 112" "origin" "-228 3532 448" "pushdir" "0 315 0" "speed" "200" "spawnflags" "1" "filtername" "gmedic" } trigger_push { "mins" "-72 -72 -112" "maxs" "72 72 112" "origin" "696 3720 432" "pushdir" "0 180 0" "speed" "200" "spawnflags" "1" "filtername" "gmedic" } filter_tf_bot_has_tag { "Negated" "Allow entities that match criteria" "require_all_tags" "1" "tags" "bot_giant_medic" "targetname" "gmedic" } } } Mission { Objective DestroySentries BeginAtWave 1 RunForThisManyWaves 6 InitialCooldown 50 CooldownTime 35 DesiredCount 1 Where spawnbot TFBot { Template T_TFBot_SentryBuster Tag bot_giant } } Mission { Objective Sniper InitialCooldown 30 BeginAtWave 2 RunForThisManyWaves 3 CooldownTime 30 DesiredCount 1 Where spawnbot_mission_sniper TFBot { Template T_TFBot_Sniper_Razorback } } Mission { Objective Spy BeginAtWave 5 RunForThisManyWaves 2 CooldownTime 30 InitialCooldown 30 DesiredCount 2 Where spawnbot_mission_spy TFBot { Template T_TFBot_Spy } } Wave // cash 800, bonus 900 { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action trigger } Explanation { Line "{7ca036}Ph'nglui mglw'nafh Cthulhu R'lyeh wgah'nagl fhtagn" Line "{red}Medic can heal buildings" Line "{red}Gas Passer and Neon is now a working combo" Line "{red}Pyro can't knockback bots with airblast" } WaveSpawn { Name wave1a TotalCurrency 100 TotalCount 71 MaxActive 15 SpawnCount 5 WaitBeforeStarting 0 WaitBetweenSpawns 2 Where spawnbot RandomChoice { TFBot { Class Scout Skill Normal } TFBot { Template T_TFBot_Sniper_Huntsman Skill Hard } } } WaveSpawn { Name wave1a TotalCurrency 100 TotalCount 5 MaxActive 5 SpawnCount 1 WaitBeforeStarting 5 WaitBetweenSpawns 10 Where spawnbot TFBot { Template T_TFBot_Giant_Pyro Skill Hard Attributes AlwaysFireWeapon Tag bot_giant } } WaveSpawn { Name wave1b WaitForAllDead wave1a TotalCurrency 100 TotalCount 20 MaxActive 20 SpawnCount 10 WaitBeforeStarting 2 WaitBetweenSpawns 5 Where spawnbot_all TFBot { Class Heavyweapons Skill Easy } } WaveSpawn { Name wave1c WaitForAllSpawned wave1b TotalCurrency 250 TotalCount 4 MaxActive 4 SpawnCount 1 WaitBeforeStarting 7 WaitBetweenSpawns 20 Where spawnbot_right TFBot { Template T_TFBot_Giant_Boxing_Heavy Tag bot_giant } } WaveSpawn { Name wave1c WaitForAllSpawned wave1b TotalCurrency 250 TotalCount 35 MaxActive 7 SpawnCount 1 WaitBeforeStarting 7 WaitBetweenSpawns 2 Where spawnbot_all TFBot { Class Soldier Skill Easy } } } Wave // cash 800, bonus 900 { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action trigger } WaveSpawn { Name wave2a TotalCurrency 100 TotalCount 36 MaxActive 12 SpawnCount 4 WaitBeforeStarting 0 WaitBetweenSpawns 3 Where spawnbot TFBot { Class Demoman Skill Normal Item "The Loch-n-Load" AimAt Body } } WaveSpawn { Name wave2a TotalCurrency 100 TotalCount 3 MaxActive 3 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 15 Where spawnbot Where spawnbot_right TFBot { Template T_TFBot_Giant_Soldier Tag bot_giant } } WaveSpawn { Name wave2b WaitForAllSpawned wave2a TotalCurrency 200 TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 0 FirstSpawnOutput { Target boss_spawn_relay Action Trigger } Tank { Health 15000 Name "tankboss" Speed 75 StartingPathTrackNode "tank_path_right" OnKilledOutput { Target boss_dead_relay Action Trigger } OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn { Name wave2b WaitForAllDead wave2a TotalCurrency 100 TotalCount 5 MaxActive 5 SpawnCount 1 WaitBeforeStarting 5 WaitBetweenSpawns 15 Where spawnbot TFBot { Template T_TFBot_Giant_DemoMan_PrinceTavish Tag bot_giant } } WaveSpawn { Name wave2b WaitForAllDead wave2a TotalCurrency 100 TotalCount 32 MaxActive 8 SpawnCount 1 WaitBeforeStarting 5 WaitBetweenSpawns 1 Where spawnbot_all TFBot { Class Heavyweapons Name "Family Business Heavy" WeaponRestrictions SecondaryOnly ClassIcon heavy_family_business_lite Item "The Family Business" Skill Normal } } WaveSpawn { Name wave2c WaitForAllDead wave2b TotalCurrency 100 TotalCount 41 MaxActive 16 SpawnCount 1 WaitBeforeStarting 5 WaitBetweenSpawns 1 Where spawnbot_right Where spawnbot RandomChoice { TFBot { Class Soldier Skill Hard } TFBot { Template T_TFBot_Soldier_RocketShotgun Skill Hard } } } WaveSpawn { Name wave2c WaitForAllDead wave2b TotalCurrency 100 TotalCount 4 MaxActive 1 SpawnCount 1 WaitBeforeStarting 5 WaitBetweenSpawns 5 Where spawnbot TFBot { Template T_TFBot_Giant_Scout_Baseball } } } Wave // cash 800, bonus 900 { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action trigger } Explanation { Line "{7ca036}Something stirs below the waters..." Line "{ff5857}This blimp fires down a laser that kills red, but not the bots" } WaveSpawn { Name wave3a TotalCurrency 100 TotalCount 2 MaxActive 2 SpawnCount 2 WaitBeforeStarting 1 WaitBetweenSpawns 10 Where spawnbot Squad { TFBot { Template T_TFBot_Giant_Soldier_SlowBarrage Tag bot_giant } TFBot { Template T_TFBot_Giant_Medic Tag bot_squad_member Tag bot_giant Tag bot_giant_medic } } } WaveSpawn { Name wave3engi Support limited TotalCurrency 100 TotalCount 4 MaxActive 4 SpawnCount 4 WaitBeforeStarting 5 WaitBetweenSpawns 7 Where spawnbot_mission_engy TFBot { Template T_TFBot_Engineer_Sentry_Battle_TeleIn Item "The Jag" Attributes IgnoreFlag } } WaveSpawn { Name wave3b WaitForAllDead wave3a TotalCurrency 200 TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 0 FirstSpawnWarningSound "ambient/alarms/doomsday_lift_alarm.wav" Tank { Name "laserblimpboss" StartingPathTrackNode "laserblimppath_1" Health 10000 Skin 1 Speed 75 Model "models/bots/boss_bot/boss_blimp.mdl" Gravity 0 DisableSmokeStack 1 DisableChildModels 1 ReplaceModelCollisions 1 RotatePitch 0 EngineLoopSound "npc/combine_gunship/dropship_engine_distant_loop1.wav" PingSound "npc/combine_gunship/ping_search.wav" ClassIcon blimp2_laser_lite SpawnTemplate "laserblimp" OnKilledOutput { Target boss_dead_relay Action Trigger } OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn { Name wave3b WaitForAllDead wave3a TotalCurrency 100 TotalCount 60 MaxActive 10 SpawnCount 5 WaitBeforeStarting 5 WaitBetweenSpawns 4 Where spawnbot TFBot { Template T_TFBot_Demoman_Knight } } WaveSpawn { Name wave3b WaitForAllDead wave3a TotalCurrency 100 TotalCount 5 MaxActive 5 SpawnCount 1 WaitBeforeStarting 5 WaitBetweenSpawns 15 Where spawnbot TFBot { Template T_TFBot_Giant_Soldier Tag bot_giant } } WaveSpawn { Name wave3b-1 WaitForAllDead wave3b TotalCurrency 50 TotalCount 36 MaxActive 6 SpawnCount 6 WaitBeforeStarting 5 WaitBetweenSpawns 2 Where spawnbot_all TFBot { Template T_TFBot_Sniper_Huntsman } } WaveSpawn { Name wave3b-1 WaitForAllDead wave3b TotalCurrency 50 TotalCount 36 MaxActive 6 SpawnCount 6 WaitBeforeStarting 5 WaitBetweenSpawns 2 Where spawnbot_all TFBot { Template T_TFBot_Scout_Wrap_Assassin ClassIcon scout_wrap_lite Name "Wrap Assassin Scout" Attributes AlwaysCrit Skill Hard } } WaveSpawn { Name wave3b-1 WaitForAllDead wave3b TotalCurrency 100 TotalCount 3 MaxActive 1 SpawnCount 1 WaitBeforeStarting 5 WaitBetweenSpawns 7 Where spawnbot TFBot { Template T_TFBot_Giant_Heavyweapons Tag bot_giant } } } Wave // cash 1000, bonus 1100 { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action trigger } WaveSpawn { Name wave4a TotalCurrency 100 TotalCount 4 MaxActive 1 SpawnCount 1 WaitBeforeStarting 1 WaitBetweenSpawns 7 Where spawnbot TFBot { Template T_TFBot_Giant_Soldier_Spammer_Reload Attributes AlwaysCrit Tag bot_giant } } WaveSpawn { Name wave4a TotalCurrency 100 TotalCount 20 MaxActive 5 SpawnCount 5 WaitBeforeStarting 1 WaitBetweenSpawns 5 Where spawnbot Where spawnbot_right TFBot { Template T_TFBot_Heavy_IronFist_Airblast Tag bot_giant } } WaveSpawn { Name wave4a TotalCurrency 100 TotalCount 44 MaxActive 11 SpawnCount 4 WaitBeforeStarting 1 WaitBetweenSpawns 3 Where spawnbot_all TFBot { Class Scout Skill Hard } } WaveSpawn { Name wave4b WaitForAllDead wave4a TotalCurrency 100 TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 0 FirstSpawnOutput { Target boss_spawn_relay Action Trigger } Tank { Health 17500 Name "tankboss" Speed 75 StartingPathTrackNode "tank_path_left" OnKilledOutput { Target boss_dead_relay Action Trigger } OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn { Name wave4b WaitForAllDead wave4a TotalCurrency 100 TotalCount 49 MaxActive 14 SpawnCount 1 WaitBeforeStarting 1 WaitBetweenSpawns 1 Where spawnbot_right Where spawnbot TFBot { Class Pyro ClassIcon pyro_dragon_fury_swordstone Item "The Dragon's Fury" Skill Easy } } WaveSpawn { Name wave4b WaitForAllDead wave4a TotalCurrency 100 TotalCount 5 MaxActive 5 SpawnCount 1 WaitBeforeStarting 1 WaitBetweenSpawns 15 Where spawnbot TFBot { Template T_TFBot_Giant_Scout Name "Giant Sun-on-a-Stick Scout" WeaponRestrictions MeleeOnly ClassIcon scout_sunstick Item "Sun-on-a-Stick" Skill Hard Tag bot_giant } } WaveSpawn { Name wave4c WaitForAllDead wave4b TotalCurrency 200 TotalCount 4 MaxActive 2 SpawnCount 2 WaitBeforeStarting 1 WaitBetweenSpawns 10 Where spawnbot Squad { TFBot { Template T_TFBot_Giant_Heavyweapons_Deflector Tag bot_giant } TFBot { Template T_TFBot_Giant_Medic_Regen Tag bot_squad_member Tag bot_giant Tag bot_giant_medic } } } WaveSpawn { Name wave4c WaitForAllDead wave4b TotalCurrency 200 TotalCount 48 MaxActive 12 SpawnCount 3 WaitBeforeStarting 1 WaitBetweenSpawns 3 Where spawnbot_right Where spawnbot TFBot { Class Demoman } } } Wave // cash 700, bonus 800 { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action trigger } WaveSpawn { Name wave5a TotalCurrency 100 TotalCount 40 MaxActive 15 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 1 Where spawnbot_all RandomChoice { TFBot { Class Heavyweapons Skill Normal } TFBot { Class Heavyweapons Skill Normal } TFBot { Class Heavyweapons Skill Hard } } } WaveSpawn { Name wave5a TotalCurrency 100 TotalCount 3 MaxActive 3 SpawnCount 1 WaitBeforeStarting 1 WaitBetweenSpawns 20 Where spawnbot_right TFBot { Template T_TFBot_Giant_Pyro Name "Giant Spell Caster" Item "TF_WEAPON_SPELLBOOK" Item "The Wraith Wrap" Attributes SuppressFire WeaponRestrictions PrimaryOnly ClassIcon spellbook_lite_giant Tag bot_giant ItemAttributes { ItemName "TF_WEAPON_SPELLBOOK" "is_passive_weapon" 1 } CharacterAttributes { "Hand scale" 0 "voice pitch scale" 0 "cancel falling damage" 1 } Spell { Delay 5 Cooldown 5 Type "Fireball" } } } WaveSpawn { Name wave5b WaitForAllDead wave5a TotalCurrency 100 TotalCount 49 MaxActive 14 SpawnCount 7 WaitBeforeStarting 1 WaitBetweenSpawns 5 Where spawnbot_right Where spawnbot RandomChoice { TFBot { Class Sniper Skill Expert Name "Ichor Thrower" ClassIcon sniper_jarate WeaponRestrictions SecondaryOnly Attributes AlwaysFireWeapon Item "Jarate" ItemAttributes { ItemName "Jarate" "effect bar recharge rate increased" 0.01 } } TFBot { Class Scout Skill Expert Name "Ichor Thrower" ClassIcon scout_milk WeaponRestrictions SecondaryOnly Attributes AlwaysFireWeapon Item "Mad Milk" ItemAttributes { ItemName "Mad Milk" "effect bar recharge rate increased" 0.01 } } } } WaveSpawn { Name wave5b WaitForAllDead wave5a TotalCurrency 100 TotalCount 2 MaxActive 1 SpawnCount 1 WaitBeforeStarting 1 WaitBetweenSpawns 0 Where spawnbot_right TFBot { Template T_TFBot_Giant_Soldier_Spammer Tag bot_giant } } WaveSpawn { Name wave5b WaitForAllDead wave5a TotalCurrency 100 TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 0 FirstSpawnOutput { Target boss_spawn_relay Action Trigger } Tank { Health 20000 Name "tankboss" Speed 75 Skin 1 StartingPathTrackNode "tank_path_right" OnKilledOutput { Target boss_dead_relay Action Trigger } OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn { Name wave5c WaitForAllDead wave5b TotalCurrency 100 TotalCount 2 MaxActive 1 SpawnCount 1 WaitBeforeStarting 1 WaitBetweenSpawns 0 Where spawnbot TFBot { Class Heavyweapons Name "Giant Brass Beast Heavy" ClassIcon heavy_brass_nys Skill Expert Health 5000 Attributes MiniBoss Item "Dragonborn Helmet" Item "The Brass Beast" Tag bot_giant ItemAttributes { ItemName "The Brass Beast" "damage bonus" 1.7 } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.3 "airblast vulnerability multiplier" 0.3 "override footstep sound set" 2 } } } WaveSpawn { Name wave5c WaitForAllDead wave5b TotalCurrency 50 TotalCount 34 MaxActive 11 SpawnCount 1 WaitBeforeStarting 1 WaitBetweenSpawns 1 Where spawnbot_all TFBot { Class Scout Skill Easy Attributes AlwaysCrit } } WaveSpawn { Name wave5c WaitForAllDead wave5b TotalCurrency 50 TotalCount 32 MaxActive 10 SpawnCount 2 WaitBeforeStarting 1 WaitBetweenSpawns 1 Where spawnbot_all Squad { TFBot { Template T_TFBot_Soldier_Extended_Concheror } TFBot { Template T_TFBot_Medic_QuickFix Tag bot_squad_member } } } } Wave // cash 500, bonus 600 { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action trigger } Explanation { Line "{7ca036}He awakes!" } WaveSpawn { Name wave6a-1 TotalCurrency 100 TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 0 Where spawnbot TFBot { Template T_TFBot_Giant_Heavyweapons_Shotgun Attributes AlwaysCrit } } WaveSpawn { Name wave6a-2 WaitForAllSpawned wave6a-1 TotalCurrency 100 TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 10 WaitBetweenSpawns 0 Where spawnbot TFBot { Template T_TFBot_Giant_Heavyweapons Attributes AlwaysCrit } } WaveSpawn { Name wave6a-3 WaitForAllSpawned wave6a-2 TotalCurrency 300 TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 10 WaitBetweenSpawns 0 Where spawnbot TFBot { Template T_TFBot_Soldier_BurstFire Attributes AlwaysCrit } } WaveSpawn { Name wave6a-skelesupport Support limited TotalCount 36 MaxActive 12 SpawnCount 1 WaitBeforeStarting 1 WaitBetweenSpawns 1 Where spawnbot_all TFBot { Template T_TFBot_Sniper_Huntsman } } WaveSpawn { Name wave6-relay WaitForAllDead wave6a-3 Support 1 TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 99999 Where spawnbot FirstSpawnOutput { Target wave_start_relay_boss Action Trigger } } WaveSpawn { Name wave6-relay WaitForAllDead wave6a-3 Support 1 TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 99999 Where spawnbot FirstSpawnOutput { Target relay_wheel_go_crits Action Trigger } } WaveSpawn { Name wave6b WaitForAllDead wave6a-3 TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 10 WaitBetweenSpawns 3 Where spawnbot TFBot { Template T_TFBot_Giant_Pyro Scale 2 Health 100000 Name "Cthulhu" Item "TF_WEAPON_SPELLBOOK" Item "Cap'n Calamari" Item "Fallen Angel" Item "The Phlogistinator" WeaponRestrictions PrimaryOnly ClassIcon spellbook_lite Attributes IgnoreFlag Attributes UseBossHealthBar Action Mobber Tag bot_boss Tag bot_giant AlwaysGlow 1 ItemAttributes { ItemName "TF_WEAPON_SPELLBOOK" "is_passive_weapon" 1 } ItemAttributes { ItemName "The Phlogistinator" "damage bonus" 1.5 "mod rage on hit bonus" -100 } CharacterAttributes { "Hand scale" 0 "voice pitch scale" 0 "damage force reduction" 0.1 "airblast vulnerability multiplier" 0.1 "airblast vertical vulnerability multiplier" 0.1 "cancel falling damage" 1 "move speed bonus" 0.6 "rage giving scale" 0.1 } Spell { Delay 20 Cooldown 20 Type "Summon Skeletons" } } } WaveSpawn { Name wave6support WaitForAllSpawned wave6a-1 Support 1 TotalCount 100 MaxActive 1 SpawnCount 1 WaitBeforeStarting 6 WaitBetweenSpawns 1 Where spawnbot RandomChoice { TFBot { Template T_TFBot_Giant_Soldier_Extended_Battalion Tag bot_giant ItemAttributes { ItemName "Battalion's Backup" "single wep holster time increased" 1.5 } } TFBot { Template T_TFBot_Giant_Scout_Fast Tag bot_giant } TFBot { Template T_TFBot_Giant_Demo_Burst Attributes AlwaysCrit Tag bot_giant } } } WaveSpawn { Name wave6support-2 WaitForAllSpawned wave6b Support 1 TotalCount 100 MaxActive 12 SpawnCount 1 WaitBeforeStarting 6 WaitBetweenSpawns 1 Where spawnbot TFBot { Class Scout Attributes AlwaysCrit Skill Easy } } WaveSpawn ////just shows crit card { Name wave6wheel Support 1 TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 99999 WaitBetweenSpawns 99999 Where spawnbot TFBot { Class Scout ClassIcon wheelofdoom_crits } } } }