Template:I BaseNPC: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
mNo edit summary
mNo edit summary
 
(49 intermediate revisions by 19 users not shown)
Line 1: Line 1:
{{i targetname}}
{{LanguageBar}}[[Category:Input_Templates|BaseNPC]]
 
<onlyinclude>{{expandBox|title=BaseNPC inputs|
* {{i renderfields}}
{{minititle|CAI_BaseNPC}}
 
{{I|ActivateSpeedModifier|nofgd=1}}
* {{i damagefilter}}
{{I|DisableSpeedModifier|nofgd=1}}
 
{{I|Break|Smash into pieces. If this is not possible, disappear.}}
* {{i responsecontext}}
{{I|BecomeRagdoll|Remove itself and instantly become a [[ragdoll]] with zero force (just go limp). OnDeath, etc. outputs will <strong>NOT</strong> be fired.|since={{ep2}}}}
 
{{I|ForceInteractionWithNPC  <[[string]]> <[[string]]>|Force the NPC to use a dynamic interaction with another NPC. Syntax is <tt><[[targetname]]> <dynamic interaction></tt>.|since={{ep1}}}}
* {{i shadow}}
{{I|ForgetEntity|Clears out the NPC's knowledge of a named entity.|param=targetname}}
 
{{I|UpdateEnemyMemory|Update (or create) this NPC's memory of of the given entity.|since={{ep1}}}}
* '''SetRelationship <string>'''
{{I|GagEnable}}
: Changes this entity's relationship with another entity or class. Format: <entityname/classname> <D_HT/D_FR/D_LI/D_NU> <priority>
{{I|GagDisable|Gagged NPCs won't speak (or moan, caw, etc.) unless made to be a choreographed scene.}}
 
{{I|HolsterWeapon|since={{ep1}}}}
* '''SetHealth <integer>'''
{{I|UnholsterWeapon|Force the NPC to holster or unholster their weapon. Ignored if the NPC is scripting or if the NPC doesn't use weapons.|since={{ep1}}}}
: Set this NPC's health.
{{I|HolsterAndDestroyWeapon|Same as <code>HolsterWeapon</code>, except the weapon is destroyed once it has been concealed.|since={{ep1}}}}
 
{{I|IgnoreDangerSounds|Ignore danger sounds for the specified number of seconds.|param=float}}
* '''SetBodyGroup <integer>'''
{{I|InsideTransition|nofgd=1}}
: HACK: Sets this NPC's body group (from 0 - n). You'd better know what you are doing!
{{I|OutsideTransition|nofgd=1}}
 
{{I|SetBodyGroup|HACK: Sets this NPC's body group (from 0–n).|param=int}}
* '''physdamagescale <float>'''
{{I|SetEnemyFilter|param=string}}
: Sets the value that scales damage energy when this character is hit by a physics object. NOTE: 0 means this feature is disabled for backwards compatibility.
{{I|SetHealth|Set the NPC's health.|param=int}}{{#ifeq: base | {{{branch|base}}} |
 
{{I|SetMaxLookDistance|Sets the maximum look distance for the NPC. Defaults are 2048 and 6000 for long range NPCs.|param=float|only={{GMOD}}}} }}
* '''Ignite'''
{{I|SetRelationship <[[string]]{{!}}[[targetname]] or [[classname]]> <[[string]]{{!}}disposition> <[[int]]{{!}}rank>|Changes whether this NPC likes or dislikes certain others. Used like the {{ent|ai_relationship}} entity, with this NPC as the subject.
: Ignite, burst into flames
: Values for <code>disposition</code> are:
 
:* <code>D_HT</code>: Hate
* '''Break'''
:* <code>D_FR</code>: Fear
: Break, smash into pieces
:* <code>D_LI</code>: Like
 
:* <code>D_NU</code>: Neutral}}
* '''StartScripting'''
{{I|SetSquad|Change the name of this NPC's [[Squads|squad]]. Leaving the parameter blank will remove the NPC from any existing squad.|param=string}}
: Enter scripting state. In this state, 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 NPC's idle speech, and so on.
{{I|StartScripting}}
 
{{I|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 {{ent|use|alt=+Use}}, don't idle speak or respond to other NPCs' idle speech, and so on.}}
* '''StopScripting'''
{{I|Wake|Wakes up the NPC if it is sleeping.}}
: Exit scripting state.
{{I BaseCombatCharacter}}
 
{{I DamageFilter}} }}</onlyinclude>
* '''Assault <string>'''
: Start an assault. Parameter passed in should be the name of the rally point.
 
* '''SetSquad <string>'''
: Set the name of this NPC's squad. It will be removed from any existing squad automatically. Leaving the parameter blank will remove the NPC from any existing squad.
 
* '''Wake'''
: Wakes up the NPC if it is sleeping.
 
* '''ForgetEntity <string>'''
: Clears out the NPC's knowledge of a named entity.
 
* '''GagEnable'''
: Turn on the NPC Gag flag. NPC won't speak outside of choreographed scenes.
 
* '''GagDisable'''
: Turn off the NPC Gag flag.
 
* '''IgnoreDangerSounds <float>'''
: Ignore danger sounds for the specified number of seconds.

Latest revision as of 10:37, 19 March 2025

Flag-white.pngEnglish (en)
BaseNPC inputs 

CAI_BaseNPC:

ActivateSpeedModifier  !FGD
DisableSpeedModifier  !FGD
Break
Smash into pieces. If this is not possible, disappear.
BecomeRagdoll  (in all games since Half-Life 2: Episode Two)
Remove itself and instantly become a ragdoll with zero force (just go limp). OnDeath, etc. outputs will NOT be fired.
ForceInteractionWithNPC <string> <string>  (in all games since Half-Life 2: Episode One)
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 Half-Life 2: Episode One)
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 Half-Life 2: Episode One)
UnholsterWeapon  (in all games since Half-Life 2: Episode One)
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 Half-Life 2: Episode One)
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
OutsideTransition  !FGD
SetBodyGroup <integer>
HACK: Sets this NPC's body group (from 0–n).
SetEnemyFilter <string>
SetHealth <integer>
Set the NPC's health.
SetMaxLookDistance <float> (only in Garry's Mod)
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
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.

CBaseCombatCharacter:

KilledNPC  !FGD
Tells the entity it killed something. Despite the name, this can include a player. This input will be automatically sent by the victim when they die.
physdamagescale <float>
Scales damage energy when this character is hit by a physics object. With a value of 0 the NPC will take no damage from physics.

DamageFilter:

SetDamageFilter <string>
Sets the entity to use as damage filter. Pass in an empty string (no parameter) to clear the damage filter.