#base robot_standard.pop #base robot_giant.pop #base robot_tank_small_turret.pop WaveSchedule { StartingCurrency 400 CanBotsAttackWhileInSpawnRoom no RespawnWaveTime 3 AddSentryBusterWhenDamageDealtExceeds 3000 AddSentryBusterWhenKillCountExceeds 15 Advanced 1 RobotLimit 30 AllowBotExtraSlots 1 PrecacheModel "models/bots/boss_bot/combat_tank/combat_tank_fireball.mdl" PrecacheModel "models/weapons/c_models/c_firelauncher/c_firelauncher.mdl" PrecacheSound "lastlegs_alt_cmprsd.mp3" CustomWeapon { "Axtinguisher Tosser" { OriginalItemName "The Rescue Ranger" "projectile gravity" -1 "projectile speed decreased" 0.4 "penetrate teammates" 1 "projectile penetration" 1 "arrow hit kill time" 0.1 // "projectile lifetime" 10 // "grenade bounce speed" 0.3 "no damage falloff" 1 "damage bonus" 1.1 //44 "minicrit vs burning player" 1 "damage bonus vs burning" 1.5 //66 base damage "fire input on hit" "!self^ExtinguishPlayer^" //extinguish the player "fire rate bonus" 0.6 //0.375 "faster reload rate" 0 "custom projectile model" "models/weapons/w_models/w_drg_ball.mdl" "custom item model" "models/weapons/c_models/c_axtinguisher/c_axtinguisher_pyro.mdl" "custom weapon fire sound" "common/null.wav" "custom kill icon" "axtinguisher" } "Axtinguisher Tosser Boss" { OriginalItemName "The Rescue Ranger" "projectile gravity" -1 "projectile speed decreased" 0.1 "mod projectile heat seek power" 85 "mod projectile heat aim error" 999 "mod projectile heat aim time" 10 "mod projectile heat aim start time" 0.1 "mod projectile heat no predict target speed" 1 "penetrate teammates" 1 "projectile penetration" 1 "arrow hit kill time" 0.1 // "projectile lifetime" 10 // "grenade bounce speed" 0.3 "projectile trail particle" "eyeboss_projectile" "no damage falloff" 1 "damage bonus" 2 //44 "minicrit vs burning player" 1 "damage bonus vs burning" 1.5 //66 base damage "fire input on hit" "!self^ExtinguishPlayer^" //extinguish the player "fire rate bonus" 0.4 //0.375 "faster reload rate" 0 "projectile spread angle penalty" 55 "custom projectile model" "models/weapons/w_models/w_drg_ball.mdl" "custom item model" "models/weapons/c_models/c_axtinguisher/c_axtinguisher_pyro.mdl" "custom weapon fire sound" "common/null.wav" "custom kill icon" "axtinguisher" } } ExtraSpawnPoint { Name "spawnbot_superspy" X -676 Y 2254 Z -382 TeamNum 3 } ExtraTankPath { Name "tele_tank_path1" Node "776 2320 -336" // tank_path_1 Node "784 2160 -336" // tank_path_2 Node "912 2080 -336" // tank_path_3 Node "1040 2000 -336" // tank_path_4 Node "1184 1936 -336" // tank_path_5 Node "1280 1776 -336" // tank_path_6 Node "1312 1584 -336" // tank_path_7 Node "1296 1008 -336" // tank_path_8 Node "1200 704 -320" // tank_path_9 Node "1104 544 -336" // tank_path_10 Node "896 496 -272" // tank_path_11 Node "400 480 -80" // tank_path_12 Node "-96 656 -64" // tank_path_13 Node "-496 624 -64" // tank_path_14 Node "-752 432 -64" // tank_path_15 Node "-896 -16 -64" // tank_path_16 Node "-896 -688 -64" // tank_path_17 Node "-832 -880 -64" // tank_path_18 Node "-672 -960 -64" // tank_path_19 Node "-560 -976 -80" // tank_path_20 } ExtraTankPath { Name "tele_tank_path2" Node "-1072 1824 -304" // tank_path_1 Node "-1392 1424 -208" // tank_path_2 Node "-1632 1328 -208" // tank_path_3 Node "-1936 1616 -192" // tank_path_4 Node "-2080 1648 -208" // tank_path_5 Node "-2320 1424 -176" // tank_path_6 Node "-2336 1184 -144" // tank_path_7 Node "-2192 848 -128" // tank_path_8 Node "-1920 544 -64" // tank_path_9 Node "-1552 352 -64" // tank_path_10 Node "-1248 224 -64" // tank_path_11 Node "-992 0 -64" // tank_path_12 Node "-912 -320 -64" // tank_path_13 Node "-864 -656 -64" // tank_path_14 Node "-704 -960 -64" // tank_path_15 Node "-560 -992 -96" // tank_path_16 } ExtraTankPath { Name "blimp_path2" Node "1856 3904 192" // tank_path_1 Node "704 4032 0" // tank_path_2 Node "96 3584 -144" // tank_path_3 Node "240 2528 -96" // tank_path_4 Node "240 1248 48" // tank_path_5 Node "336 784 96" // tank_path_6 Node "-240 544 128" // tank_path_7 Node "-704 528 176" // tank_path_8 Node "-896 -640 208" // tank_path_9 Node "-528 -896 240" // tank_path_10 } ExtraTankPath { Name "blimp_path" Node "-2656 4048 -208" // tank_path_1 Node "-1232 3936 -240" // tank_path_2 Node "-832 3472 -208" // tank_path_3 Node "-768 2944 -160" // tank_path_4 Node "-736 2368 -80" // tank_path_5 Node "-800 1984 -48" // tank_path_6 Node "-1264 1600 64" // tank_path_7 Node "-1648 1424 128" // tank_path_8 Node "-2224 1552 208" // tank_path_9 Node "-2496 1232 256" // tank_path_10 Node "-1968 656 256" // tank_path_11 Node "-1184 208 256" // tank_path_12 Node "-960 0 240" // tank_path_13 Node "-944 -464 240" // tank_path_14 Node "-832 -752 240" // tank_path_15 Node "-528 -896 240" // tank_path_16 } CustomScriptSounds { "Pyro.Boss.Step" { "channel" "CHAN_STATIC" "volume" "1.0" "pitch" "100" "soundlevel" "SNDLVL_120dB" "rndwave" { "wave" "^mvm/giant_heavy/giant_heavy_step01.wav" "wave" "^mvm/giant_heavy/giant_heavy_step02.wav" "wave" "^mvm/giant_heavy/giant_heavy_step03.wav" "wave" "^mvm/giant_heavy/giant_heavy_step04.wav" } } } PointTemplates { additionalbosslogic { logic_relay { "targetname" "axeattack" "OnTrigger" "!activatorrunscriptcodeScreenShake(self.GetOrigin(), 5, 8, 1, 6000, 1, true)0-1" "OnTrigger" "tf_gamerules,PlayVO,mvm/mvm_deploy_giant.wav,0.17,-1" "OnTrigger" "tf_gamerules,PlayVO,misc\halloween\strongman_fast_impact_01.wav,3.25,-1" "OnTrigger" "tf_gamerules,PlayVO,misc\halloween\strongman_fast_whoosh_01.wav,2.8,-1" "OnTrigger" "tf_gamerules,PlayVO,misc\halloween\strongman_fast_whoosh_01.wav,2.8,-1" "OnTrigger" "!activatorRunScriptCodelocal hWeapon = self.GetActiveWeapon(); if(hWeapon) hWeapon.EnableDraw()3-1" "OnTrigger" "!activatorRunScriptCodeself.AddCustomAttribute(`hand scale`,3.35,-1)0-1" "OnTrigger" "!activatorRunScriptCodeself.AddCustomAttribute(`no_jump`,1,-1)0-1" "OnTrigger" "!activatorRunScriptCodeself.AddCustomAttribute(`fire rate bonus`,10,-1)0-1" "OnTrigger" "!activatorRunScriptCodeself.AddCustomAttribute(`gesture speed increase`,0.1,-1)0.2-1" "OnTrigger" "!activatorRunScriptCodeself.AddCustomAttribute(`gesture speed increase`,0,-1)0.4-1" "OnTrigger" "!activatorRunScriptCodeself.AddCustomAttribute(`move speed bonus`,0,-1)0-1" "OnTrigger" "!activatorRunScriptCodeself.AddCustomAttribute(`move speed bonus`,0.55,-1)3-1" "OnTrigger" "!activatorRunScriptCodeself.RemoveCustomAttribute(`hand scale`)3-1" "OnTrigger" "!activatorRunScriptCodeself.RemoveCustomAttribute(`fire rate bonus`)3-1" "OnTrigger" "!activatorRunScriptCodeself.RemoveCustomAttribute(`gesture speed increase`)2.8-1" "OnTrigger" "jumpattackdust*,start,,3.15,-1" "OnTrigger" "jumpattackdust*,stop,,3.25,-1" "OnTrigger" "boss_push,enable,,3.15,-1" "OnTrigger" "boss_push,ApplyImpulse,,3.15,-1" "OnTrigger" "boss_push,disable,,3.25,-1" } info_particle_system { "targetname" "jumpattackdust" "origin" "400 0 0" "effect_name" "hammer_impact_button" "start_active" "0" } info_particle_system { "targetname" "jumpattackdust" "origin" "400 0 0" "effect_name" "hammer_impact_button_dust2" "start_active" "0" } trigger_apply_impulse { "targetname" "boss_push" "origin" "400 0 0" "mins" "-600 -600 -200" "maxs" "600 600 200" "spawnflags" "1" "filtername" "filter_is_red_player" "force" "1250" "impulse_dir" "262 10 0" } trigger_hurt { "targetname" "boss_push" "origin" "400 0 0" "angles" "0 0 0" "maxs" "250 250 200" "mins" "-250 -250 -200" "damagetype" "64" "damage" "500" "filtername" "filter_is_red_not_ubered" "StartDisabled" "1" "spawnflags" "64" } } attacktemplate { RemoveIfKilled boss_attack ambient_generic { "targetname" "mischeviouslaugh" "message" "vo\mvm\mght\pyro_mvm_m_laughshort01.mp3" "health" "10" "pitch" "80" "radius" "6000" } ambient_generic { "targetname" "mischeviouslaugh" "message" "vo\mvm\mght\pyro_mvm_m_laughshort01.mp3" "health" "10" "pitch" "80" "radius" "6000" } ambient_generic { "targetname" "mischevioustopm" "message" "ambient\rottenburg\tunneldoor_closed_quiet.wav" "health" "10" "pitch" "100" "radius" "10000" "spawnflags" "16" } ambient_generic { "targetname" "mischevioustopm" "message" "ambient\rottenburg\tunneldoor_closed_quiet.wav" "health" "10" "pitch" "100" "radius" "10000" "spawnflags" "16" } logic_relay { "targetname" "triggerthatshit" "OnTrigger" "boss_push,enable,,0,1" "OnTrigger" "boss_push,disable,,0.1,1" "OnTrigger" "boss_push,applyimpulse,,0,1" "OnTrigger" "jumpattackdust*,start,,0,1" "OnTrigger" "jumpattackdust*,stop,,0.1,1" "OnTrigger" "boss_attack,kill,,0.7,1" "OnTrigger" "mischevioustopm,playsound,,0,1" "OnTrigger" "mischevioustopm,stopsound,,0.6,1" } info_particle_system { "targetname" "jumpattackdust" "origin" "0 0 0" "effect_name" "hammer_impact_button" "start_active" "0" "parentname" "boss_attack" } info_particle_system { "targetname" "jumpattackdust" "origin" "0 0 0" "effect_name" "hammer_impact_button_dust2" "start_active" "0" "parentname" "boss_attack" } trigger_apply_impulse { "targetname" "boss_push" "origin" "0 0 0" "mins" "-400 -400 -200" "maxs" "400 400 200" "spawnflags" "1" "filtername" "filter_is_red_player" "force" "700" "impulse_dir" "262 10 0" "parentname" "boss_attack" } trigger_hurt { "targetname" "boss_push" "origin" "0 0 0" "angles" "0 0 0" "maxs" "200 200 200" "mins" "-200 -200 -200" "damagetype" "64" "damage" "350" "filtername" "filter_is_red_not_ubered" "StartDisabled" "1" "spawnflags" "64" "parentname" "boss_attack" } prop_dynamic { "targetname" "boss_attack" "origin" "0 0 0" "angles" "0 0 0" "color" "255 255 255" "model" "models\bots\pyro_boss\bot_pyro_boss_gibby.mdl" "modelscale" "2.5" "updatechildren" "1" "defaultanim" "taunt_flip_success_receiver" "disablebonefollowers" "1" "onanimationbegun" "!self,setplaybackrate,0.0001,0.1,-1" "onanimationbegun" "!self,setplaybackrate,1,0.5,-1" "onanimationbegun" "triggerthatshit,trigger,,2.8,-1" "onanimationbegun" "the_funny_manRunScriptCodeNetProps.SetPropBool(self, `m_bClientSideAnimation`, false); self.SetCycle(0.5)-1-1" "skin" "1" } } throw_molotov { RemoveIfKilled "location" KeepAlive 1 OnParentKilledOutput { Target molotov_wepflame Action ForceSpawnAtEntityOrigin Param location } OnParentKilledOutput { Target location Action Kill Delay 3.5 } info_target { "targetname" "location" } } molotov_wepflame { RemoveIfKilled "firetrigger" OnSpawnOutput { Target firetrigger Action Kill Delay 3.5 } OnSpawnOutput { Target firetrigger Action Enable Delay 0.03 } info_target { "targetname" "letstest" "origin" "0 0 0" } info_particle_system { "targetname" "fireparticle" "parentname" "letstest" "effect_name" "lava_fireball_01" "start_active" "1" } trigger_hurt { "targetname" "firetrigger" "parentname" "letstest" "mins" "-60 -60 -60" "maxs" "60 60 60" "damagetype" "8" "damage" "20" "startdisabled" "1" "spawnflags" "64" "onhurtplayer" "!activator,$igniteplayerduration,5,0,-1" "$killicon" "firedeath" "filtername" "filter_is_red_not_ubered" } } throw_molotov_boss { RemoveIfKilled "location" KeepAlive 1 OnParentKilledOutput { Target molotov_wepflame_boss Action ForceSpawnAtEntityOrigin Param location } OnParentKilledOutput { Target location Action Kill Delay 8 } info_target { "targetname" "location" } } molotov_wepflame_boss { RemoveIfKilled "firetrigger" OnSpawnOutput { Target firetrigger Action Kill Delay 8 } OnSpawnOutput { Target firetrigger Action Enable Delay 0.03 } info_target { "targetname" "letstest" "origin" "0 0 0" } info_particle_system { "targetname" "fireparticle" "parentname" "letstest" "effect_name" "cinefx_goldrush" "start_active" "1" "origin" "0 0 50" } info_particle_system { "targetname" "fireparticle" "parentname" "letstest" "effect_name" "mvm_hatch_destroy" "start_active" "1" "origin" "0 0 70" } trigger_hurt { "targetname" "firetrigger" "parentname" "letstest" "mins" "-200 -200 -200" "maxs" "200 200 200" "damagetype" "8" "damage" "30" "startdisabled" "1" "spawnflags" "64" "onhurtplayer" "!activator,$igniteplayerduration,5,0,-1" "$killicon" "firedeath" "filtername" "filter_is_red_not_ubered" } } PT_RotatingAxe { OnSpawnOutput { Target "!activator" Action "AddOutput" Param "rendermode 10" Delay 0.01 } prop_dynamic { "targetname" "axe1" "parentname" "rot" "model" "models/weapons/c_models/c_axtinguisher/c_axtinguisher_pyro.mdl" "angles" "0 0 0" } func_rotating { "targetname" "rot" "spawnflags" 73 //not solid, spin on Y, start active "fanfriction" 100 "maxspeed" 400 } } PT_RotatingAxe_Boss { KeepAlive 1 RemoveIfKilled axe1 OnParentKilledOutput { Target "axe1" Action "Kill" Delay 3.5 } OnParentKilledOutput { Target "killyourse" Action "FireOnce" Delay 3.4 } OnParentKilledOutput { Target "rot" Action "Stop" Delay 0 } OnSpawnOutput { Target "!activator" Action "AddOutput" Param "rendermode 10" Delay 0.01 } tf_point_weapon_mimic { "targetname" "killyourse" "spawnflags" "1" "angles" "0 0 0" "origin" "0 0 20" "teamnum" "3" "Crits" "0" "Damage" "200" "ModelScale" "1" "SpeedMax" "0" "SpeedMin" "0" "SplashRadius" "200" "SpreadAngle" "0" "WeaponType" "3" "OnUser4" "!self,DetonateStickies,,0.05,-1" } prop_dynamic { "targetname" "axe1" "modelscale" "1.5" "parentname" "rot" "model" "models/weapons/c_models/c_axtinguisher/c_axtinguisher_pyro.mdl" "angles" "0 0 0" } func_rotating { "targetname" "rot" "min" "-80 -80 -80" "max" "80 80 80" "spawnflags" 105 //not solid, spin on Y, start active "fanfriction" 100 "maxspeed" 500 "dmg" 20 } } fixthestupidchungusmap { logic_auto { "OnMapSpawn" "tank_path_a_51,$setkey$origin,-566 -992 -127,0,-1" "OnMapSpawn" "tf_objective_resource,$SetClientProp$m_iszMvMPopfileName,FLAMES OF DESPAIR (EXPERT),0,-1" } NoFixUp 1 point_populator_interface { "targetname" "pop_interface" } point_clientcommand { "targetname" "client_commander" } filter_activator_class { "targetname" "filter_is_not_player" "Negated" "1" "filterclass" "player" } filter_activator_class { "targetname" "filter_is_player" "Negated" "0" "filterclass" "player" } filter_activator_tfteam { "targetname" "filter_is_blue" "Negated" "0" "TeamNum" "3" } filter_activator_tfteam { "targetname" "filter_is_red" "Negated" "0" "TeamNum" "2" } filter_multi { "targetname" "filter_is_red_player" "Negated" "0" "FilterType" "0" //and "Filter01" "filter_is_red" "Filter02" "filter_is_player" } filter_tf_condition { "targetname" "_filter_is_not_ubered" "Negated" "1" "condition" "5" //medigun uber } filter_tf_condition { "targetname" "_filter_is_not_ubered2" "Negated" "1" "condition" "52" //canteen uber } filter_tf_condition { "targetname" "_filter_is_not_ubered3" "Negated" "1" "condition" "51" //hidden uber } filter_tf_condition { "targetname" "_filter_is_not_ubered4" "Negated" "1" "condition" "57" //WoF uber } filter_multi { // is red player, AND is NOT ubered "targetname" "filter_is_red_not_ubered" "Negated" "0" "FilterType" "0" //and "Filter01" "filter_is_red" "Filter02" "_filter_is_not_ubered" "Filter03" "_filter_is_not_ubered2" "Filter04" "_filter_is_not_ubered3" "Filter05" "_filter_is_not_ubered4" "Filter06" "filter_is_player" } filter_multi { "targetname" "filter_not_ubered" "Negated" "0" "FilterType" "0" "Filter01" "_filter_is_not_ubered" "Filter02" "_filter_is_not_ubered2" "Filter03" "_filter_is_not_ubered3" "Filter04" "_filter_is_not_ubered4" "Filter05" "filter_is_player" } } speedupthattank { logic_relay { "targetname" "okthefinalsquadisoutcomeon" "OnTrigger" "tank_boss,setspeed,15,0,-1" "OnTrigger" "tank_boss,setspeed,30,2,-1" "OnTrigger" "tank_boss,setspeed,45,4,-1" "OnTrigger" "tank_boss,setspeed,75,6,-1" "OnTrigger" "tf_gamerules,playvo,misc\doomsday_lift_warning.wav,0,1" } logic_relay { "OnSpawn" "tank_boss,setspeed,15,2,1" "OnSpawn" "tank_boss,setspeed,30,4,1" "OnSpawn" "tank_boss,setspeed,45,5,1" "OnSpawn" "tank_boss,setspeed,60,5.5,1" "OnSpawn" "tank_path_16,AddOutput,OnPass tank_boss:setspeed:45:0:1,0,1" "OnSpawn" "tank_path_16,AddOutput,OnPass tank_boss:setspeed:30:1:1,0,1" "OnSpawn" "tank_path_16,AddOutput,OnPass tank_boss:setspeed:15:2:1,0,1" "OnSpawn" "tank_path_16,AddOutput,OnPass tank_boss:setspeed:0:4:1,0,1" "OnSpawn" "tank_path_27,AddOutput,OnPass tank_boss:setspeed:45:0:1,0,1" "OnSpawn" "tank_path_27,AddOutput,OnPass tank_boss:setspeed:30:1:1,0,1" "OnSpawn" "tank_path_27,AddOutput,OnPass tank_boss:setspeed:15:2:1,0,1" "OnSpawn" "tank_path_27,AddOutput,OnPass tank_boss:setspeed:0:4:1,0,1" } } w4intro { RemoveIfKilled trolley2 OnSpawnOutput { Target trolley Action setplaybackrate Param 0.6 Delay 0 } OnSpawnOutput { Target incitefearintothem Action trigger Delay 15 } logic_relay { "targetname" "deploymegadeath" "OnTrigger" "tf_gamerules,playvo,mvm\mvm_tele_deliver.wav,7,-1" "OnTrigger" "tf_gamerules,playvo,mvm\mvm_cpoint_klaxon.wav,0,-1" "OnTrigger" "tf_gamerules,playvo,mvm\mvm_cpoint_klaxon.wav,2,-1" "OnTrigger" "tf_gamerules,playvo,mvm\mvm_cpoint_klaxon.wav,4,-1" "OnTrigger" "tf_gamerules,playvo,mvm\mvm_cpoint_klaxon.wav,5,-1" "OnTrigger" "tf_gamerules,playvo,mvm\mvm_cpoint_klaxon.wav,6,-1" "OnTrigger" "tf_gamerules,playvo,mvm\mvm_cpoint_klaxon.wav,6.5,-1" "OnTrigger" "tf_gamerules,playvo,music\hl2_song31.mp3,0,-1" "OnTrigger" "tf_gamerules,playvo,music\hl2_song31.mp3,0,-1" "OnTrigger" "beam2,start,,2,-1" "OnTrigger" "beam2,stop,,2.1,-1" "OnTrigger" "trolley2,setplaybackrate,4,4,-1" "OnTrigger" "beam2,start,,4,-1" "OnTrigger" "beam2,stop,,4.1,-1" "OnTrigger" "beam2,start,,5,-1" "OnTrigger" "beam2,stop,,5.1,-1" "OnTrigger" "beam2,start,,6,-1" "OnTrigger" "beam2,stop,,6.1,-1" "OnTrigger" "beam2,start,,6.6,-1" "OnTrigger" "beam2,stop,,7.1,-1" "OnTrigger" "trolley2,kill,,7.2,-1" } logic_relay { "targetname" "incitefearintothem" "OnTrigger" "trolley,Disable,0,0,1" "OnTrigger" "trolley2,enable,0,0,1" "OnTrigger" "beam,start,,0,1" "OnTrigger" "tf_gamerules,PlayVO,mvm\mvm_tele_activate.wav,0,1" "OnTrigger" "heylook,show,,0,1" } training_annotation { "targetname" "heylook" "display_text" "A Tank will Teleport in from Here!" "lifetime" "8" "origin" "-79 4072 -655" } info_particle_system { "targetname" "beam" "origin" "-79 4072 -655" "effect_name" "teleporter_mvm_bot_persist" "start_active" "0" } info_particle_system { "targetname" "beam2" "origin" "-79 4072 -680" "effect_name" "powerup_supernova_explode_blue_spiral" "start_active" "0" } prop_dynamic { "targetname" "trolley" "model" "models/buildables/teleporter.mdl" "origin" "-79 4072 -700" "angles" "0 0 5" "modelscale" "3.5" "skin" "1" "defaultanim" "build" "disableshadows" "1" } prop_dynamic { "targetname" "trolley2" "model" "models/buildables/teleporter_light.mdl" "origin" "-79 4072 -700" "angles" "0 0 5" "modelscale" "3.5" "skin" "1" "defaultanim" "running" "disableshadows" "1" "startdisabled" "1" } } w6intro { RemoveIfKilled trolley2 OnSpawnOutput { Target trolley Action setplaybackrate Param 0.6 Delay 0 } OnSpawnOutput { Target incitefearintothem Action trigger Delay 15 } logic_relay { "targetname" "deploymegadeath2" "OnTrigger" "tf_gamerules,playvo,mvm\mvm_tele_deliver.wav,7,-1" "OnTrigger" "tf_gamerules,playvo,mvm\mvm_cpoint_klaxon.wav,0,-1" "OnTrigger" "tf_gamerules,playvo,mvm\mvm_cpoint_klaxon.wav,2,-1" "OnTrigger" "tf_gamerules,playvo,mvm\mvm_cpoint_klaxon.wav,4,-1" "OnTrigger" "tf_gamerules,playvo,mvm\mvm_cpoint_klaxon.wav,5,-1" "OnTrigger" "tf_gamerules,playvo,mvm\mvm_cpoint_klaxon.wav,6,-1" "OnTrigger" "tf_gamerules,playvo,mvm\mvm_cpoint_klaxon.wav,6.5,-1" "OnTrigger" "beam2,start,,2,-1" "OnTrigger" "beam2,stop,,2.1,-1" "OnTrigger" "trolley2,setplaybackrate,4,4,-1" "OnTrigger" "beam2,start,,4,-1" "OnTrigger" "beam2,stop,,4.1,-1" "OnTrigger" "beam2,start,,5,-1" "OnTrigger" "beam2,stop,,5.1,-1" "OnTrigger" "beam2,start,,6,-1" "OnTrigger" "beam2,stop,,6.1,-1" "OnTrigger" "beam2,start,,6.6,-1" "OnTrigger" "beam2,stop,,7.1,-1" "OnTrigger" "tf_gamerules,$stopvo,ambient\lair\jungle_alarm.wav,3.4,-1" "OnTrigger" "trolley2,kill,,7.2,-1" } logic_relay { "targetname" "incitefearintothem" "OnTrigger" "trolley,Disable,0,0,1" "OnTrigger" "trolley2,enable,0,0,1" "OnTrigger" "beam,start,,0,1" "OnTrigger" "heylook,show,,0,1" } training_annotation { "targetname" "heylook" "display_text" "A Tank will Teleport in from Here!" "lifetime" "8" "origin" "-1067 1831 -325" } info_particle_system { "targetname" "beam" "origin" "-1067 1831 -325" "effect_name" "teleporter_mvm_bot_persist" "start_active" "0" } info_particle_system { "targetname" "beam2" "origin" "-1067 1831 -348" "effect_name" "powerup_supernova_explode_blue_spiral" "start_active" "0" } prop_dynamic { "targetname" "trolley" "model" "models/buildables/teleporter.mdl" "origin" "-1067 1831 -368" "angles" "0 0 -5" "modelscale" "3.5" "skin" "1" "defaultanim" "build" "disableshadows" "1" } prop_dynamic { "targetname" "trolley2" "model" "models/buildables/teleporter_light.mdl" "origin" "-1067 1831 -368" "angles" "0 0 -5" "modelscale" "3.5" "skin" "1" "defaultanim" "running" "disableshadows" "1" "startdisabled" "1" } } w6intro2 { RemoveIfKilled trolley3 OnSpawnOutput { Target trolley Action setplaybackrate Param 0.6 Delay 0 } OnSpawnOutput { Target incitefearintothem Action trigger Delay 15 } logic_relay { "targetname" "deploymegadeath" "OnTrigger" "tf_gamerules,playvo,mvm\mvm_tele_deliver.wav,7,-1" "OnTrigger" "tf_gamerules,playvo,mvm\mvm_cpoint_klaxon.wav,0,-1" "OnTrigger" "tf_gamerules,playvo,mvm\mvm_cpoint_klaxon.wav,2,-1" "OnTrigger" "tf_gamerules,playvo,mvm\mvm_cpoint_klaxon.wav,4,-1" "OnTrigger" "tf_gamerules,playvo,mvm\mvm_cpoint_klaxon.wav,5,-1" "OnTrigger" "tf_gamerules,playvo,mvm\mvm_cpoint_klaxon.wav,6,-1" "OnTrigger" "tf_gamerules,playvo,mvm\mvm_cpoint_klaxon.wav,6.5,-1" "OnTrigger" "beam21,start,,2,-1" "OnTrigger" "beam21,stop,,2.1,-1" "OnTrigger" "trolley3,setplaybackrate,4,4,-1" "OnTrigger" "beam21,start,,4,-1" "OnTrigger" "beam21,stop,,4.1,-1" "OnTrigger" "beam21,start,,5,-1" "OnTrigger" "beam21,stop,,5.1,-1" "OnTrigger" "beam21,start,,6,-1" "OnTrigger" "beam21,stop,,6.1,-1" "OnTrigger" "beam21,start,,6.6,-1" "OnTrigger" "beam21,stop,,7.1,-1" "OnTrigger" "tf_gamerules,$stopvo,ambient\lair\jungle_alarm.wav,3.4,-1" "OnTrigger" "trolley3,kill,,7.2,-1" } logic_relay { "targetname" "incitefearintothem" "OnTrigger" "trolley,Disable,0,0,1" "OnTrigger" "trolley3,enable,0,0,1" "OnTrigger" "beam,start,,0,1" "OnTrigger" "tf_gamerules,PlayVO,mvm\mvm_tele_activate.wav,0,1" "OnTrigger" "heylook,show,,0,1" } training_annotation { "targetname" "heylook" "display_text" "A Tank will Teleport in from Here!" "lifetime" "8" "origin" "778 2329 -333" } info_particle_system { "targetname" "beam" "origin" "778 2329 -333" "effect_name" "teleporter_mvm_bot_persist" "start_active" "0" } info_particle_system { "targetname" "beam21" "origin" "778 2329 -359" "effect_name" "powerup_supernova_explode_blue_spiral" "start_active" "0" } prop_dynamic { "targetname" "trolley" "model" "models/buildables/teleporter.mdl" "origin" "778 2329 -379" "angles" "0 0 0" "modelscale" "3.5" "skin" "1" "defaultanim" "build" "disableshadows" "1" } prop_dynamic { "targetname" "trolley3" "model" "models/buildables/teleporter_light.mdl" "origin" "778 2329 -379" "angles" "0 0 0" "modelscale" "3.5" "skin" "1" "defaultanim" "running" "disableshadows" "1" "startdisabled" "1" } } } SpawnTemplate fixthestupidchungusmap Mission { Objective DestroySentries Where spawnbot BeginAtWave 1 RunForThisManyWaves 7 InitialCooldown 20 CooldownTime 40 DesiredCount 1 TFBot { Template T_TFBot_SentryBuster } } Mission // For Wave # { Where spawnbot Objective Spy // Engineer,Sniper,Spy,DestroySentries BeginAtWave 1 RunForThisManyWaves 1 DesiredCount 2 InitialCooldown 20 CooldownTime 35 TFBot { Template T_TFBot_Spy } } Mission // For Wave # { Where spawnbot Objective Spy // Engineer,Sniper,Spy,DestroySentries BeginAtWave 3 RunForThisManyWaves 3 DesiredCount 2 InitialCooldown 60 CooldownTime 35 TFBot { Template T_TFBot_Spy } } Mission // For Wave # { Where spawnbot Objective Sniper // Engineer,Sniper,Spy,DestroySentries BeginAtWave 2 RunForThisManyWaves 2 DesiredCount 2 InitialCooldown 20 CooldownTime 35 TFBot { Template T_TFBot_Sniper } } Mission // For Wave # { Where spawnbot Objective Engineer // Engineer,Sniper,Spy,DestroySentries BeginAtWave 4 RunForThisManyWaves 2 DesiredCount 1 InitialCooldown 20 CooldownTime 60 TFBot { Template T_TFBot_Engineer_Sentry_Teleporter TeleportWhere spawnbot TeleportWhere spawnbot_flank TeleportWhere spawnbot_top } } Mission // For Wave # { Where spawnbot Objective Engineer // Engineer,Sniper,Spy,DestroySentries BeginAtWave 2 RunForThisManyWaves 2 DesiredCount 1 InitialCooldown 20 CooldownTime 60 TFBot { Template T_TFBot_Engineer_Sentry_Battle_TeleIn} } Mission // For Wave # { Where spawnbot Objective Sniper // Engineer,Sniper,Spy,DestroySentries BeginAtWave 1 RunForThisManyWaves 1 DesiredCount 3 InitialCooldown 40 CooldownTime 35 TFBot { Class Soldier Skill Expert ClassIcon soldier_mangler_v2 Item "the cow mangler 5000" ItemAttributes { ItemName "The Cow Mangler 5000" "faster reload rate" 0.01 } } } Mission // For Wave # { Where spawnbot Objective Sniper // Engineer,Sniper,Spy,DestroySentries BeginAtWave 5 RunForThisManyWaves 2 DesiredCount 3 InitialCooldown 40 CooldownTime 35 TFBot { Class Soldier Skill Expert ClassIcon soldier_mangler_v2 Item "the cow mangler 5000" ItemAttributes { ItemName "The Cow Mangler 5000" "faster reload rate" 0.01 } } } Wave // Wave 1 { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } WaveSpawn { Name "wave1a" Where spawnbot TotalCount 20 MaxActive 10 SpawnCount 5 WaitBeforeStarting 0 WaitBetweenSpawns 13 TotalCurrency 150 Squad { TFBot { Class Soldier Skill Hard ClassIcon soldier_burstfire_armored_yoovy Health 900 Name "Armored Burst Fire Soldier" Scale 1.4 Attributes HoldFireUntilFullReload NoBombUpgrades 1 ItemAttributes { ItemName "TF_WEAPON_ROCKETLAUNCHER" "faster reload rate" 0.7 "fire rate bonus" 0.2 "clip size upgrade atomic" 2.0 } CharacterAttributes { "head scale" 0.7 } } TFBot { ClassIcon soldier_directhit_lite Health 200 Name "Direct Hit Soldier" Class Soldier Skill Expert Item "the direct hit" } TFBot { ClassIcon soldier_directhit_lite Health 200 Name "Direct Hit Soldier" Class Soldier Skill Expert Item "the direct hit" } TFBot { ClassIcon soldier_directhit_lite Health 200 Name "Direct Hit Soldier" Class Soldier Skill Expert Item "the direct hit" } TFBot { ClassIcon soldier_directhit_lite Health 200 Name "Direct Hit Soldier" Class Soldier Skill Expert Item "the direct hit" } } } WaveSpawn { Name "" WaitForAllDead "" Where spawnbot_flank TotalCount 30 MaxActive 8 SpawnCount 2 WaitBeforeStarting 7 WaitBetweenSpawns 2.7 TotalCurrency 100 TFBot { Health 300 Scale 1 Name "Steel Manlet Pusher" Class Heavyweapons ClassIcon heavy_steelfist_pusher WeaponRestrictions MeleeOnly Skill Expert Item "The carl" Item "Fists of Steel" ItemAttributes { ItemName "Fists of Steel" "damage causes airblast" 1 } } } WaveSpawn { Name "wave1b" WaitForAllSpawned "wave1a" Where spawnbot_top Where spawnbot_flank TotalCount 30 MaxActive 9 SpawnCount 3 WaitBeforeStarting 0 WaitBetweenSpawns 6 TotalCurrency 100 TFBot { Class Demoman Skill Expert ClassIcon demo_loch_nys Item "the loch-n-load" Item "Hazard Headgear" } } WaveSpawn { Name "wave1bA" WaitForAllSpawned "wave1tank" Where spawnbot_top TotalCount 20 MaxActive 8 SpawnCount 4 WaitBeforeStarting 0 WaitBetweenSpawns 17 Support Limited TotalCurrency 100 TFBot { Template T_TFBot_Demoman_Knight ClassIcon pyro_homewrecker_lite_armored Name "Chargin' Mace" Item "The Homewrecker" Item "The Tide Turner" Health 300 Scale 1.3 CharacterAttributes { "dmg pierces resists absorbs" 1 "charge time increased" 2 } } } WaveSpawn // Tank # HP { Name "wave1tank" WaitForAllSpawned "wave1a" TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 15 WaitBetweenSpawns 0 TotalCurrency 300 Tank { Health 15000 Speed 75 StartingPathTrackNode "tank_path_a_1" NoCrushDamage 1 IsMiniBoss 0 Template "SmallTankTurret" OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn { Name "" WaitForAllSpawned "wave1b" Where spawnbot_top Where spawnbot_flank TotalCount 30 MaxActive 12 SpawnCount 4 WaitBeforeStarting 0 WaitBetweenSpawns 3 Support 1 TotalCurrency 100 TFBot { Template T_TFBot_Sniper_Huntsman } } } Wave // Wave # { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } WaveSpawn { Name "wave2a" WaitForAllDead "" Where spawnbot TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 0 FirstSpawnWarningSound "mvm/giant_heavy/giant_heavy_entrance.wav" TotalCurrency 200 TFBot { Class Sniper Attributes Miniboss UseCustomModel "models/bots/sniper_boss/bot_sniper_boss.mdl" Health 17500 Skill Expert Name "Fire Extinguisher" ClassIcon sniper_sydneysleeper Scale 1.9 Attributes UseBossHealthBar WeaponRestrictions SecondaryOnly Item "The Bushwacka" Item "Jarate" AimAt Head CharacterAttributes { "effect bar recharge rate increased" 0.01 "fire rate bonus" 0.5 "move speed bonus" 0.4 "override footstep sound set" 5 "dmg bonus vs buildings" 3 "torso scale" 0.5 "gesture speed increase" 2 } ItemAttributes { ItemName "The Bushwacka" "damage bonus" 1.15 } ChangeAttributes { Name "Half_Health" Delay 0 Repeats 1 IfHealthBelow 8775 } WeaponSwitch { Delay 0 Cooldown 0.1 Repeats 0 MaxTargetRange 400 MinTargetRange 1 Type "Melee" IfHealthAbove 8775 } WeaponSwitch { Delay 0 Cooldown 0.1 Repeats 0 MaxTargetRange 99999 MinTargetRange 400 Type "Secondary" IfHealthAbove 8775 } FireWeapon //Periodically fires weapon { Delay 0 //Time before the first fire input starts (Default: 10) Cooldown 0.2 //Time between each fire input (Default: 10) Repeats 0 //How many times should bot use the fire input in total (Default: 0 - Infinite) Duration 0.1 //How long should the button be pressed (Default: 0.1) Type "Primary" IfSeeTarget 1 MaxTargetRange 1200 MinTargetRange 400 IfHealthAbove 8775 } EventChangeAttributes { Half_Health { UseCustomModel "models/bots/sniper_boss/bot_sniper_boss.mdl" Item "The Sydney Sleeper" WeaponRestrictions PrimaryOnly ItemAttributes { ItemName "The Sydney Sleeper" "sniper aiming movespeed decreased" 1 "faster reload rate" 1.5 "damage bonus" 1.5 "no_jump" 1 } FireInput { Target !self Action $AddCond Param "1" Delay 0.1 Repeats 0 Cooldown 1.1 IfSeeTarget 1 } FireInput { Target !self Action $RemoveCond Param "1" Delay 1.2 Repeats 0 Cooldown 1.1 IfNoTarget 1 } FireWeapon //Periodically fires weapon { Delay 1 //Time before the first fire input starts (Default: 10) Cooldown 1 //Time between each fire input (Default: 10) Repeats 0 //How many times should bot use the fire input in total (Default: 0 - Infinite) Duration 0.1 //How long should the button be pressed (Default: 0.1) Type "Primary" IfSeeTarget 1 } CharacterAttributes { "move speed bonus" 0.5 "fire rate bonus" 1 "damage force reduction" 0.4 "airblast vulnerability multiplier" 0.4 "override footstep sound set" 5 //snipers are lighter giants, I thought it would be fitting to use the gscout footsteps } } } } } WaveSpawn { Name "wave2aa" WaitForAllDead "" Where spawnbot_flank Where spawnbot_top TotalCount 27 MaxActive 12 SpawnCount 3 WaitBeforeStarting 8 WaitBetweenSpawns 3 TotalCurrency 100 RandomChoice { Shuffle 1 TFBot { Class Sniper Skill Expert WeaponRestrictions MeleeOnly Name "Armored Bushman" Item "The Bushwacka" ClassIcon sniper_bush_armored Scale 1.3 Health 400 } TFBot { Class Demoman Skill Expert } TFBot { Class Demoman Skill Expert } } } WaveSpawn { Name "wave2b" WaitForAllDead "wave2a" Where spawnbot_flank TotalCount 9 MaxActive 9 SpawnCount 3 WaitBeforeStarting 0 WaitBetweenSpawns 15 TotalCurrency 200 Squad { TFBot { Class Pyro Name "Cremator" ClassIcon pyro_phlog_v2 Skill Expert Template T_TFBot_Giant_Pyro Item "The Phlogistinator" Item "Dead Heat" WeaponRestrictions PrimaryOnly Attributes SpawnWithFullCharge ItemAttributes { ItemName "The Phlogistinator" "airblast disabled" 0 "increase buff duration" 1.4 } } TFBot { Template T_TFBot_Medic_QuickUber } TFBot { Template T_TFBot_Medic_QuickUber } } } WaveSpawn { Name "wave2ba" WaitForAllSpawned "wave2aa" Where spawnbot_flank TotalCount 26 MaxActive 8 SpawnCount 2 WaitBeforeStarting 10 WaitBetweenSpawns 1.8 TotalCurrency 50 TFBot { Class Pyro Skill Normal Name "Rapid Flare Pyro" WeaponRestrictions "SecondaryOnly" ClassIcon "pyro_flare_spammer" Item "The Flare Gun" ItemAttributes { ItemName "The Flare Gun" "fire rate bonus" 0.4 "Reload time decreased" 0.2 "Projectile speed increased" 1.5 } } } WaveSpawn { Name "" WaitForAllSpawned "wave2b" Where spawnbot_top TotalCount 2 MaxActive 2 SpawnCount 2 WaitBeforeStarting 5 WaitBetweenSpawns 10 TotalCurrency 200 Squad { TFBot { Template T_TFBot_Giant_Soldier_Spammer } TFBot { Template T_TFBot_Giant_Medic_Regen } } } WaveSpawn { Name "" WaitForAllSpawned "wave2ba" Where spawnbot_top TotalCount 99 MaxActive 10 SpawnCount 5 WaitBeforeStarting 0 WaitBetweenSpawns 10 Support 1 TotalCurrency 0 TFBot { Template T_TFBot_Soldier_RocketShotgun } } } Wave // Wave # { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } WaveSpawn { Name "wave3a" WaitForAllDead "" Where spawnbot Where spawnbot_flank TotalCount 15 MaxActive 10 SpawnCount 5 WaitBeforeStarting 0 WaitBetweenSpawns 15 TotalCurrency 150 Squad { TFBot { Template T_TFBot_Heavyweapons_Heater } TFBot { Template T_TFBot_Soldier_Extended_Battalion } TFBot { Template T_TFBot_Soldier_Extended_Battalion } TFBot { Template T_TFBot_Soldier_Extended_Battalion } TFBot { Template T_TFBot_Soldier_Extended_Battalion } } } WaveSpawn { Name "wave3aa" WaitForAllDead "" Where spawnbot_flank Where spawnbot_top TotalCount 30 MaxActive 15 SpawnCount 3 WaitBeforeStarting 10 WaitBetweenSpawns 5 TotalCurrency 100 TFBot { Template T_TFBot_Pyro Skill Expert Item "The U-clank-a" ClassIcon pyro_reflect_daan ItemAttributes { ItemName "tf_weapon_flamethrower" "airblast_destroy_projectile" 1 } } } WaveSpawn { Name "wave3b" WaitForAllDead "wave3a" Where spawnbot_flank TotalCount 12 MaxActive 12 SpawnCount 4 WaitBeforeStarting 0 WaitBetweenSpawns 20 TotalCurrency 200 Squad { TFBot { Class Soldier Name "Giant Burst Fire Soldier" ClassIcon soldier_burstfire Health 4200 Skill Expert WeaponRestrictions PrimaryOnly Attributes MiniBoss Attributes HoldFireUntilFullReload ItemAttributes { ItemName "TF_WEAPON_ROCKETLAUNCHER" "faster reload rate" 0.4 "fire rate bonus" 0.2 "clip size upgrade atomic" 5.0 "projectile spread angle penalty" 4 "damage bonus" 1.5 } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.4 "airblast vulnerability multiplier" 0.4 "override footstep sound set" 3 "Projectile speed increased" 0.9 } } TFBot { Template T_TFBot_Giant_Pyro ClassIcon pyro_reflect_daan_giant } TFBot { Template T_TFBot_Sniper_Huntsman_Spammer ClassIcon sniper_bow_multi } TFBot { Template T_TFBot_Sniper_Huntsman_Spammer ClassIcon sniper_bow_multi } } } WaveSpawn { Name "wave3ba" WaitForAllDead "wave3a" Where spawnbot_flank Where spawnbot_top TotalCount 40 MaxActive 15 SpawnCount 5 WaitBeforeStarting 15 WaitBetweenSpawns 0 TotalCurrency 400 RandomChoice { Shuffle 1 TFBot { Template T_TFBot_Heavyweapons_Heavyweight_Champ Item "The Concheror" Attributes SpawnWithFullCharge ClassIcon heavy_champ_conch2 Name "Extended Conch Punchie" Attributes AlwaysCrit CharacterAttributes { "increase buff duration" 141.0 } } TFBot { Template T_TFBot_Heavyweapons_Heavyweight_Champ Item "The Concheror" Attributes SpawnWithFullCharge ClassIcon heavy_champ_conch2 Name "Extended Conch Punchie" Attributes AlwaysCrit CharacterAttributes { "increase buff duration" 141.0 } } TFBot { Template T_TFBot_Heavyweapons_Heavyweight_Champ Item "The Concheror" Attributes SpawnWithFullCharge ClassIcon heavy_champ_conch2 Name "Extended Conch Punchie" Attributes AlwaysCrit CharacterAttributes { "increase buff duration" 141.0 } } TFBot { Template T_TFBot_Heavyweapons_Heavyweight_Champ Item "The Concheror" Attributes SpawnWithFullCharge ClassIcon heavy_champ_conch2 Name "Extended Conch Punchie" Attributes AlwaysCrit CharacterAttributes { "increase buff duration" 141.0 } } TFBot { Template T_TFBot_Heavyweapons_Heavyweight_Champ Item "The Concheror" Attributes SpawnWithFullCharge ClassIcon heavy_champ_conch2 Name "Extended Conch Punchie" Attributes AlwaysCrit CharacterAttributes { "increase buff duration" 141.0 } } TFBot { Template T_TFBot_Heavyweapons_Heavyweight_Champ Item "The Concheror" Attributes SpawnWithFullCharge ClassIcon heavy_champ_conch2 Name "Extended Conch Punchie" Attributes AlwaysCrit CharacterAttributes { "increase buff duration" 141.0 } } TFBot { Template T_TFBot_Heavyweapons_Fist Item "The Concheror" Attributes SpawnWithFullCharge ClassIcon heavy_steelfist_conch Name "Extended Conch Steelie" Attributes AlwaysCrit CharacterAttributes { "increase buff duration" 141.0 } } } } WaveSpawn { Name "" WaitForAllDead "wave3a" Where spawnbot_top TotalCount 20 MaxActive 5 SpawnCount 1 WaitBeforeStarting 10 WaitBetweenSpawns 5 Support 1 TotalCurrency 0 TFBot { Class Demoman ClassIcon demo_spammer_package Name "Rapid Fire Demoman" Skill Hard Scale 1.4 Health 650 ItemAttributes { ItemName TF_WEAPON_GRENADELAUNCHER "faster reload rate" -0.5 "fire rate bonus" 0.75 } } } } Wave // Wave # { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } InitWaveOutput { Target wave_start_relay Action runscriptcode Param " IncludeScript(`tankextensions_main`, getroottable()) IncludeScript(`tankextensions/combattank`, getroottable()) IncludeScript(`tankextensions/combattank_weapons/fireball`, getroottable()) EntFire(`w4intro`, `forcespawn`) TankExt.CreatePaths({ tank_path = [ Vector(-80, 4072, -648) // tank_path_1 Vector(-56, 3704, -648) // tank_path_2 Vector(80, 3280, -648) // tank_path_3 Vector(-160, 3096, -616) // tank_path_4 Vector(-480, 3080, -544) // tank_path_5 Vector(-728, 3008, -536) // tank_path_6 Vector(-832, 2928, -528) // tank_path_7 Vector(-840, 2792, -520) // tank_path_8 Vector(-744, 2704, -512) // tank_path_9 Vector(-472, 2664, -472) // tank_path_10 Vector(-200, 2704, -416) // tank_path_11 Vector(24, 2704, -392) // tank_path_12 Vector(192, 2624, -384) // tank_path_13 Vector(240, 2488, -368) // tank_path_14 Vector(264, 2288, -344) // tank_path_15 Vector(272, 2136, -320) // tank_path_16 Vector(272, 1928, -312) // tank_path_17 Vector(432, 1936, -336) Vector(688, 1968, -328) // tank_path_1 Vector(1072, 1968, -328) // tank_path_2 Vector(1248, 1832, -328) // tank_path_3 Vector(1288, 1432, -320) // tank_path_4 Vector(1288, 720, -320) // tank_path_5 Vector(1152, 504, -320) // tank_path_6 Vector(448, 496, -64) // tank_path_7 Vector(56, 632, -64) // tank_path_8 Vector(-264, 624, -64) // tank_path_9 Vector(-752, 480, -64) // tank_path_10 Vector(-888, 320, -64) // tank_path_11 Vector(-960, -56, -64) // tank_path_12 Vector(-928, -488, -56) // tank_path_13 Vector(-928, -744, -56) // tank_path_14 ] }) TankExt.StartingPathNames([ `tank_path_1` ]) " } WaveSpawn { Name "w4a" WaitForAllDead "" Where spawnbot Where spawnbot_flank TotalCount 6 MaxActive 6 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 8 TotalCurrency 100 TFBot { Class Soldier ClassIcon soldier_rocketshotgun_lite Health 3800 Name "Giant Rocket Shotgun Soldier" Attributes HoldFireUntilFullReload Attributes MiniBoss ItemAttributes { ItemName "TF_WEAPON_ROCKETLAUNCHER" "fire rate bonus" 0.001 "clip size upgrade atomic" 2 "faster reload rate" 0.59 "projectile speed increased" 0.65 "projectile spread angle penalty" 4 } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.4 "airblast vulnerability multiplier" 0.4 "override footstep sound set" 3 } } DoneOutput { Target deploymegadeath Action Trigger } } WaveSpawn { Name "w4aa" WaitForAllDead "" Where spawnbot_flank Where spawnbot_top TotalCount 30 MaxActive 15 SpawnCount 5 WaitBeforeStarting 1 WaitBetweenSpawns 6 TotalCurrency 50 TFBot { Class Heavyweapons ClassIcon heavy_accurate_lite Name "Tomislav Heavy" Skill Easy Item "tomislav" MaxVisionRange 1000 } } WaveSpawn // Tank # HP { Name "w4b" WaitForAllDead "w4a" TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 7 WaitBetweenSpawns 0 FirstSpawnWarningSound "mvm/giant_heavy/giant_heavy_entrance.wav" TotalCurrency 200 Tank { Name "combattank|fireball|fireball" StartingPathTrackNode "tank_path_1" Health 40000 Speed 0 Skin 0 ClassIcon tank_fire_lite OnKilledOutput {} OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } FirstSpawnOutput { Target speedupthattank Action ForceSpawn } } WaveSpawn { Name "w4ba" WaitForAllSpawned "w4b" Where spawnbot_flank Where spawnbot_top TotalCount 40 MaxActive 9 SpawnCount 3 WaitBeforeStarting 0 WaitBetweenSpawns 4 TotalCurrency 50 TFBot { Class Pyro Skill Expert ClassIcon pyro_axtinguisher Name "Axtinguisher Tosser Pyro" Item "Axtinguisher Tosser" Item "The Axtinguisher" Attributes SuppressFire ItemAttributes { ItemName "The Axtinguisher" "is_passive_weapon" 1 } ShootTemplate { Name PT_RotatingAxe AttachToProjectile 1 ItemName "Axtinguisher Tosser" } FireWeapon { Type "Primary" Cooldown 1 Duration 0.1 Delay 4 IfSeeTarget 1 } } } WaveSpawn { Name "w4baa" WaitForAllDead "w4a" Where spawnbot_top TotalCount 4 MaxActive 4 SpawnCount 2 WaitBeforeStarting 0 WaitBetweenSpawns 30 TotalCurrency 100 TFBot { ClassIcon pyro_degreaser_flare Scale 1.75 Health 4000 Attributes MiniBoss Name "Giant Combo Pyro" Class Pyro Skill Expert Item "the flare gun" Item "the degreaser" Item "the axtinguisher" ItemAttributes { ItemName "The Flare Gun" "fire rate bonus" 0.4 "Reload time decreased" 0.2 "Projectile speed increased" 1.5 } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.6 "airblast vulnerability multiplier" 0.6 "override footstep sound set" 6 } WeaponSwitch { Type "Primary" MaxTargetRange 349 MinTargetRange 100 Delay 0.1 Repeats 0 Cooldown 0 IfSeeTarget 1 } WeaponSwitch { Type "Primary" MaxTargetRange 9999 MinTargetRange 700 Delay 0.1 Repeats 0 Cooldown 0 IfSeeTarget 1 } WeaponSwitch { Type "Secondary" MaxTargetRange 700 MinTargetRange 350 Delay 0.1 Repeats 0 Cooldown 0 IfSeeTarget 1 } WeaponSwitch { Type "Melee" MaxTargetRange 100 MinTargetRange 1 Delay 0.1 Repeats 0 Cooldown 0 IfSeeTarget 1 } } } WaveSpawn { Name "w4c" WaitForAllDead "w4baa" Where spawnbot TotalCount 18 MaxActive 18 SpawnCount 6 WaitBeforeStarting 0 WaitBetweenSpawns 14 TotalCurrency 200 Squad { TFBot { Template T_TFBot_Giant_Demo_Burst } TFBot { Template T_TFBot_Medic_QuickUber } TFBot { Template T_TFBot_Medic_QuickUber } TFBot { Template T_TFBot_Medic_QuickUber } TFBot { Template T_TFBot_Medic_QuickUber } TFBot { Template T_TFBot_Giant_Soldier Health 4000 ClassIcon soldier_fire Name "Giant Firestarter Soldier" ItemAttributes { ItemName "TF_WEAPON_ROCKETLAUNCHER" "explosion particle" "asplode_hoodoo_initialfire" "custom item model" "models/weapons/c_models/c_firelauncher/c_firelauncher.mdl" "projectile trail particle" "spell_fireball_small_red" "custom kill icon" "firedeath" } ShootTemplate { Name throw_molotov AttachToProjectile 1 ItemName "TF_WEAPON_ROCKETLAUNCHER" } } } FirstSpawnOutput { Target "okthefinalsquadisoutcomeon" Action "Trigger" Delay 22 } DoneOutput { Target "combattank|fireball|fireball" Action "RemoveHealth" Param "99999" } } WaveSpawn { Name "" WaitForAllDead "w4baa" Where spawnbot_top TotalCount 21 MaxActive 12 SpawnCount 3 WaitBeforeStarting 25 WaitBetweenSpawns 9 Support 1 TotalCurrency 50 TFBot { ClassIcon demoknight_persian_nys Class Demoman Name "Persian Demoknight" Skill Hard Item "Sultan's Ceremonial" Item "Ali Baba's Wee Booties" Item "The Persian Persuader" Item "The Splendid Screen" ItemAttributes { ItemName "The Splendid Screen" "Attack not cancel charge" 1 } WeaponRestrictions MeleeOnly CharacterAttributes { "critboost on kill" 3 } } } } Wave // Wave # { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } WaveSpawn { Name "w5a" WaitForAllDead "" Where spawnbot Where spawnbot_flank TotalCount 8 MaxActive 5 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 9 TotalCurrency 100 RandomChoice { Shuffle 1 TFBot { Template T_TFBot_Giant_Soldier Health 4000 ClassIcon soldier_fire Name "Giant Firestarter Soldier" ItemAttributes { ItemName "TF_WEAPON_ROCKETLAUNCHER" "explosion particle" "asplode_hoodoo_initialfire" "custom item model" "models/weapons/c_models/c_firelauncher/c_firelauncher.mdl" "projectile trail particle" "spell_fireball_small_red" "custom kill icon" "firedeath" } ShootTemplate { Name throw_molotov AttachToProjectile 1 ItemName "TF_WEAPON_ROCKETLAUNCHER" } } TFBot { Template T_TFBot_Giant_Demo_RapidFire Health 4000 ClassIcon demo_fire_giant Name "Giant Firestarter Demo" ItemAttributes { ItemName "TF_WEAPON_GRENADELAUNCHER" "explosion particle" "asplode_hoodoo_initialfire" "projectile trail particle" "spell_fireball_small_red" "custom kill icon" "firedeath" "grenade explode on impact" 1 } ShootTemplate { Name throw_molotov AttachToProjectile 1 ItemName "TF_WEAPON_GRENADELAUNCHER" } } } } WaveSpawn { Name "w5aaa" WaitForAllDead "" Where spawnbot_top Where spawnbot_flank TotalCount 60 MaxActive 15 SpawnCount 3 WaitBeforeStarting 0 WaitBetweenSpawns 3 TotalCurrency 100 TFBot { Template T_TFBot_Heavyweapons_Shotgun } } WaveSpawn // Tank # HP { Name "w5aa" WaitForAllDead "" TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 0 TotalCurrency 50 Tank { Name "tankboss" StartingPathTrackNode "tank_path_b_1" Health 35000 Speed 75 Skin 0 OnKilledOutput { Target boss_dead_relay Action Trigger } OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn { Name "w5ba" WaitForAllSpawned "w5aaa" Where spawnbot_flank TotalCount 35 MaxActive 20 SpawnCount 5 WaitBeforeStarting 10 WaitBetweenSpawns 6 TotalCurrency 150 Squad { FormationSize 100 ShouldPreserveSquad 1 TFBot { Class Medic Name "Shield Basher" Skill Expert ClassIcon medic_quickfix_armored_shield WeaponRestrictions SecondaryOnly Attributes SpawnWithFullCharge Attributes ProjectileShield Attributes IgnoreEnemies Health 650 Scale 1.5 Item "titanium tyrolean" FireWeapon { Delay 4 //Time before the first fire input starts (Default: 10) Cooldown 3 //Time between each fire input (Default: 10) Repeats 0 //How many times should bot use the fire input in total (Default: 0 - Infinite) //IfSeeTarget 1 //When set to 1, this task activates only when the bot can see the target player (Default 0 - Always activate) Duration 0.5 //How long should the button be pressed (Default: 0.1) Type "Special" } ItemAttributes { ItemName tf_weapon_medigun "ubercharge rate penalty" -3 "generate rage on heal" 1 "increase buff duration" 999 } CharacterAttributes { "bot medic uber health threshold" 999 "bot medic uber deploy delay duration" 9999 "mod soldier buff type" 5 "deploy time increased" 1.34 } } TFBot { ClassIcon pyro_dragon_fury_swordstone Name "Dragon's Fury Pyro" Class Pyro Skill Easy Item "The Dragon's Fury" MaxVisionRange 700 Attributes AlwaysCrit CharacterAttributes { "airblast disabled" 1 } } TFBot { ClassIcon pyro_dragon_fury_swordstone Name "Dragon's Fury Pyro" Class Pyro Skill Easy Item "The Dragon's Fury" MaxVisionRange 700 Attributes AlwaysCrit CharacterAttributes { "airblast disabled" 1 } } TFBot { ClassIcon soldier_bison_b Health 200 Name "Bison Soldier" Class Soldier Skill Expert Attributes AlwaysCrit Item "the righteous bison" WeaponRestrictions "SecondaryOnly" } TFBot { ClassIcon soldier_bison_b Health 200 Name "Bison Soldier" Class Soldier Skill Expert Attributes AlwaysCrit Item "the righteous bison" WeaponRestrictions "SecondaryOnly" } } } WaveSpawn // Tank # HP { Name "w5c" WaitForAllSpawned "w5aaa" TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 27 WaitBetweenSpawns 0 TotalCurrency 150 Tank { Name "tankboss" StartingPathTrackNode "tank_path_a_1" Health 40000 Speed 75 Skin 0 OnKilledOutput {} OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn { Name "w5d" WaitForAllSpawned "w5c" Where spawnbot TotalCount 4 MaxActive 4 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 12 TotalCurrency 125 TFBot { Template T_TFBot_Giant_Heavyweapons_Deflector } } WaveSpawn { Name "" WaitForAllSpawned "w5c" Where spawnbot_top TotalCount 14 MaxActive 6 SpawnCount 1 WaitBeforeStarting 30 WaitBetweenSpawns 6 Support Limited TotalCurrency 50 TFBot { Health 300 Class Medic Name "Armored Ubersaw Medic" Scale 1.25 Skill Expert ClassIcon medic_jug_ubersaw EventChangeAttributes { Default { Item "The Ubersaw" WeaponRestrictions MeleeOnly ActionOverride Mobber ItemAttributes { ItemName "The Ubersaw" "add uber charge on hit" 1 "fire input on hit" "!activator^$ChangeAttributes^Uber" "uber duration bonus" -4 } } Uber { WeaponRestrictions SecondaryOnly ActionOverride Medic CharacterAttributes { "bot medic uber health threshold" 666 "uber duration bonus" 1 } } } } } WaveSpawn { Name "" WaitForAllDead "w5d" Where spawnbot TotalCount 15 MaxActive 4 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 3 Support Limited TotalCurrency 100 TFBot { Template T_TFBot_Engineer_Sentry_Teleporter ClassIcon engineer_battle TeleportWhere spawnbot TeleportWhere spawnbot_flank TeleportWhere spawnbot_top } } WaveSpawn { Name "w5cb" WaitForAllDead "w5ba" Where spawnbot_top TotalCount 80 MaxActive 20 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 0 TotalCurrency 175 Support Limited RandomChoice { Shuffle 1 TFBot { Template T_TFBot_Demo_Burst Name "Only a spoonful!" } TFBot { Template T_TFBot_Demo_Burst Name "Only a spoonful!" } TFBot { Template T_TFBot_Demo_Burst Name "Only a spoonful!" } TFBot { Template T_TFBot_Demo_Burst Name "Only a spoonful!" InterruptAction { Target "tankboss" Duration 999 Delay 0.1 Cooldown 5 Repeats 10 WaitUntilDone 1 Distance 400 } } } } } Wave // Wave # { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } InitWaveOutput { Target wave_start_relay Action runscriptcode Param " EntFire(`w6intro`, `forcespawn`) EntFire(`w6intro2`, `forcespawn`) IncludeScript(`tankextensions_main`, getroottable()) " } WaveSpawn { Name "w6a" WaitForAllDead "" Where spawnbot TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 0 FirstSpawnWarningSound "mvm/giant_heavy/giant_heavy_entrance.wav" TotalCurrency 250 TFBot { Class Pyro Name "Major Sunburn" ClassIcon pyro_dragon_fury_burstfire_swordstone_giant Skill Expert Health 30000 MaxVisionRange 850 WeaponRestrictions PrimaryOnly Attributes MiniBoss Attributes UseBossHealthBar Item "The Dragon's Fury" Item "Brim of Fire" Item "The Rusty Reaper" Scale 2 UseMeleeThreatPrioritization 1 ItemAttributes { ItemName "The Dragon's Fury" "item_meter_charge_rate" 0.125 "fire rate bonus" 0.1 "reload time increased" 2 "damage bonus" 1.5 } ItemAttributes { ItemName "TF_WEAPON_SHOTGUN_PYRO" "faster reload rate" 0.25 "fire rate bonus" 0.15 "is_passive_weapon" 1 "auto fires full clip" 1 "auto fires when full" 1 "override projectile type" 27 } CharacterAttributes { "move speed bonus" 0.4 "damage force reduction" 0.6 "airblast vulnerability multiplier" 0.6 "override footstep sound set" 6 } } } WaveSpawn { Name "w6aa" WaitForAllDead "" Where spawnbot_superspy TotalCount 4 MaxActive 4 SpawnCount 1 WaitBeforeStarting 12 WaitBetweenSpawns 10 TotalCurrency 100 TFBot { Class Spy Name "Super Spy" ClassIcon spy_fast Skill Easy Item "The Stealth Steeler" Health 1600 //WeaponRestrictions MeleeOnly Attributes MiniBoss //Attributes DisableDodge Action Mobber ExtAttr IgnoreBuildings AimTrackingInterval 0 StripItemSlot 0 //StripItemSlot 1 FireWeapon //Periodically fires weapon { Delay 0 //Time before the first fire input starts (Default: 10) Cooldown 2 //Time between each fire input (Default: 10) Repeats 2 //How many times should bot use the fire input in total (Default: 0 - Infinite) IfSeeTarget 0 //When set to 1, this task activates only when the bot can see the target player (Default 0 - Always activate) Duration 0.1 //How long should the button be pressed (Default: 0.1) Type "Secondary" // Type of fire input, Possible values: } ItemAttributes { ItemName "TF_WEAPON_KNIFE" "fire rate bonus" 1.0 //"melee range multiplier" 2 "damage bonus" 1.0 "dmg bonus vs buildings" 3 "disable buildings on hit" 0.1 } CharacterAttributes { "move speed bonus" 1.1 "damage force reduction" 0.5 "airblast vulnerability multiplier" 0.5 "override footstep sound set" 5 "cannot disguise" 1 "head scale" 0.679 } } } WaveSpawn // Tank # HP { Name "w6a" WaitForAllDead "" TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 5 WaitBetweenSpawns 0 TotalCurrency 200 FirstSpawnWarningSound "lastlegs_alt_cmprsd.mp3" Tank { Health 15000 Speed 75 Skin 1 MaxTurnRate 10 DisableSmokestack 1 NoCrushDamage 1 Model "models/bots/boss_bot/boss_blimp_pure.mdl" Gravity 0 DisableTracks 1 ReplaceModelCollisions 1 DisableChildModels 1 EngineLoopSound "npc\combine_gunship\dropship_engine_distant_loop1.wav" PingSound "npc\combine_gunship\ping_search.wav" Name blimp StartingPathTrackNode "blimp_path_1" Classicon blimp2_lite Scale 1 OnKilledOutput { Target boss_dead_relay Action Trigger } OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn // Tank # HP { Name "w6a" WaitForAllDead "" TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 10 WaitBetweenSpawns 0 TotalCurrency 200 Tank { Health 12000 Speed 75 Skin 1 MaxTurnRate 10 DisableSmokestack 1 NoCrushDamage 1 Model "models/bots/boss_bot/boss_blimp_pure.mdl" Gravity 0 DisableTracks 1 ReplaceModelCollisions 1 DisableChildModels 1 EngineLoopSound "npc\combine_gunship\dropship_engine_distant_loop1.wav" PingSound "npc\combine_gunship\ping_search.wav" Name blimp StartingPathTrackNode "blimp_path2_1" Classicon blimp2_lite Scale 1 OnKilledOutput { Target boss_dead_relay Action Trigger } OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn // Dummy { WaitForAllDead "w6a" FirstSpawnOutput { Target deploymegadeath Action Trigger Delay 7 } } WaveSpawn { Name "w6supp1" WaitForAllSpawned "w6a" Where spawnbot_top Where spawnbot_flank TotalCount 18 MaxActive 9 SpawnCount 3 WaitBeforeStarting 30 WaitBetweenSpawns 0 TotalCurrency 25 Support Limited TFBot { Name "Scatter-Bonk Scout" Template T_TFBot_Scout_Bonk WeaponRestrictions PrimaryOnly Skill Hard } } WaveSpawn { WaitForAllDead "w6a" Where spawnbot TotalCount 2 MaxActive 2 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 3 TotalCurrency 50 TFBot { Template T_TFBot_Giant_Scout_Fast } } WaveSpawn { Name "w6b" WaitForAllDead "w6a" Where spawnbot TotalCount 4 MaxActive 4 SpawnCount 2 WaitBeforeStarting 0 WaitBetweenSpawns 15 TotalCurrency 300 TFBot { Class Pyro Tag giant ClassIcon pyro_dragon_fury_swordstone_spammer Name "Giant Furious Pyro" Skill Expert Health 3500 WeaponRestrictions PrimaryOnly Attributes MiniBoss MaxvisionRange 1000 Item "neptune's nightmare" Item "The Dragon's Fury" ItemAttributes { ItemName "The Dragon's Fury" "mult_item_meter_charge_rate" 0.6 } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.6 "airblast vulnerability multiplier" 0.6 "override footstep sound set" 6 } } LastSpawnOutput { Target deploymegadeath2 Action Trigger Delay 0 } } WaveSpawn // Tank # HP { Name "w6btank" WaitForAllDead "w6a" TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 14 WaitBetweenSpawns 0 TotalCurrency 100 Tank { Name "tankboss" StartingPathTrackNode "tele_tank_path1_1" Health 30000 Speed 0 Skin 1 SpawnTemplate speedupthattank OnKilledOutput {} OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn { Name "w6supp2" WaitForAllDead "w6a" Where spawnbot_top TotalCount 20 MaxActive 10 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 0 TotalCurrency 25 Support Limited TFBot { Template T_TFBot_Demoman_Knight } } WaveSpawn { Name "w6supp2" WaitForAllDead "w6a" Where spawnbot_top TotalCount 25 MaxActive 10 SpawnCount 5 WaitBeforeStarting 0 WaitBetweenSpawns 10 TotalCurrency 25 Support Limited TFBot { Class Soldier } } WaveSpawn // Tank # HP { Name "w6ctank" WaitForAllSpawned "w6b" TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 7 WaitBetweenSpawns 0 TotalCurrency 100 Tank { Name "tankboss" StartingPathTrackNode "tele_tank_path2_1" Health 30000 Speed 0 Skin 1 SpawnTemplate speedupthattank OnKilledOutput {} OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } WaveSpawn { WaitForAllSpawned "w6btank" Where spawnbot TotalCount 2 MaxActive 2 SpawnCount 1 WaitBeforeStarting 10 WaitBetweenSpawns 3 TotalCurrency 50 TFBot { Template T_TFBot_Giant_Scout_Fast } } WaveSpawn { Name "w6c" WaitForAllSpawned "w6b" Where spawnbot TotalCount 4 MaxActive 4 SpawnCount 2 WaitBeforeStarting 30 WaitBetweenSpawns 25 TotalCurrency 200 Squad { TFBot { Class Heavyweapons Name "Flaming Fist Mk. III" ClassIcon heavy_champ_vac_fire_giant Skill Expert Health 5000 Item "TF_WEAPON_ROCKETLAUNCHER" Item "Festive Gloves of Running Urgently" Item "Large Luchadore" Attributes MiniBoss Attributes AlwaysFireWeapon // must have this or otherwise it won't shoot fireballs WeaponRestrictions PrimaryOnly FireSound "=70|misc/halloween/spell_fireball_impact.wav" ShootTemplate { Name throw_molotov AttachToProjectile 1 } AddCond { Index 30 // for some reason attributes don't work } ItemAttributes { ItemName "TF_WEAPON_ROCKETLAUNCHER" "custom item model" "models/weapons/c_models/c_boxing_gloves/c_boxing_gloves_xmas.mdl" "custom projectile model" "models/weapons/w_models/w_drg_ball.mdl" "projectile trail particle" "lava_fireball_01" "custom kill icon" "taunt_pyro" "faster reload rate" 0.6 "damage bonus" 1.5 } ItemAttributes { ItemName "Festive Gloves of Running Urgently" "is_passive_weapon" 1 } CharacterAttributes { "move speed bonus" 0.4 // account for gru speed buff "damage force reduction" 0.3 "airblast vulnerability multiplier" 0.3 "override footstep sound set" 2 } } TFBot { Template T_TFBot_Giant_Medic_Regen } } } WaveSpawn { Name "w6supp4" WaitForAllDead "w6b" Where spawnbot_top TotalCount 15 MaxActive 6 SpawnCount 3 WaitBeforeStarting 0 WaitBetweenSpawns 5 TotalCurrency 25 Support Limited TFBot { Class Pyro Skill Expert ClassIcon pyro_axtinguisher Name "Axtinguisher Tosser Pyro" Item "Axtinguisher Tosser" Item "The Axtinguisher" Attributes SuppressFire ItemAttributes { ItemName "The Axtinguisher" "is_passive_weapon" 1 } ShootTemplate { Name PT_RotatingAxe AttachToProjectile 1 ItemName "Axtinguisher Tosser" } FireWeapon { Type "Primary" Cooldown 1 Duration 0.1 Delay 4 IfSeeTarget 1 } } } WaveSpawn { Name "" WaitForAllDead "w6b" Where spawnbot TotalCount 10 MaxActive 105 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 1 Support Limited TotalCurrency 0 TFBot { Template T_TFBot_Engineer_Sentry_Teleporter ClassIcon engineer_battle TeleportWhere spawnbot_flank TeleportWhere spawnbot_top } } WaveSpawn { Name "w6ca" WaitForAllSpawned "w6c" Where spawnbot TotalCount 4 MaxActive 4 SpawnCount 1 WaitBeforeStarting 30 WaitBetweenSpawns 3 TotalCurrency 100 TFBot { Template T_TFBot_Giant_Scout_Fast } } WaveSpawn { Name "w6supp4" WaitForAllSpawned "w6c" Where spawnbot_top TotalCount 99 MaxActive 12 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 1 TotalCurrency 25 Support Limited TFBot { Class Scout Skill Hard Name "Bonch Addicted Scout" Item "Bonk! Atomic Punch" Item "Bonk Helm" WeaponRestrictions PrimaryOnly ClassIcon scout_bonch ItemAttributes { ItemName "Bonk! Atomic Punch" "mult effect duration" 3 "effect cond override" 29 } } } } }