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)#