#base robot_standard.pop #base robot_giant.pop #base robot_gatebot_modular.pop haha_royal_more_like_spoiled { StartingCurrency 30000 CanBotsAttackWhileInSpawnRoom no RespawnWaveTime 1 AddSentryBusterWhenDamageDealtExceeds 3000 AddSentryBusterWhenKillCountExceeds 15 MaxSpeedLimit 1984 FixSetCustomModelInput 1 ForceHoliday 2 // ExtendedUpgradesOnly 1 PrecacheModel "models/players/gogetassj4.mdl" PrecacheModel "models/weapons/c_models/c_clinical_trial/c_clinical_trial.mdl" // ItemAttributes // { // ItemName "The Southern Hospitality" // "bleeding duration" 0 // "dmg taken from fire increased" 1 // "crit mod disabled" 1 // "engy building health bonus" 1.5 // "engy sentry damage bonus" 1.25 // "engy sentry radius increased" 1.25 // "construction rate decreased" 0.5 // "upgrade rate decrease" 1.5 // "max health additive penalty" -25 // } // ItemBlacklist // { // ClassName "tf_weapon_sniperrifle" // ClassName "tf_weapon_sniperrifle_decap" // ClassName "tf_weapon_sniperrifle_classic" // } ExtraSpawnPoint { Name "spawnbot_redbot" TeamNum 3 X "-2004" Y "23.24" Z "2" } // ClassLimit //Limits the number of specified classes // { // Heavyweapons 0 // Scout 0 // Soldier 0 // Spy 0 // Engineer 0 // Pyro 0 // Demoman 0 // Medic 0 // } // Enables extended upgrades displayed on the left of upgrade gui as SourceMod menu. This allows for more than 8 upgrades per weapon, with custom weapon rules ExtendedUpgrades { arrowmastery { Name "Arrow Mastery" // Name of the upgrade displayed on the menu Attribute "arrow mastery" // The attribute name Cap 2 // Maximum amount of the attribute Increment 1 // Attribute increment value per level Cost 200 // Cost of the upgrade per level AllowedWeapons // Restricts upgrade to specified weapons { Slot "Primary" // Weapon slot, allowed values: Primary, Secondary, Melee, PDA, Action } } infinite_clip { Name "Infinite Clip" // Name of the upgrade displayed on the menu Attribute "reload time decreased" // The attribute name Cap 0.0001 // Maximum amount of the attribute Increment -0.9999 // Attribute increment value per level Cost 200 // Cost of the upgrade per level AllowedWeapons // Restricts upgrade to specified weapons { ItemName "TF_WEAPON_SMG" ItemName "Upgradeable TF_WEAPON_SMG" ItemName "The Cleaner's Carbine" ItemName "Festive SMG 2014" } SecondaryAttributes //Secondary attributes applied when upgrade is applied, for each upgrade level { "damage bonus hidden" -0.85 } } pierce { Name "Bullet Penetration" // Name of the upgrade displayed on the menu Attribute "projectile penetration heavy" // The attribute name Cap 3 // Maximum amount of the attribute Increment 1 // Attribute increment value per level Cost 200 // Cost of the upgrade per level AllowedWeapons // Restricts upgrade to specified weapons { ItemName "TF_WEAPON_SMG" ItemName "Upgradeable TF_WEAPON_SMG" ItemName "The Cleaner's Carbine" ItemName "Festive SMG 2014" } } extrabullets { Name "More Bullets" // Name of the upgrade displayed on the menu Attribute "bullets per shot bonus" // The attribute name Cap 2 // Maximum amount of the attribute Increment 0.2 // Attribute increment value per level Cost 100 // Cost of the upgrade per level Description "More bullets per shot, less accuracy" AllowedWeapons // Restricts upgrade to specified weapons { ItemName "TF_WEAPON_SMG" ItemName "Upgradeable TF_WEAPON_SMG" ItemName "The Cleaner's Carbine" ItemName "Festive SMG 2014" } SecondaryAttributes //Secondary attributes applied when upgrade is applied, for each upgrade level { "spread penalty" 1.05 } } plasmafield { Name "Plasma Blast" // Name of the upgrade displayed on the menu Attribute "override projectile type" // The attribute name Cap 13 // Maximum amount of the attribute Increment 13 // Attribute increment value per level Cost 100 // Cost of the upgrade per level Description "Shoots plasma rays instead of bullets" AllowedWeapons // Restricts upgrade to specified weapons { ItemName "TF_WEAPON_SMG" ItemName "Upgradeable TF_WEAPON_SMG" ItemName "The Cleaner's Carbine" ItemName "Festive SMG 2014" } SecondaryAttributes //Secondary attributes applied when upgrade is applied, for each upgrade level { "energy weapon penetration" 1 "ragdolls plasma effect" 1 "custom weapon fire sound" "Weapon_Bison.Single" "fire rate bonus hidden" 4 "reload time increased hidden" 2 //"mod max primary clip override" -1 } DisallowedUpgrade { Upgrade extrabullets // Name of the upgrade, as specified in the outer block Level 1 // Minimum level after which the upgrade becomes disabled (Default: 1) } DisallowedUpgrade { Upgrade pierce // Name of the upgrade, as specified in the outer block Level 1 // Minimum level after which the upgrade becomes disabled (Default: 1) } DisallowedUpgrade { Upgrade infinite_clip // Name of the upgrade, as specified in the outer block Level 1 // Minimum level after which the upgrade becomes disabled (Default: 1) } } upgrade { Name "More Ammo" Attribute "maxammo primary increased" Cap 2 Increment 0.2 description "+20% max ammo" Cost 25 AllowedWeapons // Restricts upgrade to specified weapons { Slot "Primary" // Weapon slot, allowed values: Primary, Secondary, Melee, PDA, Action } } upgrade { Name "More Ammo" Attribute "maxammo secondary increased" Cap 2 Increment 0.2 description "+20% max ammo" Cost 25 AllowedWeapons // Restricts upgrade to specified weapons { ItemName "TF_WEAPON_SMG" ItemName "Upgradeable TF_WEAPON_SMG" ItemName "The Cleaner's Carbine" ItemName "Festive SMG 2014" } } // upgrade // { // Name "Calcified Armor" // Name of the upgrade displayed on the menu // Attribute "max health additive bonus" // The attribute name // Cap 325 // Maximum amount of the attribute // Increment 25 // Attribute increment value per level // Cost 200 // Cost of the upgrade per level // PlayerUpgrade 1 // Is the upgrade a player upgrade // } firearrows { Name "Fire Arrows" // Name of the upgrade displayed on the menu Attribute "set damagetype ignite" // The attribute name Cap 1 // Maximum amount of the attribute Increment 1 // Attribute increment value per level Cost 300 // Cost of the upgrade per level Description "Sets enemies on fire, reduces inital damage" AllowedWeapons // Restricts upgrade to specified weapons { Slot "Primary" // Weapon slot, allowed values: Primary, Secondary, Melee, PDA, Action } SecondaryAttributes //Secondary attributes applied when upgrade is applied, for each upgrade level { "damage bonus hidden" -0.5 "attach particle effect" 1 } DisallowedUpgrade { Upgrade headshotdmg // Name of the upgrade, as specified in the outer block Level 1 // Minimum level after which the upgrade becomes disabled (Default: 1) } DisallowedUpgrade { Upgrade gasjars // Name of the upgrade, as specified in the outer block Level 1 // Minimum level after which the upgrade becomes disabled (Default: 1) } } longburn { Name "Hellfire Arrowheads" // Name of the upgrade displayed on the menu Attribute "weapon burn dmg increased" // The attribute name Cap 2.5 // Maximum amount of the attribute Increment 2.5 // Attribute increment value per level Cost 300 // Cost of the upgrade per level Description "Increases arrow afterburn damage" AllowedWeapons // Restricts upgrade to specified weapons { Slot "Primary" // Weapon slot, allowed values: Primary, Secondary, Melee, PDA, Action } DisallowedUpgrade { Upgrade headshotdmg // Name of the upgrade, as specified in the outer block Level 1 // Minimum level after which the upgrade becomes disabled (Default: 1) } DisallowedUpgrade { Upgrade gasjars // Name of the upgrade, as specified in the outer block Level 1 // Minimum level after which the upgrade becomes disabled (Default: 1) } } headshotdmg { Name "Sharper Arrows" // Name of the upgrade displayed on the menu Attribute "headshot damage increase" // The attribute name Cap 2 // Maximum amount of the attribute Increment 0.2 // Attribute increment value per level Cost 200 // Cost of the upgrade per level AllowedWeapons // Restricts upgrade to specified weapons { Slot "Primary" // Weapon slot, allowed values: Primary, Secondary, Melee, PDA, Action } DisallowedUpgrade { Upgrade firearrows // Name of the upgrade, as specified in the outer block Level 1 // Minimum level after which the upgrade becomes disabled (Default: 1) } } armorpiercing { Name "Armor Penetration" // Name of the upgrade displayed on the menu Attribute "dmg pierces resists absorbs" // The attribute name Cap 1 // Maximum amount of the attribute Increment 1 // Attribute increment value per level Cost 300 // Cost of the upgrade per level Description "Penetrates enemy resistances, your weapon fires slower" AllowedWeapons // Restricts upgrade to specified weapons { Slot "Primary" // Weapon slot, allowed values: Primary, Secondary, Melee, PDA, Action } SecondaryAttributes //Secondary attributes applied when upgrade is applied, for each upgrade level { "fire rate bonus hidden" 0.5 } DisallowedUpgrade { Upgrade firearrows // Name of the upgrade, as specified in the outer block Level 1 // Minimum level after which the upgrade becomes disabled (Default: 1) } } gasjars { Name "Molotov Cocktail" // Name of the upgrade displayed on the menu Attribute "effect cond override" // The attribute name Cap 123 // Maximum amount of the attribute Increment 123 // Attribute increment value per level Cost 300 // Cost of the upgrade per level Description "Jars ignite enemies" AllowedWeapons // Restricts upgrade to specified weapons { Slot "Secondary" // Weapon slot, allowed values: Primary, Secondary, Melee, PDA, Action } DisallowedWeapons // Disallow those weapons { ItemName "TF_WEAPON_SMG" ItemName "Upgradeable TF_WEAPON_SMG" ItemName "Festive SMG 2014" ItemName "The Cleaner's Carbine" ItemName "The Razorback" ItemName "The Cozy Camper" ItemName "Darwin's Danger Shield" } DisallowedUpgrade { Upgrade firearrows // Name of the upgrade, as specified in the outer block Level 1 // Minimum level after which the upgrade becomes disabled (Default: 1) } DisallowedUpgrade { Upgrade reprogramjars // Name of the upgrade, as specified in the outer block Level 1 // Minimum level after which the upgrade becomes disabled (Default: 1) } } reprogramjars { Name "Antidote" // Name of the upgrade displayed on the menu Attribute "effect cond override" // The attribute name Cap 121 // Maximum amount of the attribute Increment 121 // Attribute increment value per level Cost 300 // Cost of the upgrade per level Description "Throws jars which reprogram enemies for 10 seconds. Reprogrammed enemies can still be attacked." AllowedWeapons // Restricts upgrade to specified weapons { Slot "Secondary" // Weapon slot, allowed values: Primary, Secondary, Melee, PDA, Action } DisallowedWeapons // Disallow those weapons { ItemName "TF_WEAPON_SMG" ItemName "Upgradeable TF_WEAPON_SMG" ItemName "Festive SMG 2014" ItemName "The Cleaner's Carbine" ItemName "The Razorback" ItemName "The Cozy Camper" ItemName "Darwin's Danger Shield" } DisallowedUpgrade { Upgrade gasjars // Name of the upgrade, as specified in the outer block Level 1 // Minimum level after which the upgrade becomes disabled (Default: 1) } } upgrade { Name "Longer Arm" Attribute "melee range multiplier" Cap 2 Increment 0.5 description "Longer melee range and tiny bit more damage" Cost 50 AllowedWeapons // Restricts upgrade to specified weapons { Slot "Melee" } SecondaryAttributes { "damage bonus" 0.1 } } minicritboost { Name "Minicrit on kill" Attribute "minicritboost on kill" Cap 9 Increment 3 description "+3s of minicrit on kill" Cost 50 AllowedWeapons // Restricts upgrade to specified weapons { Slot "Melee" } DisallowedUpgrade { Upgrade axtinguisher // Name of the upgrade, as specified in the outer block Level 1 // Minimum level after which the upgrade becomes disabled (Default: 1) } } upgrade { Name "Heal On Kill" Attribute "heal on kill" Cap 100 Increment 25 description "+25hp on kill" Cost 25 AllowedWeapons // Restricts upgrade to specified weapons { Slot "Melee" } } upgrade { Name "Skeletal Berserker" Attribute "mult dmg with reduced health" Cap 2.5 Increment 1.5 description "Up to +150% melee damage based on current health" Cost 150 AllowedWeapons // Restricts upgrade to specified weapons { Slot "Melee" } } axtinguisher { Name "Axtinguish" Attribute "attack_minicrits_and_consumes_burning" Cap 1 Increment 1 description "Mini-crits burning targets and extinguishes them" Cost 150 AllowedWeapons // Restricts upgrade to specified weapons { Slot "Melee" } DisallowedUpgrade { Upgrade minicritboost // Name of the upgrade, as specified in the outer block Level 1 // Minimum level after which the upgrade becomes disabled (Default: 1) } } } PointTemplates { SuperSentryTank { OnSpawnOutput { Target "sentry" Action SetHealth Param "500" Delay 0.01 } obj_sentrygun { "targetname" "sentry" "angles" "0 0 0" "defaultupgrade" "2" "modelscale" "1.5" "TeamNum" "3" "spawnflags" "10" "SolidToPlayer" "0" "origin" "-28 4 150" } } healthkit_template { NoFixup 1 item_healthkit_medium { "targetname" "healthkit" "angles" "0 90 0" "AutoMaterialize" "1" "fademindist" "-1" "renderamt" "255" "rendercolor" "255 255 255" "StartDisabled" "0" "TeamNum" "0" } } ReprogramFire { NoFixup 1 OnSpawnOutput { Target "reprogram_handler" Action "FireUser1" Delay 0 } } Reprogram_Handler { NoFixup 1 filter_tf_condition { "targetname" "filter_is_set_to_be_senttogulag" "Negated" "0" "require_all_tags" "1" "condition" "121" } filter_tf_bot_has_tag { "targetname" "filter_can_reprogram" "Negated" "1" "require_all_tags" "1" "tags" "no_reprogram" } filter_multi //main filter { "targetname" "filter_reprogram_main" "Negated" "0" "FilterType" "0" "Filter01" "filter_is_set_to_be_senttogulag" "Filter02" "filter_can_reprogram" "OnPass" "!activator,$RemoveCond,121,0,-1" "OnPass" "!activator,$AddCond,43,0,-1" "OnPass" "!activator,$AddCond,50,0,-1" "OnPass" "!activator,$AddPlayerAttribute,not solid to players|1,0,-1" "OnPass" "!activator,$AddPlayerAttribute,receive friendly fire|1,0,-1" "OnPass" "!activator,$RemoveCond,43,10,-1" //delay is duration "OnPass" "!activator,$RemoveCond,50,10,-1" "OnPass" "!activator,$RemovePlayerAttribute,receive friendly fire,10,-1" "OnPass" "!activator,$RemovePlayerAttribute,not solid to players,10,-1" "OnPass" "!activator,$Suicide,,8,-1" } trigger_multiple { "targetname" "reprogram_handler" "origin" "0 0 0" "mins" "-10000.0 -10000.0 -10000.0" "maxs" "10000.0 10000.0 10000.0" "spawnflags" "1" "StartDisabled" "1" //"filtername" "filter_reprogram_main" "OnStartTouch" "filter_reprogram_main,TestActivator,!activator,0,-1" "OnUser1" "!self,Enable,,0,-1" "OnUser1" "!self,Disable,,0.1,-1" } } MeleePullout { NoFixup 1 OnSpawnOutput { Target "!activator" Action "AddOutput" Param "targetname corporal" Delay 0.1 } OnParentKilledOutput { Target "!activator" Action "AddOutput" Param "targetname " Delay 0 } filter_activator_tfteam { "targetname" "filter_is_red" "Negated" "0" "TeamNum" "2" } filter_tf_class { "targetname" "filter_isnt_spy" "Negated" "1" "tfclass" "8" } filter_multi { "targetname" "filter_melee_pullout_main" "Negated" "0" "FilterType" "0" "Filter01" "filter_is_red" "Filter02" "filter_isnt_spy" } //sucker punches you out of his way if you attempt to bodyblock like a boss //doesn't trigger against spies so as to make their job not aid trigger_multiple { "targetname" "melee_pullout_range" "origin" "0 0 0" "mins" "-200 -200 -200" "maxs" "200 200 200" "spawnflags" "1" "filtername" "filter_melee_pullout_main" "OnStartTouch" "!activator,$DisplayTextCenter,switched to melee [DEBUG],0,-1" "OnStartTouch" "corporal,$WeaponSwitchSlot,2,0,-1" "OnStartTouch" "corporal,$AddPlayerAttribute,disable weapon switch|1,0.01,-1" "OnStartTouch" "corporal,$RemovePlayerAttribute,disable weapon switch,0.4,-1" "OnStartTouch" "corporal,$WeaponSwitchSlot,0,0.41,-1" "OnStartTouch" "!self,Disable,1,0.42,-1" "OnStartTouch" "!self,Enable,1,1.43,-1" "OnEndTouch" "!activator,$DisplayTextCenter,switched to primary [DEBUG],0,-1" } } Shapeshift { NoFixup 1 logic_relay { "targetname" "shapeshift_global" "OnTrigger" "!activator,$AddCond,4,0,-1" //"OnTrigger" "!activator,$AddPlayerAttribute,no_attack|1,0,-1" //"OnTrigger" "intel*,ForceDrop,,0.1,-1" // "OnTrigger" "!activator,$AddCond,43,0.3,-1" // "OnTrigger" "!activator,$RemoveCond,43,0.31,-1" //force drop intelligence if carrying //"OnTrigger" "!activator,SetCustomModel,models/bots/spy/bot_spy.mdl,1,-1" //"OnTrigger" "!activator,$RemoveCond,66,4,-1" //"OnTrigger" "!activator,$RemovePlayerAttribute,no_attack,3.5,-1" } logic_relay { "targetname" "scout_shapeshift" "OnTrigger" "shapeshift_global,Trigger,,0,-1" "OnTrigger" "!activator,$WeaponStripSlot,-1,0.49,-1" "OnTrigger" "!activator,$GiveItem,Blood Botkiller Scattergun Mk.I,0.5,-1" "OnTrigger" "!activator,$WeaponSwitchSlot,0,0.51,-1" "OnTrigger" "!activator,SetCustomModel,models/bots/scout/bot_scout.mdl,0.5,-1" } logic_relay { "targetname" "soldier_shapeshift" "OnTrigger" "shapeshift_global,Trigger,,0,-1" "OnTrigger" "!activator,$WeaponStripSlot,-1,0.49,-1" "OnTrigger" "!activator,$GiveItem,Rocket Launcher,0.5,-1" "OnTrigger" "!activator,$WeaponSwitchSlot,0,0.51,-1" "OnTrigger" "!activator,SetCustomModel,models/bots/soldier/bot_soldier.mdl,0.5,-1" } } AttackTarget { NoFixup 1 info_target { "targetname" "target" "origin" "0 0 30" } } Skeletonify { OnSpawnOutput { Target "!activator" Action "$SetModelOverride" Param "models/bots/skeleton_sniper/skeleton_sniper.mdl" Delay 0.05 } OnSpawnOutput { Target "!activator" Action "AddOutput" Param "modelscale 1.001" Delay 0.05 } } ModelFixScout { OnSpawnOutput { Target "!activator" Action "$SetModelOverride" Param "models/player/scout.mdl" Delay 0.1 } } ModelFixSoldier { OnSpawnOutput { Target "!activator" Action "$SetModelOverride" Param "models/player/soldier.mdl" Delay 0.1 } } ModelFixPyro { OnSpawnOutput { Target "!activator" Action "$SetModelOverride" Param "models/player/pyro.mdl" Delay 0.1 } } ModelFixDemo { OnSpawnOutput { Target "!activator" Action "$SetModelOverride" Param "models/player/demo.mdl" Delay 0.1 } } ModelFixHeavy { OnSpawnOutput { Target "!activator" Action "$SetModelOverride" Param "models/player/heavy.mdl" Delay 0.1 } } ModelFixEngie { OnSpawnOutput { Target "!activator" Action "$SetModelOverride" Param "models/player/engineer.mdl" Delay 0.1 } } ModelFixMedic { OnSpawnOutput { Target "!activator" Action "$SetModelOverride" Param "models/player/medic.mdl" Delay 0.1 } } ModelFixSpy { OnSpawnOutput { Target "!activator" Action "$SetModelOverride" Param "models/player/spy.mdl" Delay 0.1 } } scoutyellow { OnSpawnOutput { Target "glowprop" Action "setattached" Param "!activator" Delay 0.05 } prop_dynamic_ornament { "targetname" "glowprop" "model" "models/bots/scout/bot_scout.mdl" "disablebonefollowers" "1" "disableshadows" "1" } tf_glow { "glowcolor" "255 215 0 235" "target" "glowprop" } } soldieryellow { OnSpawnOutput { Target "glowprop" Action "setattached" Param "!activator" Delay 0.05 } prop_dynamic_ornament { "targetname" "glowprop" "model" "models/bots/soldier/bot_soldier.mdl" "disablebonefollowers" "1" "disableshadows" "1" } tf_glow { "glowcolor" "255 215 0 235" "target" "glowprop" } } pyroyellow { OnSpawnOutput { Target "glowprop" Action "setattached" Param "!activator" Delay 0.05 } prop_dynamic_ornament { "targetname" "glowprop" "model" "models/bots/pyro/bot_pyro.mdl" "disablebonefollowers" "1" "disableshadows" "1" } tf_glow { "glowcolor" "255 215 0 235" "target" "glowprop" } } demomanyellow { OnSpawnOutput { Target "glowprop" Action "setattached" Param "!activator" Delay 0.05 } prop_dynamic_ornament { "targetname" "glowprop" "model" "models/bots/demo/bot_demo.mdl" "disablebonefollowers" "1" "disableshadows" "1" } tf_glow { "glowcolor" "255 215 0 235" "target" "glowprop" } } heavyweaponsyellow { OnSpawnOutput { Target "glowprop" Action "setattached" Param "!activator" Delay 0.05 } prop_dynamic_ornament { "targetname" "glowprop" "model" "models/bots/heavy/bot_heavy.mdl" "disablebonefollowers" "1" "disableshadows" "1" } tf_glow { "glowcolor" "255 215 0 235" "target" "glowprop" } } engineeryellow { OnSpawnOutput { Target "glowprop" Action "setattached" Param "!activator" Delay 0.05 } prop_dynamic_ornament { "targetname" "glowprop" "model" "models/bots/engineer/bot_engineer.mdl" "disablebonefollowers" "1" "disableshadows" "1" } tf_glow { "glowcolor" "255 215 0 235" "target" "glowprop" } } medicyellow { OnSpawnOutput { Target "glowprop" Action "setattached" Param "!activator" Delay 0.05 } prop_dynamic_ornament { "targetname" "glowprop" "model" "models/bots/medic/bot_medic.mdl" "disablebonefollowers" "1" "disableshadows" "1" } tf_glow { "glowcolor" "255 215 0 235" "target" "glowprop" } } sniperyellow { OnSpawnOutput { Target "glowprop" Action "setattached" Param "!activator" Delay 0.05 } prop_dynamic_ornament { "targetname" "glowprop" "model" "models/bots/sniper/bot_sniper.mdl" "disablebonefollowers" "1" "disableshadows" "1" } tf_glow { "glowcolor" "255 215 0 235" "target" "glowprop" } } spyyellow { OnSpawnOutput { Target "glowprop" Action "setattached" Param "!activator" Delay 0.05 } prop_dynamic_ornament { "targetname" "glowprop" "model" "models/bots/spy/bot_spy.mdl" "disablebonefollowers" "1" "disableshadows" "1" } tf_glow { "glowcolor" "255 215 0 235" "target" "glowprop" } } giantscoutyellow { OnSpawnOutput { Target "glowprop" Action "setattached" Param "!activator" Delay 0.05 } prop_dynamic_ornament { "targetname" "glowprop" "model" "models/bots/scout_boss/bot_scout_boss.mdl" "disablebonefollowers" "1" "disableshadows" "1" } tf_glow { "glowcolor" "255 215 0 235" "target" "glowprop" } } giantsoldieryellow { OnSpawnOutput { Target "glowprop" Action "setattached" Param "!activator" Delay 0.05 } prop_dynamic_ornament { "targetname" "glowprop" "model" "models/bots/soldier_boss/bot_soldier_boss.mdl" "disablebonefollowers" "1" "disableshadows" "1" } tf_glow { "glowcolor" "255 215 0 235" "target" "glowprop" } } giantdemomanyellow { OnSpawnOutput { Target "glowprop" Action "setattached" Param "!activator" Delay 0.05 } prop_dynamic_ornament { "targetname" "glowprop" "model" "models/bots/demo_boss/bot_demo_boss.mdl" "disablebonefollowers" "1" "disableshadows" "1" } tf_glow { "glowcolor" "255 215 0 235" "target" "glowprop" } } giantpyroyellow { OnSpawnOutput { Target "glowprop" Action "setattached" Param "!activator" Delay 0.05 } prop_dynamic_ornament { "targetname" "glowprop" "model" "models/bots/pyro_boss/bot_pyro_boss.mdl" "disablebonefollowers" "1" "disableshadows" "1" } tf_glow { "glowcolor" "255 215 0 235" "target" "glowprop" } } giantheavyyellow { OnSpawnOutput { Target "glowprop" Action "setattached" Param "!activator" Delay 0.05 } prop_dynamic_ornament { "targetname" "glowprop" "model" "models/bots/heavy_boss/bot_heavy_boss.mdl" "disablebonefollowers" "1" "disableshadows" "1" } tf_glow { "glowcolor" "255 215 0 235" "target" "glowprop" } } myballs { OnSpawnOutput { Target "!activator" Action "$AddItemAttribute" Param "no_attack|1|0" //prevents bypassing revolver reload animation/firing speed interval by bringing up dead ringer Delay 0 } OnSpawnOutput { Target "!activator" Action "$RemoveItemAttribute" Param "no_attack|0" Delay 4 //replace with how long your delay between shots normally last (do your own math } } Yauka_Styles { NoFixup 1 logic_relay { "targetname" "style_transition" "OnTrigger" "!activator,$WeaponStripSlot,-1,0,-1" "OnTrigger" "!activator,$GiveItem,TF_WEAPON_ROCKETLAUNCHER,0.01,-1" } logic_relay { "targetname" "homing_style" "OnTrigger" "style_transition,Trigger,,0,-1" "OnTrigger" "!activator,$AddItemAttribute,projectile trail particle|eyeboss_projectile|0,0.02,-1" "OnTrigger" "!activator,$AddItemAttribute,mod projectile heat seek power|360|0,0.02,-1" "OnTrigger" "!activator,$AddItemAttribute,mod projectile heat aim time|0.7|0,0.02,-1" "OnTrigger" "!activator,$AddItemAttribute,Reload time decreased|0.3|0,0.02,-1" "OnTrigger" "!activator,$AddItemAttribute,clip size upgrade atomic|-1|0,0.02,-1" "OnTrigger" "!activator,$AddCond,36,0,-1" } } healtarget { NoFixup 1 info_target { "targetname" "heal_me" "origin" "0 0 30" } } buildtarget { Nofixup 1 info_target { "targetname" "build_here" "origin" "-1.35 -866.94 65" } } buildlogic { Nofixup 1 logic_relay { "targetname" "switch_to_sentry_mode" "spawnflags" "2" "OnTrigger" "!self,EnableRefire,,0,-1" "OnTrigger" "!activator,$WeaponSwitchSlot,5,0,-1" "OnTrigger" "!activator,$AddPlayerAttribute,disable weapon switch|1,0.01,-1" } logic_relay { "targetname" "switch_to_wrench_mode" "spawnflags" "2" "OnTrigger" "!self,EnableRefire,,0,-1" "OnTrigger" "!activator,$RemovePlayerAttribute,disable weapon switch,0,-1" "OnTrigger" "!activator,$WeaponSwitchSlot,2,0.1,-1" } } TankDozer { NoFixUp 1 OnSpawnOutput { Target "killdozer_sentry" Action SetModelScale Param 1.5 Delay 0.02 } OnSpawnOutput { Target "killdozer_sentry" Action SetParent Param "killdozer_brush" Delay 0.02 } OnSpawnOutput { Target "killdozer_plate_*" Action SetParent Param "killdozer_brush" Delay 0.01 } OnParentKilledOutput { Target tankdozer_dead_relay Action Trigger } path_track { "targetname" "tankdozer_path_1" "orientationtype" "1" "spawnflags" "0" "origin" "-32 -36.8916 160" "OnPass" "!activator,TeleportToPathTrack,tank_right_1,0,-1" "OnPass" "!self,Kill,,0.5,-1" } func_brush { "classname" "func_brush" "disablereceiveshadows" "1" "disableshadows" "1" "InputFilter" "0" "invert_exclusion" "0" "lightingorigin" "killdozer_lighting" "origin" "-7 -41.89 215.99" "mins" "-149 -102 -88" "maxs" "149 102 88" "renderamt" "255" "rendercolor" "255 255 255" "renderfx" "0" "rendermode" "0" "solidbsp" "0" "Solidity" "2" "spawnflags" "2" "StartDisabled" "0" "targetname" "killdozer_brush" "vrad_brush_cast_shadows" "0" } func_breakable { "classname" "func_breakable" "damagefilter" "filter_redteam" "disablereceiveshadows" "1" "disableshadows" "1" "ExplodeDamage" "0" "explodemagnitude" "0" "ExplodeRadius" "0" "explosion" "0" "gibdir" "0 0 0" "health" "2000" "lightingorigin" "killdozer_lighting" "material" "2" "minhealthdmg" "0" "nodamageforces" "0" "origin" "18 45.11 188.99" "mins" "-96 -5 -27" "maxs" "96 5 27" "PerformanceMode" "0" "physdamagescale" "1.0" "pressuredelay" "0" "renderamt" "255" "rendercolor" "255 255 255" "renderfx" "0" "rendermode" "0" "spawnflags" "0" "spawnobject" "0" "targetname" "killdozer_plate_l1" } func_breakable { "classname" "func_breakable" "damagefilter" "filter_redteam" "disablereceiveshadows" "1" "disableshadows" "1" "ExplodeDamage" "0" "explodemagnitude" "0" "ExplodeRadius" "0" "explosion" "0" "gibdir" "0 0 0" "health" "2000" "lightingorigin" "killdozer_lighting" "material" "2" "minhealthdmg" "0" "nodamageforces" "0" "origin" "-34.52 26.44 252.99" "mins" "-73 -4 -27" "maxs" "73 4 27" "PerformanceMode" "0" "physdamagescale" "1.0" "pressuredelay" "0" "renderamt" "255" "rendercolor" "255 255 255" "renderfx" "0" "rendermode" "0" "spawnflags" "0" "spawnobject" "0" "targetname" "killdozer_plate_l2" } func_breakable { "classname" "func_breakable" "damagefilter" "filter_redteam" "disablereceiveshadows" "1" "disableshadows" "1" "ExplodeDamage" "0" "explodemagnitude" "0" "ExplodeRadius" "0" "explosion" "0" "gibdir" "0 0 0" "health" "2000" "lightingorigin" "killdozer_lighting" "material" "2" "minhealthdmg" "0" "nodamageforces" "0" "origin" "-31.47 -110.89 248.99" "mins" "-73 -4 -27" "maxs" "73 4 27" "PerformanceMode" "0" "physdamagescale" "1.0" "pressuredelay" "0" "renderamt" "255" "rendercolor" "255 255 255" "renderfx" "0" "rendermode" "0" "spawnflags" "0" "spawnobject" "0" "targetname" "killdozer_plate_r1" } func_breakable { "classname" "func_breakable" "damagefilter" "filter_redteam" "disablereceiveshadows" "1" "disableshadows" "1" "ExplodeDamage" "0" "explodemagnitude" "0" "ExplodeRadius" "0" "explosion" "0" "gibdir" "0 0 0" "health" "2000" "lightingorigin" "killdozer_lighting" "material" "2" "minhealthdmg" "0" "nodamageforces" "0" "origin" "18 -117.89 188.99" "mins" "-48 -4 -27" "maxs" "48 4 27" "PerformanceMode" "0" "physdamagescale" "1.0" "pressuredelay" "0" "renderamt" "255" "rendercolor" "255 255 255" "renderfx" "0" "rendermode" "0" "spawnflags" "0" "spawnobject" "0" "targetname" "killdozer_plate_r2" } obj_sentrygun { "angles" "0 0 0" "defaultupgrade" "1" "spawnflags" "8" "targetname" "killdozer_sentry" "TeamNum" "3" "origin" "-68 -40.8916 296" } logic_relay { "targetname" "tankdozer_dead_relay" "OnTrigger" "killdozer_brush,Kill,,0,-1" "OnTrigger" "killdozer_sentry,Kill,,0,-1" "OnTrigger" "killdozer_plate_*,Break,,0,-1" } } equip_booze_banner { OnSpawnOutput { Target "rage_regenerator_math" Action "GetValue" Delay 0 } logic_branch { "targetname" "rage_regenerator_IsRageDraining" "OnTrue" "rage_regenerator_math,Add,0,0,-1" "OnFalse" "rage_regenerator_math,Add,5,0,-1" //regeneration amount } math_counter { "targetname" "rage_regenerator_math" "min" "0" "max" "100" // "OutValue" "!activator,$DisplayTextChat,,0,-1" //debug "OutValue" "!activator,$SetProp$m_flRageMeter,,0,-1" "OutValue" "rage_regenerator_math,GetValue,,1,-1" //regeneration time "OnGetValue" "!activator,$GetProp$m_flRageMeter,!caller|SetValueNoFire|,0,-1" "OnGetValue" "!activator,$GetProp$m_bRageDraining,rage_regenerator_IsRageDraining|SetValueTest|,0,-1" } RemoveIfKilled "rage_regenerator_math" RemoveIfKilled "rage_regenerator_IsRageDraining" } } SpawnTemplate "Reprogram_Handler" SpawnTemplate "buildtarget" SpawnTemplate "buildlogic" PlayerSpawnTemplate { Name "healtarget" } PlayerShootTemplate { Name "ReprogramFire" AttachToProjectile 1 } PlayerShootTemplate [$SIG] { Name "myballs" Speed 0 ItemName "The Enforcer" } PlayerItemEquipSpawnTemplate { Name "equip_booze_banner" ClassName "tf_weapon_medigun" } // PlayerSpawnTemplate // { // Name "ModelFixScout" // Class Scout // } // PlayerSpawnTemplate // { // Name "ModelFixSoldier" // Class Soldier // } // PlayerSpawnTemplate // { // Name "ModelFixPyro" // Class Pyro // } // PlayerSpawnTemplate // { // Name "ModelFixDemo" // Class Demoman // } // PlayerSpawnTemplate // { // Name "ModelFixHeavy" // Class Heavyweapons // } // PlayerSpawnTemplate // { // Name "ModelFixEngie" // Class Engineer // } // PlayerSpawnTemplate // { // Name "ModelFixMedic" // Class Medic // } // PlayerSpawnTemplate // { // Name "ModelFixSpy" // Class Spy // } // PlayerSpawnTemplate // { // Name "Skeletonify" // Class Sniper // } // PlayerAttributes // { // Sniper // { // "model scale" 1.001 // "bombinomicon effect on death" 1 // "SPELL: set Halloween footstep type" 7511618 // "SPELL: Halloween voice modulation" 1 // } // } // ItemAttributes // { // Classname "TF_WEAPON_CLUB" // "is invisible" 1 // "custom kill icon" "skull_tf" // } ItemAttributes { Classname "tf_weapon_medigun" "generate rage on heal" 2 } CustomWeapon { Name "Clinical Trial" OriginalItemName "TF_WEAPON_SYRINGEGUN_MEDIC" "energy weapon no ammo" 1 "provide on active" 1 } Templates { T_TFBot_Giant_Pyro_FireRocket { Name "Giant Incendinary Rocket Pyro" Class Pyro ClassIcon soldier_incendiary_nys Health 3300 Attributes MiniBoss Attributes HoldFireUntilFullReload Skill Expert WeaponRestrictions SecondaryOnly Item "The Reserve Shooter" Item "PY-40 Incinibot" RocketCustomModel "models/buildables/sentry3_rockets.mdl" ItemAttributes { ItemName "The Reserve Shooter" "override projectile type" 2 "fire rate bonus" 1.5 "faster reload rate" 0.8 "set damagetype ignite" 1 "damage bonus" 6 "custom kill icon" "blackbox" "custom weapon fire sound" "Weapon_RPG_BlackBox.Single" } CharacterAttributes { "move speed bonus" 0.2 "damage force reduction" 0.2 "airblast vulnerability multiplier" 0.2 "override footstep sound set" 6 } CustomWeaponModel { Slot 1 Model "models/workshop/weapons/c_models/c_blackbox/c_blackbox.mdl" } } T_TFBot_Giant_Scout_FAN_Atomic { Name "Giant Nuke Scout" Class Scout ClassIcon scout_fan_nuke Health 1600 Attributes MiniBoss Attributes AlwaysCrit Skill Expert MaxVisionRange 1200 WeaponRestrictions PrimaryOnly AimAt Feet Item "The Force-a-Nature" Item "Explosive Mind" ItemAttributes { ItemName "The Force-a-Nature" "damage penalty" 1 "damage bonus" 6 "fire rate bonus" 1 "fire rate penalty" 5.5 "reload time increased" 3.5 "explosive bullets" 250 "use large smoke explosion" 1 "scattergun knockback mult" 2 } CharacterAttributes { "move speed penalty" 0.6 "damage force reduction" 0.7 "airblast vulnerability multiplier" 0.7 "override footstep sound set" 5 } } T_TFBot_Giant_Spy_Pusher { Name "Giant Blast Spy" Class Spy ClassIcon spy_revolver_blast Health 2000 Attributes MiniBoss Skill Expert MaxVisionRange 1500 WeaponRestrictions PrimaryOnly Action FetchFlag AimTrackingInterval 0.001 Item "Upgradeable TF_WEAPON_REVOLVER" ItemAttributes { ItemName "Upgradeable TF_WEAPON_REVOLVER" "fire rate bonus" 0.001 "reload time increased" 1.5 "bullets per shot bonus" 2 "spread penalty" 1.75 "damage causes airblast" 1 "damage penalty" 0.36 } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.6 "airblast vulnerability multiplier" 0.6 "override footstep sound set" 7 "cannot disguise" 1 "head scale" 0.7 "voice pitch scale" 0 } } T_TFBot_Giant_Heavyweapons_BrassSpeed { Name "Giant Brass Heavy" Class Heavyweapons ClassIcon heavy_brass_nys Health 5000 Attributes MiniBoss Skill Expert MaxVisionRange 1200 Tag corporal Item "The Brass Beast" Item "Gloves of Running Urgently MvM" Item "The Eliminators Safeguard" ItemAttributes { ItemName "The Brass Beast" "damage bonus" 1.5 "mod minigun can holster while spinning" 1 } ItemAttributes { ItemName "Gloves of Running Urgently MvM" "provide on active" 1 "move speed bonus" 2 "override footstep sound set" 7 "damage causes airblast" 1 "increased jump height" 3 "increased air control" 100 } CharacterAttributes { "move speed penalty" 0.4 "damage force reduction" 0.2 "airblast vulnerability multiplier" 0.2 "override footstep sound set" 2 "deploy time decreased" 0.0025 "dmg taken increased" 0.05 "dmg from ranged reduced" 20 "dmg from melee increased" 20 "boots falling stomp" 1 } } T_TFBot_Trolldier { Name "Trolldier" Class Soldier ClassIcon soldier_jug_market Health 200 Attributes DisableDodge Skill Expert MaxVisionRange 3000 FastUpdate 1 Action Sniper // Action Mobber RocketJump 1 StripItemSlot 1 UseMeleeThreatPrioritization 1 Item "Rocket Jumper" // Item "The Mantreads" Item "The Market Gardener" Item "Dr's Dapper Topper" ItemAttributes { ItemName "Rocket Jumper" "mod max primary clip override" -1 "fire rate penalty" 2 } CharacterAttributes { "boots falling stomp" 1 "increased air control" 100 "deploy time decreased" 0.0025 "mult smack time" 0.5 } InterruptAction { Target "target" Delay 1 Cooldown 30 Repeats 999 Duration 0.5 } } T_TFBot_Chief_Soldier_Homing { Class Soldier Skill Expert // WeaponRestrictions PrimaryOnly Name "Sergeant Homing" ClassIcon soldier_sergeant_crits_homing Health 60000 Scale 1.9 Item "Tyrant's Helm" Attributes MiniBoss Attributes UseBossHealthBar Attributes HoldFireUntilFullReload Attributes AlwaysCrit SpawnTemplate "MeleePullout" RocketCustomParticle "eyeboss_projectile" RocketCustomModel "models/props_halloween/eyeball_projectile.mdl" Item "warbird_rocketlauncher_warhawk" Item "The Escape Plan" ItemAttributes { ItemName "warbird_rocketlauncher_warhawk" "set_item_texture_wear" 0.2 "damage bonus" 1.5 "faster reload rate" 0.6 "fire rate bonus" 0.2 "clip size upgrade atomic" 7.0 // "Projectile speed increased" 1.3 } ItemAttributes { ItemName "The Escape Plan" "provide on active" 1 "move speed bonus" 2 } ItemAttributes { ItemName "Tyrant's Helm" "set item tint RGB" 125064113 } CharacterAttributes { "health regen" 250 "move speed penalty" 0.5 "damage force reduction" 0.4 "airblast vulnerability multiplier" 0.4 "override footstep sound set" 3 "airblast vertical vulnerability multiplier" 0.1 "rage giving scale" 0.1 } HomingRockets { Enable 1 IgnoreDisguisedSpies 1 IgnoreStealthedSpies 1 RocketSpeed 1.3 TurnPower 60 MaxAimError 90 } ItemColor { ItemName "warbird_rocketlauncher_warhawk" Red 125 Green 64 Blue 113 } } T_TFBot_Chief_Soldier_SlowCrit_Homing { Class Soldier Skill Expert WeaponRestrictions PrimaryOnly Name "Major Homing" Item "Full Metal Drill Hat" ClassIcon soldier_major_crits_homing Health 60000 Scale 1.9 Attributes MiniBoss Attributes UseBossHealthBar Attributes HoldFireUntilFullReload Attributes AlwaysCrit RocketCustomParticle "eyeboss_projectile" RocketCustomModel "models/props_halloween/eyeball_projectile.mdl" Item "warbird_rocketlauncher_warhawk" ItemAttributes { ItemName "warbird_rocketlauncher_warhawk" "set_item_texture_wear" 0.2 "clip size upgrade atomic" 26.0 "faster reload rate" 0.4 "fire rate bonus" 0.2 "projectile spread angle penalty" 45 //"Projectile speed increased" 0.4 } ItemAttributes { ItemName "Full Metal Drill Hat" "set item tint rgb" 16738740 } CharacterAttributes { "health regen" 250 "move speed bonus" 0.5 "damage bonus" 1.5 "damage force reduction" 0.4 "airblast vulnerability multiplier" 0.4 "override footstep sound set" 3 "airblast vertical vulnerability multiplier" 0.1 "rage giving scale" 0.1 } HomingRockets { Enable 1 IgnoreDisguisedSpies 1 IgnoreStealthedSpies 1 TurnPower 100 MaxAimError 360 RocketSpeed 0.4 AimTime 10 } ItemColor { ItemName "warbird_rocketlauncher_warhawk" Red 255 Green 20 Blue 147 } } T_TFBot_Giant_Soldier_RocketPush_Homing { Class Soldier Skill Expert WeaponRestrictions PrimaryOnly Item "The Liberty Launcher" ClassIcon soldier_libertylauncher_homing Attributes MiniBoss Attributes HoldFireUntilFullReload Name "Giant Homing Blast Soldier" Health 3800 RocketCustomParticle "eyeboss_projectile" ItemAttributes { ItemName "The Liberty Launcher" "damage causes airblast" 1 "damage bonus" 0.75 "fire rate bonus" 0.25 "clip size upgrade atomic" 5 "faster reload rate" 0.2 "Blast radius decreased" 1.2 "projectile spread angle penalty" 4 "mini rockets" 1 // "Projectile speed increased" 0.75 } CharacterAttributes { "move speed bonus" 0.5 "override footstep sound set" 3 "damage force reduction" 0.4 "airblast vulnerability multiplier" 0.4 "airblast vertical vulnerability multiplier" 0.1 } HomingRockets { Enable 1 IgnoreDisguisedSpies 1 IgnoreStealthedSpies 1 TurnPower 100 MaxAimError 360 RocketSpeed 0.5 AimTime 2 } AddCond { Name "TF_COND_SODAPOPPER_HYPE" } } T_TFBot_Spy_Armored_Fist { Name "Armoured Fist Spy" Class Spy ClassIcon spy_armored Scale 1.5 Health 1200 Attributes DisableDodge Skill Expert WeaponRestrictions MeleeOnly Action FetchFlag Item "The Bolt Action Blitzer" ItemAttributes { ItemName "TF_WEAPON_KNIFE" "fire rate penalty" 2 "dmg penalty vs players" 1.25 "custom kill icon" "fists" "mult crit dmg" 2 "hand scale" 1.75 } CharacterAttributes { "move speed bonus" 0.8 "head scale" 0.7 "cannot disguise" 1 "gesture speed increase" 0.5 } CustomWeaponModel { Slot 2 Model "models/empty.mdl" } } T_TFBot_Chief_ClassChange { Name "Sergeant Shapeshift" Class Spy Action FetchFlag Health 40000 Skill Expert Attributes MiniBoss Tag bot_giant SpawnTemplate "Shapeshift" FireInput { Target "soldier_shapeshift" Action "Trigger" Delay 6 Cooldown 11 Repeats 0 } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.7 "airblast vulnerability multiplier" 0.7 "override footstep sound set" 5 "cannot disguise" 1 } } T_TFBot_Chief_Yakuza { SpawnTemplate "Yauka_Styles" Name "Sergeant Subtype" Class Soldier Health 50000 Scale 1.9 WeaponRestrictions PrimaryOnly Tag bot_giant Item "The Eye-Catcher" Skill Expert Attributes MiniBoss Attributes HoldFireUntilFullReload Attributes UseBossHealthBar FireInput { Target "homing_style" Action "Trigger" Delay 6 Cooldown 11 Repeats 0 } CharacterAttributes { "health regen" 100 "move speed bonus" 0.5 "damage force reduction" 0.001 "airblast vulnerability multiplier" 0.001 "override footstep sound set" 3 "airblast vertical vulnerability multiplier" 0.1 "rage giving scale" 0.5 } } T_TFBot_Red_Medic_Crossbow { Name "Crossbow Medic" Class Medic ClassIcon red2_lite Health 150 Attributes DisableDodge Skill Expert MaxVisionRange 1500 WeaponRestrictions PrimaryOnly AddCond { Name "TF_COND_REPROGRAMMED" } Action Mobber AimTrackingInterval 0.001 AimLeadProjectileSpeed 1 Item "The Crusader's Crossbow" CharacterAttributes { "collect currency on kill" 1 "crit mod disabled" 0 } InterruptAction { Target "heal_me" AimTarget "heal_me" KillAimTarget 1 Delay 1 Repeats 0 Duration 600 } } T_TFBot_Heavy_Sandvich_Thrower { Class Heavyweapons ClassIcon red2_lite Health 300 Skill Expert WeaponRestrictions SecondaryOnly ExtAttr AlwaysFireWeaponAlt AddCond { Name "TF_COND_REPROGRAMMED" } Action Mobber AimTrackingInterval 0.001 AimLeadProjectileSpeed 1 StripItemSlot 0 Item "The Sandvich" ItemAttributes { ItemName "The Sandvich" "item_meter_charge_rate" 0.1 } InterruptAction { Target "heal_me" AimTarget "heal_me" KillAimTarget 1 Delay 1 Repeats 0 Duration 600 } } T_TFBot_Engineer_Builder { Class Engineer Health 275 Skill Expert Action Sniper ExtAttr SuppressCanteenUse Item "Battery Canteens" ItemAttributes { ItemName "Battery Canteens" "building instant upgrade" 1 "powerup charges" 2 } CharacterAttributes { "damage force reduction" 0 "deploy time decreased" 0.5 } InterruptAction { Target "build_here" AimTarget "build_here" Delay 0 Repeats 1 Duration 30 WaitUntilDone 1 } FireInput { Target switch_to_sentry_mode Action Trigger Delay 0 Cooldown 0 } FireInput { Target switch_to_wrench_mode Action Trigger Delay 12 Cooldown 3 } } T_TFAttrBot_Engineer { Class Engineer Health 275 WeaponRestrictions PDAOnly Skill Expert Action Sniper ChangeAttributes { Delay 12 Cooldown 9999 Repeats 1 Name "Action2" } Item "Battery Canteens" ItemAttributes { ItemName "Battery Canteens" "building instant upgrade" 1 "powerup charges" 1 } ExtAttr SuppressCanteenUse EventChangeAttributes { Default { InterruptAction // Stop current bot ai and force the bot to move to a location { Target "build_here" // Move target location AimTarget "build_here" // Where the bot should look at Delay 1 Repeats 1 // How many times should bot do the task in total (Default: 0 - Infinite) Cooldown 0 Duration 3 } CharacterAttributes { "move speed bonus" 1 } } Action2 { Attributes AlwaysFireWeapon NoCrouchButtonRelease 1 // Do not automatically release crouch button when the bot is on the ground ClientCommand // Executes client commands { Name "destroy 2; build 2" // Name of the client command, notable examples: Delay 1 Cooldown 0 IfSeeTarget 0 Repeats 1 } WeaponSwitch //Periodically switches weapon { Delay 2.5 //Time before the first weapon switch starts (Default: 10) Cooldown 1 //Time between each weapon switch (Default: 10) Repeats 0 //How many times should bot switch weapons in total (Default: 0 - Infinite) Type "Melee" // Weapon slot, possible values: } InterruptAction // Stop current bot ai and force the bot to move to a location { AimTarget "build_here" // Where the bot should look at Delay 0.1 Repeats 0 Cooldown 0 Duration 300 } CharacterAttributes { "move speed bonus" 0.001 } 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 1 //How many times should bot use the fire input in total (Default: 0 - Infinite) Duration 600 //How long should the button be pressed (Default: 0.1) Type "Crouch" } FireWeapon //Periodically fires weapon { Delay 4 //Time before the first fire input starts (Default: 10) Cooldown 0 Repeats 1 //How many times should bot use the fire input in total (Default: 0 - Infinite) Duration 1 Type "Action" } } } } } // Mission // { // Where spawnbot // Objective Sniper // Engineer,Sniper,Spy,DestroySentries // BeginAtWave 1 // RunForThisManyWaves 1 // DesiredCount 1 // InitialCooldown 10 // CooldownTime 10 // TFBot // { // Template T_TFBot_Sniper // ItemAttributes // { // ItemName "TF_WEAPON_CLUB" // "provide on active" 1 // "move speed bonus" 3 // } // } // } Wave // Wave 1 { WaitWhenDone 65 Checkpoint Yes StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } InitWaveOutput { Target wave_init_gate_relay Action Trigger } WaveSpawn { Where spawnbot_redbot TotalCount 4 MaxActive 2 SpawnCount 1 WaitBeforeStarting 0.5 WaitBetweenSpawns 2 TotalCurrency 0 Support 1 TFBot { Template T_TFBot_Heavy_Sandvich_Thrower } } // WaveSpawn // { // Where spawnbot // TotalCount 4 // MaxActive 1 // SpawnCount 1 // WaitBeforeStarting 0 // WaitBetweenSpawns 10 // TotalCurrency 0 // TFBot // { // Template T_TFAttrBot_Engineer // } // } WaveSpawn // Tank 10000 HP { TotalCount 1 MaxActive 1 SpawnCount 1 WaitBeforeStarting 10 WaitBetweenSpawns 0 TotalCurrency 0 Tank { Name "Tankdozer" StartingPathTrackNode "tankdozer_path_1" Health 10000 Speed 75 Skin 0 ClassIcon tank_sentry SpawnTemplate "TankDozer" OnKilledOutput { Target boss_dead_relay Action Trigger } OnBombDroppedOutput { Target boss_deploy_relay Action Trigger } } } // WaveSpawn // { // Where spawnbot // TotalCount 25 // MaxActive 5 // SpawnCount 5 // WaitBeforeStarting 0 // WaitBetweenSpawns 1 // TotalCurrency 0 // TFBot // { // Template T_TFBot_Trolldier // } // } } }