CAI_BaseNPC
Jump to navigation
Jump to search
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
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 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
: 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 : [1]
Gag : [2]
Fall to ground (unchecked means teleport to ground) : [4]
Efficient : [16]
Wait For Script : [128]
Long Visibility/Shoot : [256]
Fade Corpse : [512]
Template NPC : [2048]
Note:This flag is disabled in episodic for player companions, because the
StartScripting input does this.Don't drop weapons : [8192]
|
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.