Template:I BaseNPC: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
(Assaults not part of BaseNPC and exist only on CNPC_Combine)
m (updated template usage.)
Line 1: Line 1:
{{ScrollBox|title=BaseNPC|
{{lang|{{FULLPAGENAME}}}}[[Category:Input Templates|BaseNPC]]
{{IO|SetRelationship <[[string]]&#124;[[targetname]] or [[classname]]> <[[string]]&#124;disposition> <[[int]]&#124;rank>|Changes whether this NPC likes or dislikes certain others. Used like the [[ai_relationship]] entity, with this NPC as the subject.
{{tip|Set {{param|branch}} to <tt>base</tt>, <tt>l4d</tt>, <tt>as</tt>, or <tt>portal2</tt> to exclude certain inputs. {{param|noscroll}} works.}}
: Values for <code>disposition</code> are:
<onlyinclude>{{ScrollBox|title=BaseNPC|noscroll={{{noscroll|<noinclude>1</noinclude>}}}|
:* <code>D_HT</code>: Hate
:* <code>D_FR</code>: Fear
:* <code>D_LI</code>: Like
:* <code>D_NU</code>: Neutral}}
{{IO|SetHealth|Set the NPC's health.|param=int}}
{{IO|AddHealth|param=int|since=EP2}}
{{IO|AddHealth|param=int|since=EP2}}
{{IO|RemoveHealth|Add to or remove from the NPC's health.|param=int|since=EP2}}
{{IO|RemoveHealth|Add to or remove from the NPC's health.|param=int|since=EP2}}
{{IO|SetBodyGroup|HACK: Sets this NPC's body group (from 0 - n).|param=int}}
{{IO|SetHealth|Set the NPC's health.|param=int}}
{{IO|physdamagescale|Scales the damage taken when this character is hit by a physics object. 0 means this feature is disabled for backwards compatibility.|param=float}}
{{IO|Ignite|Burst into flames.}}
{{IO|IgniteLifetime|Ignite for the given number of seconds.|param=float}}
{{IO|IgniteNumHitboxFires|Ignite with the given number of [[hitbox]] fires.|param=int}}
{{IO|IgniteHitboxFireScale|Ignite with the given hitbox fire scale.|param=float}}
{{IO|Break|Smash into pieces. If this is not possible, disappear.}}
{{IO|Break|Smash into pieces. If this is not possible, disappear.}}
{{IO|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}}
{{IO|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}}
{{IO|StartScripting}}
{{IO|ForceInteractionWithNPC  <[[string]]> <[[string]]>|Force the NPC to use a dynamic interaction with another NPC. Syntax is <tt><[[targetname]]> <dynamic interaction></tt>.|since=EP1}}
{{IO|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 NPC's idle speech, and so on.}}
{{IO|SetSquad|Change the name of this NPC's [[Squads|squad]].  Leaving the parameter blank will remove the NPC from any existing squad.|param=string}}
{{IO|Wake|Wakes up the NPC if it is sleeping.}}
{{IO|ForgetEntity|Clears out the NPC's knowledge of a named entity.|param=targetname}}
{{IO|ForgetEntity|Clears out the NPC's knowledge of a named entity.|param=targetname}}
{{IO|UpdateEnemyMemory|Update (or create) this NPC's memory of of the given entity.|since=EP1}}
{{IO|GagEnable}}
{{IO|GagEnable}}
{{IO|GagDisable|Gagged NPCs won't speak (or moan, caw, etc.) unless made to be a choreographed scene.}}
{{IO|GagDisable|Gagged NPCs won't speak (or moan, caw, etc.) unless made to be a choreographed scene.}}
{{IO|IgnoreDangerSounds|Ignore danger sounds for the specified number of seconds.|param=float}}
{{IO|HolsterWeapon|since=EP1}}
{{IO|HolsterWeapon|since=EP1}}
{{IO|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}}
{{IO|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}}
{{IO|HolsterAndDestroyWeapon|Same as <code>HolsterWeapon</code>, except the weapon is destroyed once it has been concealed.|since=EP1}}
{{IO|HolsterAndDestroyWeapon|Same as <code>HolsterWeapon</code>, except the weapon is destroyed once it has been concealed.|since=EP1}}
{{IO|ForceInteractionWithNPC  <[[string]]> <[[string]]>|Force the NPC to use a dynamic interaction with another NPC. Syntax is <code><[[targetname]]> <dynamic interaction></code>|since=EP1}}
{{IO|IgnoreDangerSounds|Ignore danger sounds for the specified number of seconds.|param=float}}
{{IO|UpdateEnemyMemory|Update (or create) this NPC's memory of of the given entity.|since=EP1}}
{{IO|physdamagescale|Scales the damage taken when this character is hit by a physics object. 0 means this feature is disabled for backwards compatibility.|param=float}}
{{IO|SetMaxLookDistance|Sets the maximum look distance for the NPC. Defaults are 2048 and 6000 for long range NPCs.|param=float|only=GMOD}}
{{IO|SetBodyGroup|HACK: Sets this NPC's body group (from 0–n).|param=int}}{{#ifeq: base | {{{game|base}}} |
{{I RenderFields}}
{{IO|SetMaxLookDistance|Sets the maximum look distance for the NPC. Defaults are 2048 and 6000 for long range NPCs.|param=float|only=GMOD}} }}
{{I DamageFilter}}
{{IO|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.
{{I ResponseContext}}
: Values for <code>disposition</code> are:
{{I Shadow}}
:* <code>D_HT</code>: Hate
{{I Targetname}}
:* <code>D_FR</code>: Fear
}}<noinclude>
:* <code>D_LI</code>: Like
[[Category:Input Templates|BaseNPC]]
:* <code>D_NU</code>: Neutral}}
</noinclude>
{{IO|SetSquad|Change the name of this NPC's [[Squads|squad]]. Leaving the parameter blank will remove the NPC from any existing squad.|param=string}}
{{IO|StartScripting}}
{{IO|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.}}
{{IO|Wake|Wakes up the NPC if it is sleeping.}}
{{#switch: {{{game|}}}
|base={{I BaseEntity|noscroll=1|base=1}}
{{I BaseAnimating|noscroll=1}}
|l4d={{I BaseEntity|noscroll=1|l4d2=1}}
{{I BaseAnimating|noscroll=1}}
|as={{I BaseEntity|noscroll=1|as=1}}
{{I BaseAnimating|noscroll=1}}
|portal2={{I BaseEntity|noscroll=1|as=1}}
{{I BaseAnimating|noscroll=1|portal2=1}}
|{{I BaseEntity|noscroll=1}}
{{I BaseAnimating|noscroll=1|portal2=1}} }}
{{I DamageFilter}} }}</onlyinclude>

Revision as of 11:42, 26 May 2022

Tip.pngTip:Set {{{branch}}} to base, l4d, as, or portal2 to exclude certain inputs. {{{noscroll}}} works.
BaseNPC:
AddHealth <integer> (in all games since Half-Life 2: Episode Two)
RemoveHealth <integer> (in all games since Half-Life 2: Episode Two)
Add to or remove from the NPC's health.
SetHealth <integer>
Set the NPC's health.
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.
physdamagescale <float>
Scales the damage taken when this character is hit by a physics object. 0 means this feature is disabled for backwards compatibility.
SetBodyGroup <integer>
HACK: Sets this NPC's body group (from 0–n).
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.
Note.pngNote:Content moved to Rendering and studio model related KIO/Inputs for continuation of page history

DamageFilter:

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