NPCs

For settings, see AI Settings.

NPC Utils

void UpdateEnemyMemoryFromTeammates(entity guy)
void UpdateEnemyMemoryWithinRadius(entity guy, number radius)
void SetEnableNPCs(bool enabled)
void ToggleNPCPathsForEntity(entity ent, bool pathable)

Controls if ent is traversable by NPCs

void ToggleNPCPathsForEntityAtPosition(entity ent, vector pos, bool pathable)
void TransitionNPCPathsForEntity(entity ent, vector pos, bool b)
void SetVisibleEntitiesInConeQueriableEnabled(entity ent, bool enabled)

NPC Squads

void CreateNPCSquad(string name)
int GetNPCSquadSize(string name)
void SetNPCSquadMode(string name, number mode)
array<entity> ScriptGetNPCArrayBySquad(string name)

NPC Navigation Nodes

void NPCSetSearchPathUseDist(number distance)
float NPCGetSearchPathUseDist()
void NPCSetAimConeFocusParams(number a, number b)
void NPCSetAimPatternFocusParams(number a, number b)
void NPCSetReacquireParams(number a, number b)
void NPCSetSquadNoFlankThreshold(string a, number b, number c)
int GetNearestNodeToPos(vector pos)

Returns a node index

int GetBestNodeForPosInWedge(vector tPos, vector startPos, number yaw, number minFov, number maxFov, number fovPenalty, number some_index, number steps_maybe)

Returns a node index

vector GetNodePos(int nodeIndex)
int GetNodeCount()
bool GetNodeScriptData_Boolean(int nodeIndex, int otherNodeIndex)
void SetNodeScriptData_Boolean(int nodeIndex, int otherNodeIndex, bool value)
int GetAINScriptVersion()

Skits

void SkitSetDistancesToClosestHarpoints()
array<entity> GetSkitNodeArray_NearPlayers()

Get skit nodes sorted by nearest to average player position with some randomization

array<entity> GetSkitNodeArray_NearHardpoints()

Get skit nodes sorted by nearest to hardpoints with some randomization

array<entity> GetSkitNodeArray_NearPos()

Get skit nodes sorted by nearest to pos with some randomization

Dangerous Areas

void AI_CreateDangerousArea(entity lifetimeEnt, entity weaponOrProjectile, float radius, int safeTeam, bool affectsNormalArmor, bool affectsHeavyArmor)

Create a known dangerous are that AI should avoid if necessary. The lifetime of the danger is tied to an entity

void AI_CreateDangerousArea_Static(entity lifetimeEnt, entity weaponOrProjectile, float radius, int safeTeam, bool affectsNormalArmor, bool affectsHeavyArmor, vector staticOrigin)

Same as AI_CreateDangerousArea except the origin is always in a single place

void AI_CreateDangerousArea_DamageDef(int damageDef, entity lifetimeEnt, int safeTeam, bool affectsNormalArmor, bool affectsHeavyArmor)

Create dangerous area using damage def

AIN

AIN on the valve wiki

bool AINFileIsUpToDate()
bool AINExists()
void SetAINScriptVersion(int version)

Spawners

array<entity> GetSpawnerArrayByClassName(string className)

Get array of spawners matching a class name

array<entity> GetSpawnerArrayByScriptName(string name)

Get array of spawners matching a script name

entity GetSpawnerByScriptName(string name)