From Valve Developer Community
Important:Following Keyvalues / Inputs / Outputs are available for all entities that inherit this class, but may be overridden by entity game code
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
disposition
are:
D_HT
: Hate
D_FR
: Fear
D_LI
: Like
D_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,000 units 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 ]Note:This flag is disabled in episodic for player companions, because the StartScripting input does this.
- 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.