WaveSchedule { // helitank precache PrecacheModel "models/props_frontline/helicopter_windows.mdl" PrecacheModel "models/lilchewchew/lilchewchew_v3.mdl" PrecacheModel "models/lilchewchew/lilchewchew_wheels_v3.mdl" PrecacheSound "deltarune_splat.wav" // airbomb precaches PrecacheModel "models/boeing_b17_air.mdl" // gen precaches PrecacheModel "models/workshop/weapons/c_models/c_quadball/w_quadball_grenade.mdl" // vendor model precaches PrecacheModel "models/player/spy.mdl" PrecacheModel "models/workshop/player/items/spy/hwn2019_avian_amante/hwn2019_avian_amante.mdl" PrecacheModel "models/workshop/player/items/spy/spr18_aristotle/spr18_aristotle.mdl" PrecacheModel "models/workshop/player/items/spy/majors_mark/majors_mark.mdl" PrecacheModel "models/player/items/pyro/fwk_pyro_birdcage.mdl" PrecacheModel "models/player/heavy.mdl" PrecacheModel "models/workshop/player/items/heavy/hwn2023_make_ogre/hwn2023_make_ogre.mdl" PrecacheModel "models/bots/skeleton_sniper/skeleton_sniper.mdl" PrecacheModel "models/workshop/player/items/heavy/hwn2018_mann_o_war/hwn2018_mann_o_war.mdl" // vendor music PrecacheSound "music\cossack_sandvich.wav" // mission music PrecacheSound "combat_initiation_delicate_glass_in_ice.mp3" PrecacheSound "powerplay.mp3" // no cheez for buster SentryBusterFriendlyFire 0 CustomWeapon //Allows you to use an alias for items with custom attributes { "that demo boss on rottenburg" // The name you would use in Item key in TFBot { OriginalItemName "The Loose Cannon" // The item used as a base "grenade launcher mortar mode" 0 "faster reload rate" 1.8 "fire rate bonus" 2 "clip size penalty" 0.5 "projectile spread angle penalty" 5 "damage bonus" 7 "blast radius increased" 2.5 "fuse bonus" 10 "Projectile speed increased" 10 "projectile lifetime" 6 "grenade explode on impact" 1 "projectile sound" "weapons/mortar/mortar_shell_incomming1.wav" "explosion particle" "hightower_explosion" } "iron bomber air" { OriginalItemName "The Iron Bomber" // The item used as a base "Projectile speed increased" 10 "projectile lifetime" 6 } } Templates { T_TFBot_Scout_Grenade { Name "Grenade Scout" Class Scout Skill Hard StripItemSlot 3 Item "Mad Milk" Item "The Merc's Muffler" AimLeadProjectileSpeed 1 DesiredAttackRange 150 MoveBehindEnemy 150 ItemAttributes { ItemName "Mad Milk" "custom projectile model" "models/workshop/weapons/c_models/c_quadball/w_quadball_grenade.mdl" "override projectile type" 3 "grenade no bounce" 1 "fuse bonus" 0.7 "Blast radius decreased" 0.85 "damage bonus" 20 "effect bar recharge rate increased" 0.25 "custom item model" "models/workshop/weapons/c_models/c_quadball/w_quadball_grenade.mdl" } FireWeapon //Periodically fires weapon { Delay 10 //Time before the first fire input starts (Default: 10) Cooldown 0 //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.3 //How long should the button be pressed (Default: 0.1) Type "Primary" // Type of fire input, Possible values: } } T_TFBot_Giant_Medic_Kritz { Name "Giant Kritz Medic" Class Medic ClassIcon medic_kritz_giant Health 4500 Attributes IgnoreEnemies Attributes MiniBoss Attributes SpawnWithFullCharge Skill Expert WeaponRestrictions SecondaryOnly Tag bot_giant Item "The Team Captain" Item "The Kritzkrieg" ItemAttributes { ItemName "The Kritzkrieg" "uber duration bonus" 999 "ubercharge rate bonus" 100 } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.4 "airblast vulnerability multiplier" 0.4 "bot medic uber health threshold" 100000 } } T_TFBot_Giant_Heavy_Stomp { Class heavyweapons Name "Omega Heavyweight Champ" ClassIcon heavy_champ_giant Skill expert Health 7000 Item "the killing gloves of boxing" Item "The Mantreads" Item "Pugilist's Protector" Item "The Heavy-Weight Champ" WeaponRestrictions MeleeOnly Attributes MiniBoss Scale 1.8 Attributes AutoJump AutoJumpMin 10 AutoJumpMax 10 ItemAttributes { ItemName "The Mantreads" "boots falling stomp" 1 "kb fall radius" 75 "kb fall force" 100 "kb fall min velocity" 150 "kb fall damage" 300 "kb fall stun time" 1 "fire input on kill" !self^SetHealth^1 } CharacterAttributes { "cancel falling damage" 1 "halloween increased jump height" 2.2 "move speed bonus" 0.5 "damage force reduction" 0.3 "airblast vulnerability multiplier" 0.3 "override footstep sound set" 2 } } T_TFBot_Soldier_Bison { Class Soldier Name "Self Buff Bison Soldier" ClassIcon soldier_bison_buff Skill Expert WeaponRestrictions SecondaryOnly Item "The Righteous Bison" AddCond //Adds conditions to bots { Index 16 Delay 0 // Delay before the condition activates (Default: 0) Duration -1 // Duration of the condition effect (Default: -1 - infinite duration) } } } ExtraTankPath ///put in waveschedule { Name "plane1_move" Node "-160 7168 2624" ///start Node "-160 -6080 2624" ///end } ExtraTankPath ///put in waveschedule { Name "heli1_move_1" Node "1792 6688 2206" // path 1 Node "1664 256 2112" // path 2 Node "1664 -640 1088" // path 3 Node "1664 -3392 992" // path 4 Node "1664 -5984 1760" // path 5 } PointTemplates { helitank { logic_relay { "targetname" "helitank_enable" "OnTrigger" "heli1,Enable,,0.1,-1" "OnTrigger" "chewthull1,Enable,,0.1,-1" "OnTrigger" "chewtrack1,Enable,,0.1,-1" "OnTrigger" "heli1_path1,SetSpeed,700,0.1,-1" "OnTrigger" "heli1_path1,Toggle,,0,-1" } func_tracktrain { "targetname" "heli1_path1" "orientation type" "2" "target" "heli1_move_1" "origin" "1792 6688 2206" "velocitytype" "2" "startspeed" "700" "angles" "15 270 0" } prop_dynamic { "targetname" "heli1" "model" "models/props_frontline/helicopter_windows.mdl" "skin" "1" "modelscale" "1" "origin" "1792 6668 2230" "angles" "15 270 0" "disableshadows" "1" "DisableBoneFollowers" "1" "solid" "0" "StartDisabled" "1" "parentname" "heli1_path1" } prop_dynamic { "targetname" "chewthull1" "model" "models/lilchewchew/lilchewchew_v3.mdl" "skin" "1" "modelscale" "1" "origin" "1664 -1520 2120" "angles" "15 270 0" "disableshadows" "1" "DisableBoneFollowers" "1" "solid" "0" "StartDisabled" "1" "parentname" "heli1_path1" } prop_dynamic { "targetname" "chewtrack1" "model" "models/lilchewchew/lilchewchew_wheels_v3.mdl" "skin" "1" "modelscale" "1" "origin" "1664 -1440 2160" "angles" "-15 90 180" "disableshadows" "1" "DisableBoneFollowers" "1" "solid" "0" "StartDisabled" "1" "parentname" "heli1_path1" } trigger_hurt { "targetname" "splat" "damage" "100000" "damagetype" "1" "spawnflags" "1" "filtername" "filter_redteam" // check filter for red "origin" "1792 6640 2096" "mins" "-64 -122 -48" "maxs" "64 122 48" "OnHurtPlayer" "splat,PlaySound,,0,-1" "parentname" "heli1_path1" } ambient_generic { "targetname" "splat" "message" "deltarune_splat.wav" "health" "10" "spawnflags" "32" "origin" "0 0 0" } } Airbomb1 { OnSpawnOutput { Target bomber1_bomb Action $SetOwner Param !activator } logic_relay { "targetname" "plane1_enable" "OnTrigger" "plane1,Enable,,0.1,-1" "OnTrigger" "bomber1_bomb,Enable,0.1,-1" "OnTrigger" "plane1_path1,SetSpeed,700,0.1,-1" "OnTrigger" "plane1_path1,Toggle,,25,-1" "OnTrigger" "bomber1_bomb,$StartFiring,15,-1" "OnTrigger" "plane1,Kill,,20,-1" "OnTrigger" "bomber1_bomb,Kill,,20,-1" "OnTrigger" "plane1_path1,Stop,,20,-1" } func_tracktrain { "targetname" "plane1_path1" "orientation type" "2" "target" "plane1_move_1" "origin" "-1216 7168 2624" "velocitytype" "2" "startspeed" "700" "angles" "0 270 0" } prop_dynamic { "targetname" "plane1" "model" "models/boeing_b17_air.mdl" "skin" "1" "modelscale" "1" "origin" "-160 7019 2628" "angles" "0 270 0" "disableshadows" "1" "DisableBoneFollowers" "1" "solid" "0" "StartDisabled" "1" "parentname" "plane1_path1" } //bomb 1 tf_point_weapon_mimic { "origin" "-160 7200 2552" "angles" "90 315 0" "damage" 100 "speedmin" 2200 "speedmax" 2200 "splashradius" 500 "targetname" "bomber1_bomb" "parentname" "plane1_path1" "$weaponname" "iron bomber air" "$preventshootparent" "1" "$firetime" 0.1 "StartDisabled" "1" } } TeleChain_Start // yoinked from zooks with permission { NoFixup 1 KeepAlive 1 info_target { "targetname" "tele_chain_location" } } // tele chain 1 TeleChain_Continue // yoinked from zooks with permission { KeepAlive 1 OnSpawnOutput { Target "!activator" Action "$TeleportToEntity" Param "tele_chain_location" Delay 0.05 } OnSpawnOutput { Target "tele_chain_location" Action "SetParent" Param "!activator" Delay 0.1 } OnSpawnOutput { Target "tele_chain_location" Action "$SetLocalOrigin" Param "0 0 10" Delay 0.1 } } TeleChain_End // yoinked from zooks with permission { OnSpawnOutput { Target "!activator" Action "$TeleportToEntity" Param "tele_chain_location" Delay 0.05 } OnSpawnOutput { Target "tele_chain_location" Action "Kill" Delay 0.1 } } // tele chain 2 TeleChain_Start2 // yoinked from zooks with permission { NoFixup 1 KeepAlive 1 info_target { "targetname" "tele_chain_location2" } } TeleChain_Continue2 // yoinked from zooks with permission { KeepAlive 1 OnSpawnOutput { Target "!activator" Action "$TeleportToEntity" Param "tele_chain_location2" Delay 0.05 } OnSpawnOutput { Target "tele_chain_location2" Action "SetParent" Param "!activator" Delay 0.1 } OnSpawnOutput { Target "tele_chain_location2" Action "$SetLocalOrigin" Param "0 0 10" Delay 0.1 } } TeleChain_End2 // yoinked from zooks with permission { OnSpawnOutput { Target "!activator" Action "$TeleportToEntity" Param "tele_chain_location2" Delay 0.05 } OnSpawnOutput { Target "tele_chain_location2" Action "Kill" Delay 0.1 } } // tele chain 3 TeleChain_Start3 // yoinked from zooks with permission { NoFixup 1 KeepAlive 1 info_target { "targetname" "tele_chain_location3" } } TeleChain_Continue3 // yoinked from zooks with permission { KeepAlive 1 OnSpawnOutput { Target "!activator" Action "$TeleportToEntity" Param "tele_chain_location3" Delay 0.05 } OnSpawnOutput { Target "tele_chain_location3" Action "SetParent" Param "!activator" Delay 0.1 } OnSpawnOutput { Target "tele_chain_location3" Action "$SetLocalOrigin" Param "0 0 10" Delay 0.1 } } TeleChain_End3 // yoinked from zooks with permission { OnSpawnOutput { Target "!activator" Action "$TeleportToEntity" Param "tele_chain_location3" Delay 0.05 } OnSpawnOutput { Target "tele_chain_location3" Action "Kill" Delay 0.1 } } Moosic { ambient_generic { "message" "#*powerplay.mp3" "health" "10" "radius" "20" "spawnflags" "17" "targetname" "rockinmusic" } ambient_generic { "message" "#*combat_initiation_delicate_glass_in_ice.mp3" "health" "10" "radius" "20" "spawnflags" "17" "targetname" "epicmosic" } } MissionName { logic_relay { "targetname" "name" "OnTrigger" "tf_objective_resource,$SetClientProp$m_iszMvMPopfileName,Deluge (Expert),0,-1" } OnSpawnOutput { Target "name" Action "trigger" Delay 0 } } Vendors { // spy bird prop_dynamic { "targetname" "headcage" "model" "models/player/items/pyro/fwk_pyro_birdcage.mdl" "modelscale" "4" "origin" "5096 -2974 496" "angles" "-30 90 0" "disableshadows" "1" "DisableBoneFollowers" "1" "solid" "0" "fademaxdist" "1500" "fademindist" "1000" } prop_dynamic { "targetname" "shitcage" "model" "models/player/items/pyro/fwk_pyro_birdcage.mdl" "modelscale" "4" "origin" "5096 -2966 476" "angles" "30 270 -180" "disableshadows" "1" "DisableBoneFollowers" "1" "solid" "0" "fademaxdist" "1500" "fademindist" "1000" } prop_dynamic { "targetname" "spybird" "model" "models/player/spy.mdl" "DefaultAnim" "competitive_loserstate_idle" "origin" "5092 -2962 450" "angles" "0 90 0" "disableshadows" "1" "DisableBoneFollowers" "1" "solid" "0" "fademaxdist" "1500" "fademindist" "1000" } prop_dynamic_ornament { "targetname" "birdhead" "disableshadows" "1" "disablebonefollowers" "1" "InitialOwner" "spybird" "model" "models/workshop/player/items/spy/hwn2019_avian_amante/hwn2019_avian_amante.mdl" "fademaxdist" "1500" "fademindist" "1000" } prop_dynamic_ornament { "targetname" "spybirdclothes" "disableshadows" "1" "disablebonefollowers" "1" "InitialOwner" "spybird" "model" "models/workshop/player/items/spy/majors_mark/majors_mark.mdl" "fademaxdist" "1500" "fademindist" "1000" } prop_dynamic_ornament { "targetname" "spybirdpet" "disableshadows" "1" "disablebonefollowers" "1" "InitialOwner" "spybird" "model" "models/workshop/player/items/spy/spr18_aristotle/spr18_aristotle.mdl" "fademaxdist" "1500" "fademindist" "1000" } // tiny heavies prop_dynamic { "targetname" "tinyheavy1" "model" "models/player/heavy.mdl" "modelscale" "0.5" "DefaultAnim" "taunt_russian" "origin" "5269 -1512 450" "angles" "0 270 0" "disableshadows" "1" "DisableBoneFollowers" "1" "solid" "0" "fademaxdist" "1500" "fademindist" "1000" } prop_dynamic_ornament { "targetname" "heavyhead" "disableshadows" "1" "disablebonefollowers" "1" "InitialOwner" "tinyheavy1" "model" "models/workshop/player/items/heavy/hwn2023_make_ogre/hwn2023_make_ogre.mdl" "fademaxdist" "1500" "fademindist" "1000" } prop_dynamic { "targetname" "tinyheavy2" "model" "models/player/heavy.mdl" "modelscale" "0.5" "DefaultAnim" "taunt_russian" "origin" "5268 -1510 488" "angles" "0 270 0" "disableshadows" "1" "DisableBoneFollowers" "1" "solid" "0" "fademaxdist" "1500" "fademindist" "1000" } prop_dynamic_ornament { "targetname" "heavyhead2" "disableshadows" "1" "disablebonefollowers" "1" "InitialOwner" "tinyheavy2" "model" "models/workshop/player/items/heavy/hwn2023_make_ogre/hwn2023_make_ogre.mdl" "fademaxdist" "1500" "fademindist" "1000" } prop_dynamic { "targetname" "tinyheavy3" "model" "models/player/heavy.mdl" "modelscale" "0.5" "DefaultAnim" "taunt_russian" "origin" "5268 -1508 526" "angles" "0 270 0" "disableshadows" "1" "DisableBoneFollowers" "1" "solid" "0" "fademaxdist" "1500" "fademindist" "1000" } prop_dynamic_ornament { "targetname" "heavyhead3" "disableshadows" "1" "disablebonefollowers" "1" "InitialOwner" "tinyheavy3" "model" "models/workshop/player/items/heavy/hwn2023_make_ogre/hwn2023_make_ogre.mdl" "fademaxdist" "1500" "fademindist" "1000" } // Kazotsky kick vendor music ambient_generic { "message" "#music\cossack_sandvich.wav" "targetname" "heavyvendorsound" "fadeoutsecs" "2" "health" "8" "radius" "1000" "origin" "5268 -1510 488" } // skeleton prop_dynamic { "targetname" "cooldemo" "model" "models/bots/skeleton_sniper/skeleton_sniper.mdl" "DefaultAnim" "competitive_winnerstate_idle" "origin" "-856 -1008 160" "disableshadows" "1" "DisableBoneFollowers" "1" "solid" "0" "fademaxdist" "1500" "fademindist" "1000" } prop_dynamic_ornament { "targetname" "piratehat" "disableshadows" "1" "disablebonefollowers" "1" "InitialOwner" "cooldemo" "model" "models/workshop/player/items/heavy/hwn2018_mann_o_war/hwn2018_mann_o_war.mdl" "fademaxdist" "1500" "fademindist" "1000" } } NoPit { prop_dynamic { "targetname" "noobgate1" "model" "models/props_gameplay/door_grate001_bottom.mdl" "origin" "2408 -3758 144" "angles" "90 90 0" "modelscale" "0.95" "disableshadows" "1" "DisableBoneFollowers" "1" "solid" "0" "fademaxdist" "1500" "fademindist" "1000" } prop_dynamic { "targetname" "noobgate2" "model" "models/props_gameplay/door_grate001_bottom.mdl" "origin" "2408 -3666 144" "angles" "90 90 0" "modelscale" "0.95" "disableshadows" "1" "DisableBoneFollowers" "1" "solid" "0" "fademaxdist" "1500" "fademindist" "1000" } func_forcefield { "targetname" "noobfield" "disablereceiveshadows" "1" "origin" "2408 -3712 144" "TeamNum" "1" "mins" "-72 -96 -16" "maxs" "72 96 16" } } } }