CAI_BaseNPC
Class hierarchy |
---|
CAI_BaseNPC |
ai_basenpc.cpp
|
Important:Following Keyvalues / Inputs / Outputs are available for all entities that inherit this class, but may be overridden by entity game code
Contents
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.
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 associatedtrigger_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
: 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
Wait Till Seen
Gag
Fall to ground (unchecked means teleport to ground)
Efficient
Wait For Script
Long Visibility/Shoot
Fade Corpse
Template NPC
: [4096] Note:This flag is disabled in episodic for player companions, because the
StartScripting input does this.Don't drop weapons
|
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.