//Custom robot and other templates for use in missions //This file is rather long so this is brief description what you can expect here //Custom Tanks: // Robot Templates: // Sentry_Sig - Sentry carrier // Bumpercar_Sig - Bumpercar pyro // Dispenser_Sig - Dispenser carrier // Teleporter_Sig - Teleporter carrier, teleports small bots // Teleporter_Giants_Sig - Teleporter carrier, teleports giant bots // Teleporter_All_Sig - Teleporter carrier , teleports all bots // Dispenser_Wall - Wall of dispensers, shoots dispensers // Engineer_Pomson_Sig - Pomson engineers, fetch flag // Engineer_Spell_Bats_Sig - Engineer shooting bats spell // Engineer_Short_Circuit_Barrage_Giant - Engineer short circuit alt fire barrage // Pyro_Burst_Fire_Flare_Giant_Sig - Pyro flaregun burstfire WaveSchedule { PrecacheModel "models/bots/merasmus/merasmussmall_animations.mdl" PointTemplates { Bumpercar_Model { "prop_dynamic" { "model" "models/player/items/taunts/bumpercar/parts/bumpercar.mdl" "skin" "1" } } TeleportTank { OnSpawnOutput //Parent entity is the !activator. Set builder to parent entity { Target "sentry" //targetname of an entity added below Action "setbuilder" Delay 0.00 } obj_teleporter { "targetname" "sentry" //Entity name. Required if the entity is going to be referenced somewhere "origin" "0 0 0" "teamnum" "3" // 2 - Red team, 3 - Blu team "SolidToPlayer" "0" "OnDestroyed" "!parent,sethealth,0,0,-1" } } Sentry { OnSpawnOutput //Parent entity is the !activator. Set builder to parent entity { Target "sentry" //targetname of an entity added below Action "setbuilder" Delay 0.00 } obj_sentrygun { "targetname" "sentry" //Entity name. Required if the entity is going to be referenced somewhere "origin" "0 0 0" "teamnum" "3" // 2 - Red team, 3 - Blu team "SolidToPlayer" "0" "OnDestroyed" "!parent,sethealth,0,0,-1" } } DispenserWall { OnSpawnOutput //Parent entity is the !activator. Set builder to parent entity { Target "buildcounter" //targetname of an entity added below Action "setvalue" Delay 0.00 Param "15" } OnSpawnOutput //Parent entity is the !activator. Set builder to parent entity { Target "sentry" //targetname of an entity added below Action "sethealth" Delay 0.00 Param "300" } // point_teleport // { // "targetname" "parented" // "parentname" "!parent" // } // point_teleport // { // "targetname" "reference" // "parentname" "" // } obj_dispenser { "targetname" "sentry" //Entity name. Required if the entity is going to be referenced somewhere "origin" "0 -60 0" "teamnum" "3" // 2 - Red team, 3 - Blu team "SolidToPlayer" "0" "OnDestroyed" "buildcounter,subtract,1,0,1" "defaultupgrade" "2" } obj_dispenser { "targetname" "sentry" //Entity name. Required if the entity is going to be referenced somewhere "origin" "0 -30 0" "teamnum" "3" // 2 - Red team, 3 - Blu team "SolidToPlayer" "0" "OnDestroyed" "buildcounter,subtract,1,0,1" "defaultupgrade" "2" } obj_dispenser { "targetname" "sentry" //Entity name. Required if the entity is going to be referenced somewhere "origin" "0 0 0" "teamnum" "3" // 2 - Red team, 3 - Blu team "SolidToPlayer" "0" "OnDestroyed" "buildcounter,subtract,1,0,1" "defaultupgrade" "2" } obj_dispenser { "targetname" "sentry" //Entity name. Required if the entity is going to be referenced somewhere "origin" "0 30 0" "teamnum" "3" // 2 - Red team, 3 - Blu team "SolidToPlayer" "0" "OnDestroyed" "buildcounter,subtract,1,0,1" "defaultupgrade" "2" } obj_dispenser { "targetname" "sentry" //Entity name. Required if the entity is going to be referenced somewhere "origin" "0 60 0" "teamnum" "3" // 2 - Red team, 3 - Blu team "SolidToPlayer" "0" "OnDestroyed" "buildcounter,subtract,1,0,1" "defaultupgrade" "2" } obj_dispenser { "targetname" "sentry" //Entity name. Required if the entity is going to be referenced somewhere "origin" "0 -60 55" "teamnum" "3" // 2 - Red team, 3 - Blu team "SolidToPlayer" "0" "OnDestroyed" "buildcounter,subtract,1,0,1" "defaultupgrade" "2" } obj_dispenser { "targetname" "sentry" //Entity name. Required if the entity is going to be referenced somewhere "origin" "0 -30 55" "teamnum" "3" // 2 - Red team, 3 - Blu team "SolidToPlayer" "0" "OnDestroyed" "buildcounter,subtract,1,0,1" "defaultupgrade" "2" } obj_dispenser { "targetname" "sentry" //Entity name. Required if the entity is going to be referenced somewhere "origin" "0 0 55" "teamnum" "3" // 2 - Red team, 3 - Blu team "SolidToPlayer" "0" "OnDestroyed" "buildcounter,subtract,1,0,1" "defaultupgrade" "2" } obj_dispenser { "targetname" "sentry" //Entity name. Required if the entity is going to be referenced somewhere "origin" "0 30 55" "teamnum" "3" // 2 - Red team, 3 - Blu team "SolidToPlayer" "0" "OnDestroyed" "buildcounter,subtract,1,0,1" "defaultupgrade" "2" } obj_dispenser { "targetname" "sentry" //Entity name. Required if the entity is going to be referenced somewhere "origin" "0 60 55" "teamnum" "3" // 2 - Red team, 3 - Blu team "SolidToPlayer" "0" "OnDestroyed" "buildcounter,subtract,1,0,1" "defaultupgrade" "2" } obj_dispenser { "targetname" "sentry" //Entity name. Required if the entity is going to be referenced somewhere "origin" "0 -60 110" "teamnum" "3" // 2 - Red team, 3 - Blu team "SolidToPlayer" "0" "OnDestroyed" "buildcounter,subtract,1,0,1" "defaultupgrade" "2" } obj_dispenser { "targetname" "sentry" //Entity name. Required if the entity is going to be referenced somewhere "origin" "0 -30 110" "teamnum" "3" // 2 - Red team, 3 - Blu team "SolidToPlayer" "0" "OnDestroyed" "buildcounter,subtract,1,0,1" "defaultupgrade" "2" } obj_dispenser { "targetname" "sentry" //Entity name. Required if the entity is going to be referenced somewhere "origin" "0 0 110" "teamnum" "3" // 2 - Red team, 3 - Blu team "SolidToPlayer" "0" "OnDestroyed" "buildcounter,subtract,1,0,1" "defaultupgrade" "2" } obj_dispenser { "targetname" "sentry" //Entity name. Required if the entity is going to be referenced somewhere "origin" "0 30 110" "teamnum" "3" // 2 - Red team, 3 - Blu team "SolidToPlayer" "0" "OnDestroyed" "buildcounter,subtract,1,0,1" "defaultupgrade" "2" } obj_dispenser { "targetname" "sentry" //Entity name. Required if the entity is going to be referenced somewhere "origin" "0 60 110" "teamnum" "3" // 2 - Red team, 3 - Blu team "SolidToPlayer" "0" "OnDestroyed" "buildcounter,subtract,1,0,1" "defaultupgrade" "2" } math_counter { "targetname" "buildcounter" "min" "0" "max" "15" "startvalue" "15" "onhitmin" "!parent,sethealth,-999999,0,-1" "onhitmin" "!parent,sethealth,-999999,1,-1" "onhitmin" "!parent,sethealth,-999999,10,-1" "onhitmin" "!parent,sethealth,-999999,30,-1" "onhitmin" "!parent,sethealth,-999999,60,-1" } } Dispenser { OnSpawnOutput //Parent entity is the !activator. Set builder to parent entity { Target "sentry" //targetname of an entity added below Action "setbuilder" Delay 0.00 } OnSpawnOutput //Parent entity is the !activator. Set builder to parent entity { Target "sentry" //targetname of an entity added below Action "sethealth" Param "400" Delay 0.00 } dispenser_touch_trigger { "targetname" "touch" //Entity name. Required if the entity is going to be referenced somewhere "origin" "0 0 0" "mins" "-280 -280 -280" "maxs" "280 280 280" } dispenser_touch_trigger { "targetname" "touch2" //Entity name. Required if the entity is going to be referenced somewhere "origin" "0 0 0" "mins" "-400 -400 -400" "maxs" "400 400 400" } obj_dispenser { "targetname" "sentry" //Entity name. Required if the entity is going to be referenced somewhere "origin" "0 0 0" "teamnum" "3" // 2 - Red team, 3 - Blu team "SolidToPlayer" "0" "touch_trigger" "touch" "OnDestroyed" "sentry2,kill,,0,-1" "OnDestroyed" "!parent,sethealth,0,0,-1" "defaultupgrade" "2" } mapobj_cart_dispenser { "targetname" "sentry2" //Entity name. Required if the entity is going to be referenced somewhere "origin" "0 0 -1" "teamnum" "3" // 2 - Red team, 3 - Blu team "SolidToPlayer" "0" "touch_trigger" "touch2" "defaultupgrade" "2" } obj_teleporter { "targetname" "tp1" //Entity name. Required if the entity is going to be referenced somewhere "origin" "0 0 0" "teamnum" "2" // 2 - Red team, 3 - Blu team "teleporterType" "0" "defaultupgrade" "2" "matchingTeleporter" "tp2" } obj_teleporter { "targetname" "tp2" //Entity name. Required if the entity is going to be referenced somewhere "origin" "0 0 300" "teamnum" "2" // 2 - Red team, 3 - Blu team "teleporterType" "1" "defaultupgrade" "2" "matchingTeleporter" "tp1" } obj_dispenser { "targetname" "sentry" //Entity name. Required if the entity is going to be referenced somewhere "origin" "0 0 0" "teamnum" "3" // 2 - Red team, 3 - Blu team "SolidToPlayer" "0" "touch_trigger" "touch" "OnDestroyed" "sentry2,kill,,0,-1" "OnDestroyed" "!parent,sethealth,0,0,-1" "defaultupgrade" "2" } } Teleporter_Small { OnSpawnOutput //make teleporter non solid, otherwise the bots might get stuck on it { Target "tp" Action "addoutput" Param "solid 0" Delay 0.05 } OnSpawnOutput //set builder to parent entity { Target "tp" Action "setbuilder" Delay 0.00 } obj_teleporter { //"model" "models/buildables/teleporter_light.mdl" "targetname" "tp" "origin" "0 0 0" "teamnum" "3" //"skin" "1" //"health" "220" "TeleportWhere" "small" "solid" "0" "SolidToPlayer" "0" "OnDestroyed" "!parent,sethealth,0,0,-1" //"DefaultAnim" "running" } } Teleporter_Giants { OnSpawnOutput //make teleporter non solid, otherwise the bots might get stuck on it { Target "tp" Action "addoutput" Param "solid 0" Delay 0.05 } OnSpawnOutput //set builder to parent entity { Target "tp" Action "setbuilder" Delay 0.00 } obj_teleporter { //"model" "models/buildables/teleporter_light.mdl" "targetname" "tp" "origin" "0 0 0" "teamnum" "3" //"skin" "1" //"health" "220" "TeleportWhere" "giants" "solid" "0" "SolidToPlayer" "0" "OnDestroyed" "!parent,sethealth,0,0,-1" //"DefaultAnim" "running" } } Teleporter_All { OnSpawnOutput //make teleporter non solid, otherwise the bots might get stuck on it { Target "tp" Action "addoutput" Param "solid 0" Delay 0.05 } OnSpawnOutput //set builder to parent entity { Target "tp" Action "setbuilder" Delay 0.00 } obj_teleporter { //"model" "models/buildables/teleporter_light.mdl" "targetname" "tp" "origin" "0 0 0" "teamnum" "3" //"skin" "1" //"health" "220" "TeleportWhere" "all" "solid" "0" "SolidToPlayer" "0" "OnDestroyed" "!parent,sethealth,0,0,-1" //"DefaultAnim" "running" } } SentryTank { obj_sentrygun { "targetname" "l" "origin" "100 70 80" "SolidToPlayer" "0" "teamnum" "3" } obj_sentrygun { "targetname" "l" "origin" "-110 70 60" "SolidToPlayer" "0" "teamnum" "3" } obj_sentrygun { "targetname" "l" "origin" "100 -70 80" "SolidToPlayer" "0" "teamnum" "3" } obj_sentrygun { "targetname" "l" "origin" "-110 -70 60" "SolidToPlayer" "0" "teamnum" "3" } } RotatingBlade { OnSpawnOutput { target "rot" action "addoutput" param "avelocity 0 400 0" delay 0.01 } OnSpawnOutput { target "!activator" action "addoutput" param "rendermode 10" delay 0.01 } prop_dynamic { targetname "blade1" parentname "rot" model "models/weapons/c_models/c_claymore/c_claymore.mdl" angles "90 180 0" } prop_dynamic { targetname "blade2" parentname "rot" model "models/weapons/c_models/c_claymore/c_claymore.mdl" angles "90 0 0" } prop_dynamic { targetname "blade3" parentname "rot" model "models/weapons/c_models/c_claymore/c_claymore.mdl" angles "90 90 0" } prop_dynamic { targetname "blade4" parentname "rot" model "models/weapons/c_models/c_claymore/c_claymore.mdl" angles "90 270 0" } func_rotating { targetname "rot" spawnflags 593 fanfriction 333333 maxspeed 400 } } RocketLauncherLauncher { OnSpawnOutput { target "rocketl" action "$SetOwner" param "!activator" delay "0.00" } OnSpawnOutput { target "rocketl" action "FireUser1" param "" delay "0.01" } tf_point_weapon_mimic { targetname "rocketl" damage 77 speedmin 1100 speedmax 1100 splashradius 147 onuser1 "!self,fireonce,,0,-1" onuser1 "!self,$PlaySound,MVM.GiantSoldierRocketShoot,0,-1" onuser1 "!self,fireuser1,,0.8,-1" } } BowLauncher { OnSpawnOutput { target "rocketl" action "$SetOwner" param "!activator" delay "0.01" } OnSpawnOutput { target "rocketl" action "FireUser1" param "" delay "0.1" } tf_point_weapon_mimic { targetname "rocketl" damage 70 speedmin 1800 speedmax 1800 splashradius 147 WeaponType 2 onuser1 "!self,fireonce,,0,-1" onuser1 "!self,$PlaySound,Weapon_CompoundBow.Singlet,0,-1" onuser1 "!self,fireuser1,,1.1,-1" } } RocketLauncherLauncherMulti { OnSpawnOutput { target "rocketl" action "$SetOwner" param "!activator" delay "0.01" } OnSpawnOutput { target "rocketl" action "FireUser1" param "" delay "0.1" } tf_point_weapon_mimic { targetname "rocketl" damage 70 speedmin 1100 speedmax 1100 splashradius 147 spreadangle 18 onuser1 "!self,firemultiple,3,0,-1" onuser1 "!self,$PlaySound,MVM.GiantSoldierRocketShoot,0,-1" onuser1 "!self,fireuser1,,1,-1" } } MonoculusBlue { OnSpawnOutput { target "eyeboss" action "$SetOwner" param "!activator" delay "0.01" } eyeball_boss { targetname "eyeboss" teamnum 3 "origin" "0 0 250" } } SkeletonLauncher { KeepAlive 1 OnSpawnOutput { target "pos" action "$InheritOwner" param "!activator" delay "0.01" } point_teleport { targetname "pos" } OnParentKilledOutput { target "SkeletonLauncherSkeleton" action "ForceSpawnAtEntityOrigin" param "pos" delay "0" } OnParentKilledOutput { target "pos" action "kill" param "" delay "0.1" } } SkeletonLauncherSkeleton { KeepAlive 1 OnSpawnOutput { target "zombie" action "$InheritOwner" param "!activator" delay "0.01" } OnSpawnOutput { target "zombie" action "skin" param "1" delay "0.01" } OnSpawnOutput { target "zombie" action "kill" param "" delay "10" } tf_zombie { targetname "zombie" teamnum 3 } } SkeletonLauncherRed { KeepAlive 1 OnSpawnOutput { target "pos" action "$InheritOwner" param "!activator" delay "0.01" } point_teleport { targetname "pos" } OnParentKilledOutput { target "SkeletonLauncherSkeletonRed" action "ForceSpawnAtEntityOrigin" param "pos" delay "0" } OnParentKilledOutput { target "pos" action "kill" param "" delay "0.1" } } SkeletonLauncherSkeletonRed { KeepAlive 1 OnSpawnOutput { target "zombie" action "$InheritOwner" param "!activator" delay "0.01" } OnSpawnOutput { target "zombie" action "skin" param "0" delay "0.01" } OnSpawnOutput { target "zombie" action "kill" param "" delay "7" } tf_zombie { targetname "zombie" teamnum 2 } } } Templates { Sentry_Sig { Class Soldier Name "Sentry Carrier" ClassIcon sentry_gun Scale 1 SpawnTemplate //Spawn custom player template { Name "Sentry" Bone "bip_head" } CharacterAttributes { "no_attack" 1 "hand scale" 0 "damage bonus" 0 "fire rate bonus" 999 } } Bumpercar_Sig { Class Pyro ClassIcon bumpercar AddCond { Index 82 } FireWeapon //Periodically fires weapon { Delay 5 //Time before the first fire input starts (Default: 10) Cooldown 6 //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 "Primary" } SpawnTemplate Bumpercar_Model Skill Expert Scale 1.25 Health 350 } Dispenser_Sig { Class Medic Name "Dispenser Carrier" ClassIcon dispenser Scale 1 Health 380 SpawnTemplate //Spawn custom player template { Name "Dispenser" Bone "bip_head" } CharacterAttributes { "head scale" 0.85 "no_attack" 1 "hand scale" 0 "damage bonus" 0 "fire rate bonus" 999 } } Teleporter_Sig { Class Scout Name "Teleporter Carrier" ClassIcon teleporter Scale 1 Attributes IgnoreFlag BehaviorModifiers push WeaponRestrictions PrimaryOnly Health 333 SpawnTemplate //Spawn custom player template { Name "Teleporter_Small" Bone "bip_head" } CharacterAttributes { "head scale" 0.85 "move speed bonus" 0.41 "no_attack" 1 "hand scale" 0 "damage bonus" 0 "fire rate bonus" 999 } } Dispenser_Wall { Class Demoman Name "Dispenser Wall" ClassIcon dispenser_giant Health 1 Scale 0.01 Attributes MiniBoss SpawnTemplate DispenserWall Item "The Loose Cannon" Attributes AlwaysCrit ItemAttributes { ItemName "The Loose Cannon" "grenade launcher mortar mode" 0 "faster reload rate" 1.75 "fire rate bonus" 1.75 "clip size penalty" 0.5 "Projectile speed increased" 0.8 "projectile spread angle penalty" 5 "damage bonus" 7 "damage causes airblast" 1 "blast radius increased" 1.28 "custom projectile model" "models/weapons/c_models/c_rocketlauncher/c_rocketlauncher.mdl" } CharacterAttributes { "hand scale" 0 "dmg taken increased" 0.0003 "move speed bonus" 0.5 "damage force reduction" 0 "airblast vulnerability multiplier" 0.0 "airblast vertical vulnerability multiplier" 0.0 } } Engineer_Pomson_Sig { Class Engineer Action FetchFlag Item "The Pomson 6000" ClassIcon engineer_pomson } Engineer_Spell_Bats_Sig { Class Engineer Action FetchFlag Skill Hard ClassIcon caster Item "TF_WEAPON_SPELLBOOK" ItemAttributes { ItemName "TF_WEAPON_SPELLBOOK" "is_passive_weapon" 1 } Spell //Gives specified spell to bots. { Delay 1 //Time before the first voice command starts (Default: 10) Cooldown 7 //Time between each voice command (Default: 10) Repeats 0 //How many times should the task be executed 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) Charges 3 //How many spell charges to give every time the spell is given (Default: 1) Type "Ball O' Bats" } } Engineer_Spell_Orb_Giant_Sig { Class Engineer Action FetchFlag Skill Hard ClassIcon caster_giant Health 3000 Attributes MiniBoss Tag bot_giant Item "TF_WEAPON_SPELLBOOK" ItemAttributes { ItemName "TF_WEAPON_SPELLBOOK" "is_passive_weapon" 1 "fire rate bonus" 1 } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.1 "airblast vulnerability multiplier" 0.1 "airblast vertical vulnerability multiplier" 0.1 } Spell //Gives specified spell to bots. { Delay 2 //Time before the first voice command starts (Default: 10) Cooldown 5.5 //Time between each voice command (Default: 10) Repeats 0 //How many times should the task be executed 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) Charges 2 //How many spell charges to give every time the spell is given (Default: 1) Limit 2 //How many spell charges the bot can store (Default: Same as charges given) Type "Fireball" } Spell //Gives specified spell to bots. { Delay 10 //Time before the first voice command starts (Default: 10) Cooldown 10 //Time between each voice command (Default: 10) Repeats 0 //How many times should the task be executed 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) Charges 3 //How many spell charges to give every time the spell is given (Default: 1) Limit 1 //How many spell charges the bot can store (Default: Same as charges given) Type "Tesla Bolt" } } Engineer_Caster_Boss_Sig { Class Engineer Action FetchFlag Skill Hard ClassIcon caster_giant Health 30000 Attributes MiniBoss Tag bot_giant Item "TF_WEAPON_SPELLBOOK" ItemAttributes { ItemName "TF_WEAPON_SPELLBOOK" "is_passive_weapon" 1 "fire rate bonus" 1 } CharacterAttributes { "move speed bonus" 0.38 "damage force reduction" 0 "airblast vulnerability multiplier" 0 "airblast vertical vulnerability multiplier" 0 } Spell //Gives specified spell to bots. { Delay 1 //Time before the first voice command starts (Default: 10) Cooldown 10 //Time between each voice command (Default: 10) Type "Fireball" //"Fireball" //"Ball O' Bats" //"Healing Aura" //"Pumpkin MIRV" //"Superjump" //"Invisibility" //"Teleport", //"Tesla Bolt" //"Minify" //"Summon Monoculus" //"Meteor Shower" //"Summon Skeletons" //"Common" //"Rare" //"All" } Spell //Gives specified spell to bots. { Delay 2.5 //Time before the first voice command starts (Default: 10) Cooldown 10 //Time between each voice command (Default: 10) Type "Ball O' Bats" } Spell //Gives specified spell to bots. { Delay 4 //Time before the first voice command starts (Default: 10) Cooldown 10 //Time between each voice command (Default: 10) Type "Fireball" } Spell //Gives specified spell to bots. { Delay 5.5 //Time before the first voice command starts (Default: 10) Cooldown 10 //Time between each voice command (Default: 10) Type "Tesla Bolt" } Spell //Gives specified spell to bots. { Delay 7 //Time before the first voice command starts (Default: 10) Cooldown 10 //Time between each voice command (Default: 10) Type "Ball O' Bats" } Spell //Gives specified spell to bots. { Delay 8.5 //Time before the first voice command starts (Default: 10) Cooldown 10 //Time between each voice command (Default: 10) Type "Fireball" } Spell //Gives specified spell to bots. { Delay 10 //Time before the first voice command starts (Default: 10) Cooldown 10 //Time between each voice command (Default: 10) Type "Ball O' Bats" } Spell //Gives specified spell to bots. { Delay 13.1 //Time before the first voice command starts (Default: 10) Cooldown 48.3 //Time between each voice command (Default: 10) Type "Summon Monoculus" } Spell //Gives specified spell to bots. { Delay 26.3 //Time before the first voice command starts (Default: 10) Cooldown 48.3 //Time between each voice command (Default: 10) Type "Meteor Shower" } Spell //Gives specified spell to bots. { Delay 39.2 //Time before the first voice command starts (Default: 10) Cooldown 48.3 //Time between each voice command (Default: 10) Type "Summon Skeletons" } } Spy_Revolver_Sig { Class Spy Action FetchFlag Skill Expert ClassIcon spy_enforcer_nys Item "The Enforcer" WeaponRestrictions PrimaryOnly ItemAttributes { ItemName "The Enforcer" "fire rate bonus" 1.5 "damage bonus" 1.2 } } Heavy_Shotgun_Burst_Sig { Name "Burst Shotgun Heavy" Class Heavyweapons ClassIcon heavy_shotgun_burst Skill Normal Health 300 MaxVisionRange 1000 WeaponRestrictions SecondaryOnly Item "Panic Attack Shotgun" ItemAttributes { ItemName "Panic Attack Shotgun" "fire rate bonus" 0.3 "bullets per shot bonus" 1 "damage penalty" 1 "faster reload rate" 0.67 "clip size bonus" 0.67 "auto fires when full" 1 "auto fires full clip" 1 } } Pyro_Bat_Spell_Giant { Name "Giant Bat Spell Pyro" Class Pyro ClassIcon spellbook_giant Skill Expert Health 3300 Attributes MiniBoss Tag bot_giant Item "TF_WEAPON_SPELLBOOK" ItemAttributes { ItemName "TF_WEAPON_SPELLBOOK" "is_passive_weapon" 1 "fire rate bonus" 1 } Spell //Gives specified spell to bots. Requires the bot to be given "TF_WEAPON_SPELLBOOK", with "is_passive_weapon" set to 1 { Delay 2.5 //Time before the first voice command starts (Default: 10) Cooldown 1.5 //Time between each voice command (Default: 10) Type "Ball O' Bats" } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.25 "airblast vulnerability multiplier" 0.25 "override footstep sound set" 6 } } Pyro_Fireball_Spell_Giant { Name "Giant Fireball Spell Pyro" Class Pyro ClassIcon spellbook_giant Skill Expert Health 3300 Attributes MiniBoss Tag bot_giant Item "TF_WEAPON_SPELLBOOK" ItemAttributes { ItemName "TF_WEAPON_SPELLBOOK" "is_passive_weapon" 1 "fire rate bonus" 1 } Spell //Gives specified spell to bots. Requires the bot to be given "TF_WEAPON_SPELLBOOK", with "is_passive_weapon" set to 1 { Delay 2.5 //Time before the first voice command starts (Default: 10) Cooldown 1.5 //Time between each voice command (Default: 10) Type "Fireball" } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.25 "airblast vulnerability multiplier" 0.25 "override footstep sound set" 6 } } Engineer_Short_Circuit_Barrage_Giant { Name "Short Circuit Barrage" Class Engineer Health 3300 Skill Normal WeaponRestrictions SecondaryOnly Attributes MiniBoss Item "The Short Circuit" Action FetchFlag ClassIcon engineer_shortcircuit_lite_giant FireWeapon //Periodically fires weapon { Delay 0 //Time before the first fire input starts (Default: 10) Cooldown 4.8 //Time between each fire input (Default: 10) Repeats 0 //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 1.1 //How long should the button be pressed (Default: 0.1) Type "Secondary" // Type of fire input, Possible values: //IfHealthBelow 100 //When set, the task activates only when the bot health is below specified value } ItemAttributes { ItemName "The Short Circuit" "fire rate bonus" 0.17 "dmg penalty vs players" 0.89 "dmg bonus vs buildings" 2.9 } CharacterAttributes { "airblast vulnerability multiplier" 0.6 "damage force reduction" 0.6 "move speed bonus" 0.5 } } Pyro_Burst_Fire_Flare_Giant_Sig { Class Pyro Name "Giant Burst Fire Flare Pyro" ClassIcon pyro_flare_giant Health 3000 Attributes SuppressFire FireWeapon //Periodically changes bot attributes, defined in EventChangeAttributes { Delay 1 //Time before the first bot attribute change (Default: 10) Cooldown 6 //Time between each bot attribute change (Default: 10) Type "Secondary" Duration 2.2 //How long should the button be pressed (Default: 0.1) } Attributes MiniBoss Item "The detonator" Item "Old Guadalajara" Skill Expert WeaponRestrictions SecondaryOnly ItemAttributes { ItemName "The detonator" "fire rate bonus" 0.055 } CharacterAttributes { "no_attack" 0 "move speed bonus" 0.5 "damage force reduction" 0.6 "airblast vulnerability multiplier" 0.6 "override footstep sound set" 6 } } Demoknight_Giant_Rotating_Blade { Name "Giant Rotating Blade Demo" Class Demoman ClassIcon demoknight_rotate Skill Expert Health 3300 Item "The Rescue Ranger" Attributes MiniBoss WeaponRestrictions PrimaryOnly Tag bot_giant MaxVisionRange 1000 Item "The Hurt Locher" Item "Power Up Canteen (MvM)" Item "The Chargin' Targe" AimLeadProjectileSpeed 1 AimAt Head ShootTemplate { Name RotatingBlade //Name of the template AttachToProjectile 1 //If set, the template is spawned as a child of the projectile being fired. Incompatible with overrideshoot } ItemAttributes { ItemName "The Rescue Ranger" "projectile acceleration" -350 "projectile speed increased" 0.33 "mult projectile scale" 0.01 "projectile lifetime" 4 "projectile penetration" 1 "damage bonus" 2 "fire rate bonus" 2 "reload time decreased" 0.01 "no damage falloff" 1 "custom item model" "models/weapons/c_models/c_claymore/c_claymore.mdl" "projectile trail particle" "~unusual_magicalorb_parent" "custom kill icon" "sword" "grenade bounce speed" 1 "custom projectile size" 3000 } ItemAttributes { ItemName "Power Up Canteen (MvM)" // The item used as a base "custom item model" "models/weapons/c_models/c_claymore/c_claymore.mdl" "attachment offset" "4 2 0" "attachment name" "effect_hand_R" "attachment angles" "0 270 90" "attachment scale" "1" } ItemAttributes { ItemName "The Hurt Locher" // The item used as a base "custom item model" "models/weapons/c_models/c_claymore/c_claymore.mdl" "attachment offset" "4 2 0" "attachment name" "effect_hand_R" "attachment angles" "0 270 0" "attachment scale" "1" } ItemAttributes { ItemName "The Chargin' Targe" // The item used as a base "charge recharge rate increased" 0.01 "charge time increased" -5 "custom item model" "models/weapons/c_models/c_claymore/c_claymore.mdl" "attachment offset" "4 2 0" "attachment name" "effect_hand_R" "attachment angles" "0 270 -90" "attachment scale" "1" } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.25 "airblast vulnerability multiplier" 0.25 "override footstep sound set" 4 "critboost on kill" 5 "hand scale" 0.66 } } Demo_Big_Sword_Giant_Sig { Name "Giant Executioner Demo" Class Demoman ClassIcon demoknight_skullcutter_lite_giant Health 3300 Skill Normal WeaponRestrictions MeleeOnly Item "The King of Scotland Cape" Item "The Scotsman's Skullcutter" Item "Ali Baba's Wee Booties" Attributes MiniBoss Tag bot_giant ItemAttributes { ItemName "The Scotsman's Skullcutter" "killstreak tier" 2 "killstreak idleeffect" 1 "hand scale" 3.3 "melee range multiplier" 2.9 "dmg max health" 0.47 "damage causes airblast" 1 "melee cleave attack" 1 "mult smack time" 5.8 "gesture speed increase" 0.36 "fire rate bonus" 3.1 "damage bonus" 1 "dmg bonus vs buildings" 3 } CharacterAttributes { "move speed bonus" 0.6 "damage force reduction" 0.25 "airblast vulnerability multiplier" 0.25 "override footstep sound set" 4 } } Boss_Merasmus_Stationary { Name "MERASMUS!" Class Pyro ClassIcon boss_merasmus WeaponRestrictions PrimaryOnly Scale 1.9 UseHumanModel 1 UseCustomModel "models/bots/merasmus/merasmussmall.mdl" Skill Expert Health 47666 Attributes MiniBoss Attributes UseBossHealthBar Attributes AlwaysFireWeapon UseMeleeThreatPrioritization 1 Tag bot_giant Tag bot_boss PainSound "nosound.wav" StripItem "zombie pyro" NoIdleSound 1 ItemAttributes { ItemName "TF_WEAPON_FIREAXE" "is_passive_weapon" 1 "damage bonus" 1.2 "damage causes airblast" 1 "is invisible" 1 } CharacterAttributes { "rage giving scale" 0.12 "move speed penalty" 0.3666 "increased jump height" 1.2 "damage force reduction" 0 "airblast vulnerability multiplier" 0 "stomp player force" 500 "stomp player damage" 75 "stomp player time" 0.5 "deploy time increased" 2.2 "stomp building damage" 100 "mult debuff duration" 0.5 } WeaponResist { "TF_WEAPON_MINIGUN" 0.9 } ChangeAttributes //Periodically changes bot attributes, defined in EventChangeAttributes { Delay 0 //Time before the first bot attribute change (Default: 10) Repeats 1 //How many times should bot change attributes in total (Default: 0 - Infinite) Name "Stage1" // Name of the bot attributes listed in EventChangeAttributes } FireInput //Periodically changes bot attributes, defined in EventChangeAttributes { Target "tf_gamerules" Action "PlayVO" Param "Halloween.MerasmusControlPoint" Delay 0 Repeats 1 IfHealthBelow 34000 } FireInput //Periodically changes bot attributes, defined in EventChangeAttributes { Target "MonoculusBlue" Action "ForceSpawnAtEntityOrigin" Param "!activator" Delay 9 Repeats 1 IfHealthBelow 34000 } Sequence //Periodically changes bot attributes, defined in EventChangeAttributes { Name bomb_attack Delay 0 Repeats 1 IfHealthBelow 34000 } Sequence //Periodically changes bot attributes, defined in EventChangeAttributes { Name "Run_MELEE" Delay 6 Repeats 1 IfHealthBelow 34000 } ChangeAttributes //Periodically changes bot attributes, defined in EventChangeAttributes { Delay 3 //Time before the first bot attribute change (Default: 10) Repeats 1 //How many times should bot change attributes in total (Default: 0 - Infinite) IfHealthBelow 34000 //When set, the task activates only when the bot health is below specified value Name "Stage2" } ChangeAttributes //Periodically changes bot attributes, defined in EventChangeAttributes { Delay 6 //Time before the first bot attribute change (Default: 10) Repeats 1 //How many times should bot change attributes in total (Default: 0 - Infinite) IfHealthBelow 34000 //When set, the task activates only when the bot health is below specified value Name "Stage3" // Name of the bot attributes listed in EventChangeAttributes } FireInput //Periodically changes bot attributes, defined in EventChangeAttributes { Target "tf_gamerules" Action "PlayVO" Param "Halloween.MerasmusControlPoint" Delay 0 Repeats 1 IfHealthBelow 17000 } Sequence //Periodically changes bot attributes, defined in EventChangeAttributes { Name bomb_attack Delay 0 Repeats 1 IfHealthBelow 17000 } Sequence //Periodically changes bot attributes, defined in EventChangeAttributes { Name "Run_MELEE" Delay 6 Repeats 1 IfHealthBelow 17000 } FireInput //Periodically changes bot attributes, defined in EventChangeAttributes { Target "MonoculusBlue" Action "ForceSpawnAtEntityOrigin" Param "!activator" Delay 9 Repeats 1 IfHealthBelow 17000 } ChangeAttributes //Periodically changes bot attributes, defined in EventChangeAttributes { Delay 3 //Time before the first bot attribute change (Default: 10) Repeats 1 //How many times should bot change attributes in total (Default: 0 - Infinite) IfHealthBelow 17000 //When set, the task activates only when the bot health is below specified value Name "Stage2" // Name of the bot attributes listed in EventChangeAttributes } ChangeAttributes //Periodically changes bot attributes, defined in EventChangeAttributes { Delay 6 //Time before the first bot attribute change (Default: 10) Repeats 1 //How many times should bot change attributes in total (Default: 0 - Infinite) IfHealthBelow 17000 //When set, the task activates only when the bot health is below specified value Name "Stage4" // Name of the bot attributes listed in EventChangeAttributes } EventChangeAttributes { Stage1 { Item "The Loose Cannon" Item "The Flare Gun" WeaponSwitch { Delay 7 Cooldown 14 Repeats 0 Type "Secondary" } WeaponSwitch { Delay 0 Cooldown 14 Repeats 0 Type "Primary" } ItemAttributes { ItemName "The Loose Cannon" "grenade launcher mortar mode" 0 "mod max primary clip override" -1 "dmg penalty vs players" 2 "is invisible" 1 "fire rate bonus" 1.5 } ItemAttributes { ItemName "The Flare Gun" "fire rate bonus" 0.28 "override projectile type" 2 "damage bonus" 2.1 "projectile speed increased" 0.5 "mod projectile heat seek power" 70 "custom projectile model" "models/props_halloween/eyeball_projectile.mdl" "is invisible" 1 } } Stage2 { Item "The Loose Cannon" WeaponSwitch { Delay 0 //Time before the first weapon switch starts (Default: 10) Cooldown 14 //Time between each weapon switch (Default: 10) Repeats 0 //How many times should bot switch weapons 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) Type "Primary" // Weapon slot, possible values: } ItemAttributes { ItemName "The Loose Cannon" "grenade launcher mortar mode" 0 "mod max primary clip override" -1 "dmg penalty vs players" 1.9 "fire rate bonus" 0.03 "projectile spread angle penalty" 180 "is invisible" 1 } } Stage3 { Item "The Loose Cannon" Item "The Flare Gun" WeaponSwitch { Delay 7 //Time before the first weapon switch starts (Default: 10) Cooldown 14 //Time between each weapon switch (Default: 10) Repeats 0 //How many times should bot switch weapons 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) Type "Secondary" // Weapon slot, possible values: } WeaponSwitch { Delay 0 //Time before the first weapon switch starts (Default: 10) Cooldown 14 //Time between each weapon switch (Default: 10) Repeats 0 //How many times should bot switch weapons 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) Type "Primary" // Weapon slot, possible values: } ItemAttributes { ItemName "The Loose Cannon" "grenade launcher mortar mode" 0 "mod max primary clip override" -1 "dmg penalty vs players" 1.9 "fire rate bonus" 1.1 "projectile spread angle penalty" 6 "is invisible" 1 } ItemAttributes { ItemName "The Flare Gun" "fire rate bonus" 1.0 "lunchbox adds minicrits" 2 "damage bonus" 4.7 "projectile speed increased" 0.5 "mod projectile heat seek power" 50 "custom projectile model" "models/props_halloween/eyeball_projectile.mdl" "is invisible" 1 "projectile trail particle" "~spell_fireball_small_blue" } } Stage4 { Item "The Loose Cannon" Item "The Flare Gun" WeaponSwitch { Delay 7 //Time before the first weapon switch starts (Default: 10) Cooldown 14 //Time between each weapon switch (Default: 10) Repeats 0 //How many times should bot switch weapons 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) Type "Secondary" // Weapon slot, possible values: } WeaponSwitch { Delay 0 //Time before the first weapon switch starts (Default: 10) Cooldown 14 //Time between each weapon switch (Default: 10) Repeats 0 //How many times should bot switch weapons 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) Type "Primary" // Weapon slot, possible values: } ItemAttributes { ItemName "The Loose Cannon" "grenade launcher mortar mode" 0 "mod max primary clip override" -1 "dmg penalty vs players" 1.7 "fire rate bonus" 0.7 "projectile spread angle penalty" 12 "is invisible" 1 } HomingRockets { TurnPower 7 RocketSpeed 0.32 } ShootTemplate //Shoot defined point template. Template is spawned at bot position in looking direction, forward velocity being applied to spawned entities { Name RocketLauncherLauncherMulti //Name of the template AttachToProjectile 1 //If set, the template is spawned as a child of the projectile being fired. Incompatible with overrideshoot ItemName "The Flare Gun" //Can be specified to limit to a specific weapon } ItemAttributes { ItemName "The Flare Gun" "fire rate bonus" 1.0 "override projectile type" 2 "damage bonus" 2 "projectile speed increased" 0.47 "projectile spread angle penalty" 20 "custom projectile model" "models/weapons/c_models/c_rocketlauncher/c_rocketlauncher.mdl" "projectile trail particle" "~unusual_magicalorb_parent" "is invisible" 1 } } } } Sniper_Skeleton_Thrower_Giant { Class Sniper Name "Giant Skull Launcher" ClassIcon dead_blu_lite_giant Health 3400 Skill Expert WeaponRestrictions PrimaryOnly Attributes MiniBoss Attributes HoldFireUntilFullReload Item "TF_WEAPON_ROCKETLAUNCHER" UseCustomModel "models/bots/skeleton_sniper/skeleton_sniper.mdl" Skin 1 UseHumanAnimations 1 ItemAttributes { ItemName "TF_WEAPON_ROCKETLAUNCHER" "faster reload rate" 0.01 "fire rate bonus" 3.2 "damage bonus" 1.5 "dmg penalty vs buildings" 1.5 "custom projectile model" "models/props_mvm/mvm_human_skull.mdl" "projectile trail particle" "drg_manmelter_projectile" "mult projectile scale" 2 "custom projectile size" 6 "projectile speed increased" 0.8 } ShootTemplate //Shoot defined point template. Template is spawned at bot position in looking direction, forward velocity being applied to spawned entities { Name SkeletonLauncher //Name of the template AttachToProjectile 1 //If set, the template is spawned as a child of the projectile being fired. Incompatible with overrideshoot } CharacterAttributes { "move speed bonus" 0.45 "damage force reduction" 0.4 "airblast vulnerability multiplier" 0.4 "override footstep sound set" 4 } } Engineer_Rescue_Ranger_Sig { Class Engineer Name "Rescue Ranger Engineer" Action FetchFlag ClassIcon engineer_ranger_nys Item "The Rescue Ranger" AimLeadProjectileSpeed 1 } Engineer_Rescue_Ranger_Cluster_Sig { Class Engineer Name "Rescue Ranger Cluster" Action FetchFlag ClassIcon engineer_ranger_nys Item "The Rescue Ranger" Attributes HoldFireUntilFullReload ItemAttributes { ItemName "The Rescue Ranger" "fire rate bonus" 0.01 "clip size bonus" 5 "reload time decreased" 0.2 } } Soldier_Rocket_Launcher_Launcher_Giant_Sig { Name "Giant Rocket Launcher Launcher Soldier" Class Soldier ClassIcon soldier_rocketrain_heat Health 4200 Skill Expert WeaponRestrictions PrimaryOnly Attributes MiniBoss Tag bot_giant Item "warbird_rocketlauncher_warhawk" HomingRockets { TurnPower 18 RocketSpeed 0.28 } ItemAttributes { ItemName "warbird_rocketlauncher_warhawk" "projectile speed decreased" "0.3" "fire rate bonus" 2.4 "reload time increased" 0.01 "custom projectile model" "models/weapons/c_models/c_rocketlauncher/c_rocketlauncher.mdl" "hand scale" 1.4 "damage bonus" 1 "Blast radius decreased" 0.2 "projectile trail particle" "~unusual_magicalorb_parent" //"mod projectile heat seek power" 45 } ShootTemplate //Shoot defined point template. Template is spawned at bot position in looking direction, forward velocity being applied to spawned entities { Name RocketLauncherLauncher //Name of the template AttachToProjectile 1 //If set, the template is spawned as a child of the projectile being fired. Incompatible with overrideshoot ItemName "warbird_rocketlauncher_warhawk" //Can be specified to limit to a specific weapon } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.2 "airblast vulnerability multiplier" 0.2 "override footstep sound set" 3 } } Engineer_Rescue_Ranger_Giant_Sig { Name "Giant Rescue Ranger Engineer" Class Engineer Action FetchFlag Skill Expert ClassIcon engineer_ranger_nys_giant Health 3000 Attributes MiniBoss Tag bot_giant Item "The Rescue Ranger" AimLeadProjectileSpeed 1 Attributes HoldFireUntilFullReload ItemAttributes { ItemName "The Rescue Ranger" "reload time decreased" 0.25 "fire rate bonus" 0.8 "clip size bonus" 2 } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.1 "airblast vulnerability multiplier" 0.1 "airblast vertical vulnerability multiplier" 0.1 "override footstep sound set" 3 } } Engineer_Dispenser_Teleporter { Name "Support Engineer" Class Engineer Skill Expert TeleportWhere spawnbot Health 350 Attributes TeleportToHint ExtAttr BuildDispenserAsSentryGun CharacterAttributes { "engy dispenser radius increased" 6 "mult dispenser rate" 2 } } } }