ai_relationship

From Valve Developer Community

Revision as of 03:30, 20 January 2009 by VDCBot (Talk | contribs)
(diff) ← Older revision | Current revision (diff) | Newer revision → (diff)
Jump to: navigation, search


Contents

Entity description

Sets a relationship type between two parties. These parties can be an NPC, an NPC class, or the player(s). There are four types of relation: Neutral, hate, like and fear. Certain NPC classes will react differently when in these states.

To do: Do some more behavioral research on NPC(s) and post your observations below. Possibly these results could later on be placed in the corresponding article of each NPC instead.

Neutral
Will not attack. Rebels avoid player apologetically, and cannot be commanded. Zombies will remain still and only turn to face the target.
Hate
Considers the target an enemy/enemies and will attack.
Like
Will not attack the target. Rebels follow automatically, and can be commanded. The player will lower his gun until the target shows signs of hostility (but can still shoot the target before this). Zombies will remain still and only turn to face the target.
Fear
Avoids the target. Headcrabs run away without attacking. Metropolice attacks. Rebels avoid without attacking, and cannot be commanded. Zombies will occasionally also swipe at the target as if it is in their flight path, but these swipes will afflict no damage to player, unless the zombie has been attacked.
Note:The relationship can refer to the player as !player (single-player) or any client as player (single-player or multiplayer).

See also

Keyvalues

  • Targetname:

Name <string>
The targetname other entities refer to this entity by.
  • subject
<target_name_or_class> This is the NPC(s) whose disposition will change.
  • target
<target_name_or_class> This is the NPC(s) ( or !player or player ) about whom the Subject(s) will change their disposition.
  • disposition
<choices> Choose the way the Subject(s) should feel about the target(s)
Literal Value Description
1 Hate
2 Fear
3 Like
4 Neutral
  • radius
<float> Radius for subject
  • rank
<integer> How much the Subject(s) should Like/Hate/Fear the target(s). Higher priority = stronger feeling.
  • StartActive
<boolean>
  • Reciprocal
<boolean> Set this to have the new relationship mirrored by target

Flags

  • 1 : Notify subject of target's location
  • 2 : Notify target of subject's location

Inputs

  • Targetname:

Kill
Removes this entity from the world.
KillHierarchy
Removes this entity and all its children from the world.
AddOutput <string>
Evaluates a keyvalue/output on this entity. It can be potentially very dangerous, use with care.
Format: <key> <value>
Format: <output name> <targetname>:<inputname>:<parameter>:<delay>:<max times to fire, -1 means infinite>
FireUser1 to FireUser4
Fire the OnUser outputs; see User Inputs and Outputs.
  • ApplyRelationship
Apply relationship changes
  • RevertRelationship
Revert relationship changes
  • RevertToDefaultRelationship
Revert relationship changes to the default relationship, which may have changed since this ai_relationship was applied. This returns control of the entity relationship to the code.

Outputs

  • Targetname:

OnUser1 to OnUser4
Fired in response to the FireUser inputs; see User Inputs and Outputs.
OnKilled (New with Left 4 Dead)
Fired when the entity is killed and removed from the game.
Personal tools