CAI_BaseNPC
		
		
		
		Jump to navigation
		Jump to search
		
| CAI_BaseNPC | 
CAI_BaseNPC is the C++ class from which all 
 Half-Life 2 series NPCs inherit. 
Outside of Half-Life 2, not all NPCs inherit this class. For example, 
 hostage_entity directly inherits CBaseCombatCharacter, and 
 chicken inherits CDynamicProp.
Keyvalues
- additionalequipment <string>
 - Sets what equipment NPC must carry. Only few NPCs support this.
 
- squadname <string>
 - NPCs that are in the same squad (i.e., have matching squad names) will share information about enemies and will take turns attacking and covering each other.
 
- hintgroup <string>
 - Hint groups are used by NPCs to restrict their hint-node searching to a subset of the map's hint nodes. Only hint nodes with matching hint group names will be considered by this NPC.
 
- hintlimiting <boolean>
 - Limits NPC to using specified hint group for navigation requests. Does not limit local navigation.
 
- sleepstate <choices>
 - Holds the NPC in stasis until specified condition. See also Wake Radius and Wake Squad.
- 0: None
 - 1: Waiting for threat
 - 2: Waiting for PVS
 - 3: Waiting for input, ignore PVS
 - 4: Auto PVS
 - 5: Auto PVS after PVS
 
 
- wakeradius <float>
 - Auto-wake if player comes within this distance.
 
- wakesquad <boolean>
 - Wake all of the NPCs squadmates if the NPC is woken.
 
- enemyfilter <targetname>
 - Filter entity to test targets against.
 
- ignoreunseenenemies <boolean>
 - Prefers visible enemies, regardless of distance or relationship priority.
 
Inputs
- ActivateSpeedModifier !FGD
 
- DisableSpeedModifier !FGD
 
- Break
 - Smash into pieces. If this is not possible, disappear.
 
- BeginRappel
 - Start rappelling now.
 
- ForceInteractionWithNPC  <string> <string>   (in all games since 
) - Force the NPC to use a dynamic interaction with another NPC. Syntax is <targetname> <dynamic interaction>.
 
- ForgetEntity <targetname>
 - Clears out the NPC's knowledge of a named entity.
 
- UpdateEnemyMemory   (in all games since 
) - Update (or create) this NPC's memory of of the given entity.
 
- GagEnable
 
- GagDisable
 - Gagged NPCs won't speak (or moan, caw, etc.) unless made to be a choreographed scene.
 
- HolsterWeapon   (in all games since 
) 
- UnholsterWeapon   (in all games since 
) - Force the NPC to holster or unholster their weapon. Ignored if the NPC is scripting or if the NPC doesn't use weapons.
 
- HolsterAndDestroyWeapon   (in all games since 
) - Same as 
HolsterWeapon, except the weapon is destroyed once it has been concealed. 
- IgnoreDangerSounds <float>
 - Ignore danger sounds for the specified number of seconds.
 
- InsideTransition !FGD
 - Tells the NPC to stop any choreography (but not scripted speech) its a part of. Usually this is only done by a trigger_changelevel when a player steps inside it, and the NPC is inside an associated trigger_transition.
 
- OutsideTransition !FGD
 
- SetEnemyFilter <string>
 
- SetHealth <integer>
 - Set the NPC's health.
 
- SetMaxLookDistance  <float> (only in 
) - Sets the maximum look distance for the NPC. Defaults are 2048 and 6000 for long range NPCs.
 
- SetRelationship <string|targetname or classname> <string|disposition> <int|rank>
 - Changes whether this NPC likes or dislikes certain others. Used like the ai_relationship entity, with this NPC as the subject.
 - Values for 
dispositionare:D_HT: HateD_FR: FearD_LI: LikeD_NU: Neutral
 
- SetSpeedModRadius <integer>
 
- SetSpeedModSpeed <integer>
 
- SetSquad <string>
 - Change the name of this NPC's squad. Leaving the parameter blank will remove the NPC from any existing squad.
 
- StartScripting
 
- StopScripting
 - Enter/exit scripting state, where NPCs ignore a variety of stimulus that would make them break out of their scripts. They ignore danger sounds, ignore +Use, don't idle speak or respond to other NPCs' idle speech, and so on.
 
- Wake
 - Wakes up the NPC if it is sleeping.
 
Flags
BaseNPC flags 
- Wait Till Seen : [1]
 - Prevents this NPC from seeing (or being seen) until it enters a player's viewcone.
 
- Gag : [2]
 - Won't make IDLE sounds until it's angry.
 
- Fall to ground (unchecked means teleport to ground) : [4]
 
- Drop Healthkit : [8]
 - Causes this NPC to drop an item_healthvial upon dying.
 
- Efficient : [16]
 - Don't acquire enemies or avoid obstacles
 
- Wait For Script : [128]
 - Forces this NPC to "wait" in an idle state until it finishes playing a scripted_sequence.
 
- Long Visibility/Shoot : [256]
 - By default, increases a NPC's sight range to 
6,000units and allows it to attack from anywhere within that distance. 
- Fade Corpse : [512]
 
- Think outside PVS : [1024]
 - Allows this NPC to run its regular AI outside of any player's PVS.
 
- Template NPC : [2048]
 - Marks this NPC as a template for entities like npc_template_maker. The NPC will not spawn on its own. This is not needed for point_template.
 
- Do Alternate collision for this NPC (player avoidance) : [4096]
 
- Don't drop weapons : [8192]
 
- Ignore player push : [16384] (in all games since 
) - Entity won't give way to player.
 
Outputs
- OnDamaged
 - Fired when this NPC takes damage (!activator is the damage inflictor).
 
- OnDamagedByPlayer
 - Fired when this NPC is hurt by a player (!activator is the attacker or vehicle driver [if friendly fire]).
 
- OnDamagedByPlayerSquad
 - Fired when this NPC is hurt by a player OR by one of the player's squadmates (!activator is the attacker or vehicle driver [if friendly fire]).
 
- OnDeath
 - Fired when this NPC is killed (!activator is the killer).
 
- OnDenyCommanderUse
 - Fired when this NPC has refused to join the player's squad.
 
- OnForcedInteractionAborted
 - Fired when the NPC aborts a forced interaction for some reason (target NPC died, couldn't be pathed to, etc.).
 
- OnForcedInteractionStarted
 - Fired when the NPC starts a forced interaction.
 
- OnForcedInteractionFinished
 - "NPCs in actbusies can no longer perform dynamic interactions." Todo: What does this mean?
 
- OnHalfHealth
 - Fired when this NPC reaches half of its maximum health.
 
- OnHearCombat
 - Fired when this NPC hears combat sounds.
 
- OnHearPlayer
 - Fired when this NPC hears the player.
 
- OnHearWorld
 - Fired when this NPC hears a sound (other than combat or the player).
 
- OnFoundEnemy <targetname>
 - Fired when this NPC establishes line of sight to its enemy.
 
- OnLostEnemy
 - Fired when this NPC loses its enemy. Usually due to the enemy being killed/removed, or because this NPC has selected a newer, more dangerous enemy.
 
- OnLostEnemyLOS
 - Fired when this NPC loses line of sight to its enemy.
 
- OnFoundPlayer <targetname>
 - Fired when this NPC establishes line of sight to its enemy, and that enemy is a player.
 
- OnLostPlayer
 - Fired when this NPC loses its enemy, and that enemy was a player. Usually due to the enemy being killed/removed, or because this NPC has selected a newer, more dangerous enemy.
 
- OnLostPlayerLOS
 - Fired when this NPC loses line of sight to its enemy, and that enemy is a player.
 
- OnSleep
 - Fired when this NPC enters a sleep state.
 
- OnWake
 - Fired when this NPC comes out of a sleep state.
 
- OnRappelTouchdown
 - Fires when done rappelling.