tf_bot

From Valve Developer Community
Revision as of 06:00, 16 June 2021 by Amicdict (talk | contribs) (Added some bot convars/commands and skill value header.)
Jump to navigation Jump to search

Team Fortress 2 tf_bot is a point entity available in Team Fortress 2 Team Fortress 2.

C++ In code, it is represented by theCTFBotclass, defined in thetf_bot.cppfile.

Entity description

A NextBot entity for TF2 that acts as a player. They are used in the Training and Mann Vs. Machine gamemodes. This entity can be created through `tf_bot_add`, which when used will randomly select a bot name out of a hardcoded list of bot names.

Note.pngNote:This entity cannot use Teleporters and Dispensers.
Icon-Bug.pngBug:Creating the entity through `ent_create` will crash the game.  [todo tested in ?]
Icon-Bug.pngBug:This entity will not move in Capture The Flag (and by proxy MvM maps) if there is no flag for the entity's team.  [todo tested in ?]

Skill

TFBots behave based on the skill value (or difficulty) they have, which can be set through `tf_bot_difficulty` or with `tf_bot_add`. Skills are defined in game as follows:

  • Easy (0)
  • Normal (1)
  • Hard (2)
  • Expert (3)
Todo: Add chart of behaviors based on skill value.

Bot Names

The following bot names are what the game uses to randomly set a bot name when creating a bot.

  • Chucklenuts
  • CryBaby
  • WITCH
  • ThatGuy
  • Still Alive
  • Hat-Wearing MAN
  • Me
  • Numnutz
  • H@XX0RZ
  • The G-Man
  • Chell
  • The Combine
  • Totally Not A Bot
  • Pow!
  • Zepheniah Mann
  • THEM
  • LOS LOS LOS
  • 10001011101
  • DeadHead
  • ZAWMBEEZ
  • MindlessElectrons
  • TAAAAANK!
  • The Freeman
  • Black Mesa
  • Soulless
  • CEDA
  • BeepBeepBoop
  • NotMe
  • CreditToTeam
  • BoomerBile
  • Someone Else
  • Mann Co.
  • Dog
  • Kaboom!
  • AmNot
  • 0xDEADBEEF
  • HI THERE
  • SomeDude
  • GLaDOS
  • Hostage
  • Headful of Eyeballs
  • CrySomeMore
  • Aperture Science Prototype XR7
  • Humans Are Weak
  • AimBot
  • C++
  • GutsAndGlory!
  • Nobody
  • Saxton Hale
  • RageQuit
  • Screamin' Eagles
  • Ze Ubermensch
  • Maggot
  • CRITRAWKETS
  • Herr Doktor
  • Gentlemanne of Leisure
  • Companion Cube
  • Target Practice
  • One-Man Cheeseburger Apocalypse
  • Crowbar
  • Delicious Cake
  • IvanTheSpaceBiker
  • I LIVE!
  • Cannon Fodder
  • trigger_hurt
  • Nom Nom Nom
  • Divide by Zero
  • GENTLE MANNE of LEISURE
  • MoreGun
  • Tiny Baby Man
  • Big Mean Muther Hubbard
  • Force of Nature
  • Crazed Gunman
  • Grim Bloody Fable
  • Poopy Joe
  • A Professional With Standards
  • Freakin' Unbelievable
  • SMELLY UNFORTUNATE
  • The Administrator
  • Mentlegen
  • Archimedes!
  • Ribs Grow Back
  • It's Filthy in There!
  • Mega Baboon
  • Kill Me
  • Glorified Toaster with Legs

Unused Bot Names

The following bot names were found in a leaked source code version of TF2, containing bot names that were never put into production for unknown reasons.

  • John Spartan
  • Leeloo Dallas Multipass
  • Sho'nuff
  • Bruce Leroy
  • CAN YOUUUUUUUUU DIG IT?!?!?!?!
  • Big Gulp, Huh?
  • Stupid Hot Dog
  • I'm your huckleberry
  • The Crocketeer

ConVars/ConCommands

Cvar/Command Parameters or default value Descriptor Effect
tf_bot_add [count|name] [class] [team] [skill] ["noquota"] strings (processed without order) Creates a TFBot with specified parameters. This entity will borrow from `tf_bot_difficulty` if skill is omitted..
tf_bot_kick [name|"red"|"blue"|"all"] string Kicks TFBots based on name and team, or all of them.
tf_bot_kill [name|"red"|"blue"|"all"] string Kills TFBots based on name and team, or all of them.
tf_bot_warp_team_to_me Teleports all ally bots to !activator.
tf_bot_difficulty 1 integer Sets default skill value.
tf_bot_mvm_show_engineer_hint_region Show the nav areas MvM engineer bots will consider when selecting sentry and teleporter hints.
Note.pngNote:Is a cheat command.

Keyvalues

TeamNum:
Initial Team (TeamNum, or teamnumber Counter-Strike: Global Offensive) <choices>
Which Team the entity belongs / is assigned to on spawn
  • 0: None
  • 1: Spectator, Spectator/Halloween Souls Team Fortress 2
  • 2: RED Team Fortress 2, Survivors Left 4 Dead seriesLeft 4 Dead series, Terrorists Counter-Strike: Source Counter-Strike: Global Offensive, Marines (Team-based game modes only) Black Mesa
  • 3: BLU/Robots Team Fortress 2, Infected Left 4 Dead seriesLeft 4 Dead series, Counter-Terrorists Counter-Strike: Source Counter-Strike: Global Offensive, Scientists (Team-based game modes only) Black Mesa
  • 5: Halloween Bosses (only in Team Fortress 2) !FGD
Note.pngNote:Content moved to Rendering and studio model related KIO/Keyvalues for continuation of page history


Inputs

IgnitePlayer <integerRedirectInput/integer>
Team Fortress 2 Ignites the entity with a specified lifetime and causes a reaction (sound and speech).
ExtinguishPlayer
Team Fortress 2 Extinguishes the entity.
BleedPlayer <integerRedirectInput/integer>
Team Fortress 2 Bleeds the entity with a specified length.
RollRareSpell
Team Fortress 2 Forces the entity to roll a rare spell. Only available if spells are enabled on the map.
SetCustomModel <stringRedirectInput/string>
Team Fortress 2 Set a custom entity model without animations.
SetCustomModelOffset <vectorRedirectInput/Vector>
Team Fortress 2 Set a custom model position on the entity.
SetCustomModelRotation <vectorRedirectInput/Vector>
Team Fortress 2 Set a custom model rotation on the entity.
ClearCustomModelRotation
Team Fortress 2 Clears the custom model rotation.
SetCustomModelRotates <booleanRedirectInput/boolean>
Team Fortress 2 Set if the custom model rotates or not to the entity's angles.
SetCustomModelVisibleToSelf <booleanRedirectInput/boolean>
Team Fortress 2 Set if the custom model is visible to the entity, in thirdperson.
SetForcedTauntCam <booleanRedirectInput/boolean>
Team Fortress 2 Forces the player into thirdperson mode.
SpeakResponseConcept <stringRedirectInput/string>
Team Fortress 2 Forces the player to speak the specified response concept, an example being halloweenlongfall.
TriggerLootIslandAchievement
Team Fortress 2 [Todo].
TriggerLootIslandAchievement2
Team Fortress 2 [Todo].
RoundSpawn
Team Fortress 2 [Todo].
SetTeam <integerRedirectInput/integer>
Changes the entity's team.

CBaseCombatCharacter:

KilledNPC  !FGD
Tells the entity it killed something. Despite the name, this can include a player. This input will be automatically sent by the victim when they die.
physdamagescale <floatRedirectInput/float>
Scales damage energy when this character is hit by a physics object. With a value of 0 the NPC will take no damage from physics.
Note.pngNote:Content moved to Rendering and studio model related KIO/Inputs for continuation of page history


Outputs

Note.pngNote:Content moved to Rendering and studio model related KIO/Outputs for continuation of page history