Template:I BaseNPC: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
(Forwards compatability(via Template:IO) and minor changes.)
mNo edit summary
 
(18 intermediate revisions by 9 users not shown)
Line 1: Line 1:
{{ScrollBox|title=BaseNPC|
{{LanguageBar}}[[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.
<onlyinclude>{{expandBox|title=BaseNPC inputs|
{{minititle|CAI_BaseNPC}}
{{I|ActivateSpeedModifier|nofgd=1}}
{{I|DisableSpeedModifier|nofgd=1}}
{{I|Break|Smash into pieces. If this is not possible, disappear.}}
{{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|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}}}}
{{I|GagEnable}}
{{I|GagDisable|Gagged NPCs won't speak (or moan, caw, etc.) unless made to be a choreographed scene.}}
{{I|HolsterWeapon|since={{ep1}}}}
{{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}}}}
{{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}}
{{I|InsideTransition|nofgd=1}}
{{I|OutsideTransition|nofgd=1}}
{{I|SetBodyGroup|HACK: Sets this NPC's body group (from 0–n).|param=int}}
{{I|SetEnemyFilter|param=string}}
{{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}}}} }}
{{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.
: Values for <code>disposition</code> are:
: Values for <code>disposition</code> are:
:* <code>D_HT</code>: Hate
:* <code>D_HT</code>: Hate
Line 6: Line 27:
:* <code>D_LI</code>: Like
:* <code>D_LI</code>: Like
:* <code>D_NU</code>: Neutral}}
:* <code>D_NU</code>: Neutral}}
{{IO|SetHealth <[[int]]>|Set the NPC's health.}}
{{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}}
; {{EP2 add|<code>AddHealth <[[int]]></code>}}
{{I|StartScripting}}
; {{EP2 add|<code>RemoveHealth <[[int]]></code>}}
{{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.}}
: Add to or remove from the NPC's health.
{{I|Wake|Wakes up the NPC if it is sleeping.}}
{{IO|SetBodyGroup|HACK: Sets this NPC's body group (from 0 - n).|param=int}}
{{I BaseCombatCharacter}}
{{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}}
{{I DamageFilter}} }}</onlyinclude>
{{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|{{EP2 add|BecomeRagdoll}}|Remove itself and instantly become a [[ragdoll]] with zero force (just go limp). OnDeath, etc. Outputs will <strong>NOT</strong> be fired.}}
;<code> StartScripting</code>
;<code>StopScripting</code>
: 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|Assault|Start an [[assault]] at the given rally point.|param=targetname}}
{{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}}
; <code>GagEnable</code>
; <code>GagDisable</code>
: 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}}
; {{EP1 add|<code>HolsterWeapon</code>}}
; {{EP1 add|<code>UnholsterWeapon</code>}}
: Force the NPC to holster or unholster their weapon. Ignored if the NPC is scripting or if the NPC doesn't use weapons.
{{IO|{{EP1 add|HolsterAndDestroyWeapon}}|As <code>HolsterWeapon</code>, except the weapon is destroyed once it has been concealed.}}
{{IO|{{EP1 add|ForceInteractionWithNPC <[[string]]>}}|Force the NPC to use a dynamic interaction with another NPC. Syntax is <code><[[targetname]]> <dynamic interaction></code>.|param=string}}
{{IO|{{EP1 add|UpdateEnemyMemory}}|Update (or create) this NPC's memory of of the given entity.}}
{{I RenderFields}}
{{I DamageFilter}}
{{I ResponseContext}}
{{I Shadow}}
{{I Targetname}}
}}

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.