This article relates to the game "Half-Life 2". Click here for more information.

npc_combine_s

From Valve Developer Community
Jump to: navigation, search

npc_combine_s is a npc available in the Half-Life 2 series.

English (en)русский (ru)
Edit
Npc combine s.png

They are the grunts of the Combine Overwatch, serving as the main "soldier" enemies in the game and a successor to monster_human_grunt from Half-Life Half-Life. They are stronger and more capable than their npc_metropolice counterparts. Soldiers are designed to use Pulse-Rifles, SMGs, Shotguns, and frag grenades.

Their AI uses Blitzkrieg-style tactics. They will advance rapidly to flank, throw grenades to flush the player out, ignore attacks and suppress, or charge ahead to force an enemy back. In squads, they coordinate their actions and take turns attacking an opponent.

PlacementTip.gifPlacement Tip:Only two soldiers in a squad can attack at a time, so big squads may be highly ineffective. Use them wisely.

A variant of npc_combine_s, the Combine Elite, has more health and can use the AR2's secondary firing ability. Another variant, the Nova Prospekt Soldier, is purely visual and has no additional effects.

As of The Orange Box, Combine soldiers with shotguns are automatically given a different skin. Regular soldiers become dark orange and the eyes of Nova Prospekt soldiers turn red. Elites are not affected, due to not normally having shotguns.

In Half-Life 2, Combine soldiers serve as the Combine's transhuman military force, a step up from the unmodified Civil Protection. Nova Prospekt soldiers completely replace regular soldiers in the Nova Prospekt chapters and Elite soldiers appear sparingly, only being introduced at the end of Nova Prospekt and appearing either among regular soldiers or in squads of their own. In Episode Two, all soldiers have dirt on their uniforms, suggesting they've marched a long way from City 17.

Icon-Bug.pngBug:If an elite with grenades is carrying a weapon other than the AR2, they will occasionally try to fire an energy ball at their enemy. The charging sound effect will play, but nothing will fire.


In code, it is represented by theCNPC_CombineSclass, defined in thenpc_combines.hfile.
Note.pngNote:Some keyvalues, flags, inputs, or outputs might not affect an NPC, based on the functionality and coding of the NPC.

Dedicated Console Variables

Cvar/CommandParameters or default valueDescriptorEffect
sk_combine_s_health50health amountA regular/Nova Prospekt soldier's spawn health.
sk_combine_s_kick10damage amountA regular/Nova Prospekt soldier's melee damage.
combine_spawn_health1arbitrary numberMakes Combine soldiers occasionally drop an item_healthvial when the player's health is low.
Note.pngNote:This also controls whether soldiers drop grenades and AR2 alt-fire ammo.
sk_combine_guard_health70health amountA Combine Elite soldier's spawn health.
sk_combine_guard_kick15damage amountA Combine Elite soldier's melee damage.
combine_guard_spawn_health1arbitrary numberWhile it would appear to be a version of combine_spawn_health for Elite soldiers specifically, this does not have any use in code.

Keyvalues

Model (model) <choices>
Sets the model of the NPC. Options are:
  • models/combine_soldier.mdl: Regular Soldier
  • models/combine_soldier_prisonguard.mdl: Nova Prospekt Soldier
  • models/combine_super_soldier.mdl: Elite Soldier
Tip.pngTip:This value can be overridden with any model path.
Tactical Variant (tacticalvariant) <choices>
Options are:
  • Normal Tactics
  • Pressure the enemy (Keep advancing)
  • Pressure until within 30ft, then normal
Walk Easy (usemarch) <boolean>
When true, will use a variety of more casual walking animations instead of the standard walk. For use in crowds.
Note.pngNote:This animation only has a north component. For use under very special circumstances only.

BaseCombine:
Weapons (additionalequipment) <choices>
What weapon this Combine NPC should spawn with. Choices are:
  • AR2
    Tip.pngTip: Soldiers are more accurate with an AR2 in Episode One and Episode Two than in Half-Life 2.
  • Shotgun
  • SMG1
  • Stun Stick (does not work on Soldiers)
  • Nothing
Tip.pngTip: You can use any weapon, not just the ones listed; though they may not work properly.
Number of Grenades (NumGrenades) <choices>
How many grenades this NPC can throw (0-5 or infinite). NPCs do not normally pick up replacement grenades.
Tip.pngTip: You are not limited to the number of grenades listed, you can add in any number of grenades in the key field like 10 or 20.

RappelNPC:
Waiting to Rappel? (waitingtorappel) <boolean>
If yes, this NPC spawns suspended in air and awaits a BeginRappel input. It will then spawn a zipline and slide down. When it hits the ground, NPC will cut away the line and try to move forward a few feet to make room for the next NPC. The NPC will not attempt to clear its landing space if it cannot do so by taking a few steps forward.

BaseNPC:
Relationship <string> !FGD
Changes whether this NPC likes or dislikes certain others. Used like the ai_relationship entity, with this NPC as the subject. Format: <string|targetname or classname> <string|disposition> <int|rank>.
Values for disposition are:
  • D_HT: Hate
  • D_FR: Fear
  • D_LI: Like
  • D_NU: Neutral
Target Path Corner (target) <targetname>
The path_corner that this NPC will move to after spawning.
Squad Name (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.
Hint Group (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.
Hint Limit Nav (hintlimiting) <boolean>
Limits NPC to using specified hint group for navigation requests. Does not limit local navigation.
Sleep State (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
Wake Radius (wakeradius) <float>
Auto-wake if player comes within this distance.
Wake Squad (wakesquad) <boolean>
Wake all of the NPCs squadmates if the NPC is woken.
Enemy Filter (enemyfilter) <targetname>
Filter entity to test targets against.
Ignore unseen enemies (ignoreunseenenemies) <boolean>
Prefers visible enemies, regardless of distance or relationship priority.
Physics Impact Damage Scale (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.

Base:
Name (targetname) <string>
The name that other entities use to refer to this entity.
Parent (parentname) <targetname>
Maintain the same initial offset to this entity. An attachment point can also be used if separated by a comma at the end. (parentname [targetname],[attachment])
Tip.pngTip:Entities transition to the next map with their parents
Tip.pngTip:phys_constraint can be used as a workaround if parenting fails.
Origin (X Y Z) (origin) <coordinates>
The position of this entity's center in the world. Rotating entities typically rotate around their origin.
Note.pngNote:Hammer does not move the entities accordingly only in the editor.
Pitch Yaw Roll (X Y Z) (angles) <angle>
This entity's orientation in the world. Pitch is rotation around the Y axis, yaw is the rotation around the Z axis, roll is the rotation around the X axis.
Note.pngNote:This works on brush entities, although Hammer doesn't show the new angles.
Classname (classname) <string> !FGD
Determines the characteristics of the entity before it spawns.
Tip.pngTip:Changing this on runtime still has use, like making matching an entry in S_PreserveEnts will persist the entity on new rounds!
Flags (spawnflags) <integer> !FGD
Toggles exclusive features of an entity, its specific number is determined by the combination of flags added.
Effects (effects) <integer> !FGD
Combination of effect flags to use.
Entity Scripts (vscripts) <scriptlist> (in all games since Left 4 Dead 2) (also in Team Fortress 2)
Space delimited list of VScript files (without file extension) that are executed after all entities have spawned. The scripts are all executed in the same script scope, later ones overwriting any identical variables and functions. Scripts executed on the worldspawn entity will be placed in root scope.
Think function (thinkfunction) <string> (in all games since Left 4 Dead 2) (also in Team Fortress 2)
Name of the function within this entity's script that'll be called automatically every 100 milliseconds, or a user-defined interval if the function returns a number. Avoid expensive operations in this function, as it may cause performance problems.
Lag Compensation (LagCompensate) <boolean> (in all games since Left 4 Dead 2) !FGD
Set to Yes to lag compensate this entity. Should be used very sparingly!
Is Automatic-Aim Target (is_autoaim_target) <boolean> (in all games since Counter-Strike: Global Offensive) !FGD
If set to 1, this entity will slow down aiming movement for consoles and joystick controllers when the entity is under the crosshairs.

BaseAnimating:
World Model (model) <string>
The model this entity should appear as. 128-character limit.
Skin (skin or ModelSkin Alien Swarm) <integer>
Some models have multiple skins. This value selects from the index, starting with 0.
Collisions (solid) <choices>
Method of collision for this entity.
Choices
  • 0: None
  • 1: BSP (QPhysics) !FGD
    Icon-Bug.pngBug:In Portal 2 Portal 2, if an entity using QPhysics collisions is hit by Gel, the game will crash!
  • 2: Bounding Box
  • 3: Oriented Bounding Box (Use for runtime spawned rotated brush entities) !FGD
  • 4: Oriented Bounding Box, constrained to Yaw only !FGD
  • 5: Custom/Test (Usually no collision with anything) !FGD
  • 6: VPhysics
Hitbox Set (hitboxset) <string> !FGD
Sets the $hboxset to use.
Body Group (body or SetBodyGroup) <integer> !FGD
Sets the the active $bodygroup.
Model Index (modelindex) <short> !FGD
Given the number index from dumping the cl_precacheinfo modelprecache table, sets entity model to the index.
Warning.pngWarning:If an entity has animations that will be played, then the set model also must have its own sequences, else the game crashes.
Model Scale (modelscale) <float> (in all games since Half-Life 2: Episode Two)
A multiplier for the size of the model. Negative values are accepted. Does not alter the physics collisions in most cases, however.
Warning.pngWarning:Negative or extremely high values can cause crashes!
Note.pngNote:Scale may not appear in Hammer Hammer 4.x, but will appear in-game (tested in Day of Defeat: Source). This is fixed in Hammer++ Hammer++.

Animating

Sequence (sequence) <integer> !FGD
Default animation sequence for the model to be playing after spawning.
Playback Rate (playbackrate) <float> !FGD
A multiplier of the framerate at which animations are played, negative values are accepted. Default is 1.0.
Cycle (cycle) <float> !FGD
The current frame of the current animation, on a range from 0-1.
Texture Frame (texframeindex) <integer> !FGD
The initial frame number for all animated textures on this entity.

Effects - Render


Start Fade Distance (fademindist) <float>
Distance at which the entity starts fading. If 0 or less, the entity will disappear instantly when end fade is hit. The value will scale appropriately if the entity is in a 3D Skybox.
End Fade Distance (fademaxdist) <float>
Distance at which the entity ends fading. If 0 or less, the entity won't disappear at all. The value will scale appropriately if the entity is in a 3D Skybox.
Fade Scale (fadescale) <float>
If specified in the worldspawn, or if the engine is running below DirectX 8, entities will fade out even if the fade distances above aren't specified. This value gives more control over when this happens: numbers smaller than 1 cause the entity to fade out at further distances, and greater than 1 cause it to fade out at closer distances. Using 0 turns off the forced fade altogether. See also $noforcedfade.
FX Amount/Transparency (0–255) (renderamt) <integer>
Transparency amount, requires a Render Mode other than Normal. 0 is invisible, 255 is fully visible.
Render Color (R G B) (rendercolor) <color255>
Color tint.
Render FX (renderfx) <choices>
Various somewhat legacy alpha effects.
Render Effects
Icon-Bug.pngBug:Alpha effects from 0 to 10 are unavailable due to the bug in code in Counter-Strike: Global Offensive Counter-Strike: Global Offensive
  • 0: None
  • 1: Slow Pulse (varies alpha by ±16 over a period of 1.5 s)
  • 2: Fast Pulse (varies alpha by ±16 over a period of 0.4 s)
  • 3: Slow Wide Pulse (varies alpha by ±64 over a period of 1.5 s)
  • 4: Fast Wide Pulse (varies alpha by ±64 over a period of 0.4 s)
  • 5: Slow Fade Away (decreases alpha by -1 per frame/(in all games since Left 4 Dead) Fades out over 4 s)
  • 6: Fast Fade Away (decreases alpha by -4 per frame/(in all games since Left 4 Dead) Fades out over 1 s)
  • 7: Slow Become Solid (increases alpha by +1 per frame/(in all games since Left 4 Dead) Fades in over 4 s)
  • 8: Fast Become Solid (increases alpha by +4 per frame/(in all games since Left 4 Dead) Fades in over 1 s)
  • 9: Slow Strobe (transparent 0.8 s, visible 0.8 s, repeat)
  • 10: Fast Strobe (transparent 0.2 s, visible 0.2 s, repeat)
  • 11: Faster Strobe (transparent 0.09 s, visible 0.09 s, repeat)
  • 12: Slow Flicker (transparent 0.18 s, visible 1.5 s, repeat)
  • 13: Fast Flicker (transparent 0.14 s, visible 0.2 s, repeat)
  • 14: Constant Glow ("NoDissipation;" purpose uncertain—for sprites?) (not in Counter-Strike: Global Offensive)
  • 15: Distort (causes unnatural flickering and position shifting)/(in all games since Left 4 Dead) Fade Out (instant; not very useful outside of code)
  • 16: Hologram (Distort + "distance fade")/(in all games since Left 4 Dead) Fade In (instant; not very useful outside of code)
  • 17: Scale Up ("Explode"/"scale up really big!" causes wild stretching of model parts) (in Source 2013)/Fade Wider Pulse (varies alpha by ±255 over a period over a period of 0.26 s) (in all games since Left 4 Dead)
    Confirm:which branches/games is it available in, and where does it do what?
  • 18: Glow Shell (purpose unclear) (in all games since Source 2013) (not in Counter-Strike: Global Offensive)
    Confirm:what does this do? and which games is it in?
  • 19: Clamp Minimum Scale ("keep this sprite from getting very small (SPRITES only!)") (not in Counter-Strike: Global Offensive)
  • 20: Environmental Rain ("for environmental rendermode, make rain") (in Source 2013) (not in Counter-Strike: Global Offensive)
    Confirm:which games? may be nonfunctional.
  • 21: Environmental Snow ("for environmental rendermode, make snow") (in Source 2013) (not in Counter-Strike: Global Offensive)
    Confirm:which games? may be nonfunctional.
  • 22: Spotlight FX ("TEST CODE for experimental spotlight") (in Source 2013) (not in Counter-Strike: Global Offensive)
  • 23: Ragdoll ("HACKHACK: TEST CODE for signalling death of a ragdoll character;" ragdolls an entity but doesn't kill it) (in Source 2013) (not in Counter-Strike: Global Offensive)
    Confirm:which games? may be nonfunctional?
  • 24: Fade Wider Pulse (varies alpha by ±255 over a period over a period of 0.26 s) (in Source 2013) (not in Counter-Strike: Global Offensive)
  • 25: kRenderFXMax/Fade Near (removed since Left 4 Dead) (not in Counter-Strike: Global Offensive)
Blank image.pngTodo: what does this do? may be nonfunctional
Render Mode (rendermode) <choices>
Set a non-standard rendering mode on this entity.
Render Modes
  • 0: Normal
  • 1: Color
  • 2: Texture
  • 3: Glow
  • 4: Solid/Alphatest Obsolete
  • 5: Additive
  • 6: Removed, does nothing Obsolete
  • 7: Additive Fractional Frame
  • 8: Alpha Add
  • 9: World Space Glow
  • 10: Don't Render

Effects - Environment


Disable Shadows (disableshadows) <boolean>
Prevent the entity from creating cheap render-to-texture shadows. Does not affect shadow mapping.
Disable Receiving Shadows (disablereceiveshadows) <boolean>
Prevent the entity from receiving shadows on itself.
Shadow Cast Distance (shadowcastdist) <integer>
Sets how far the entity casts dynamic shadows. 0 means default distance from the shadow_control entity.
Lighting Origin (LightingOrigin) <targetname>
Select an entity (not info_lighting!) from which to sample lighting instead of the entity's origin.
Lighting Origin Offset (LightingOriginHack) <targetname> (not in Left 4 Dead series) !FGD Obsolete
Deprecated. The info_lighting_relative from which to sample lighting instead of the entity's origin. Use Lighting Origin instead.
Disable Flashlight (disableflashlight) <boolean> (in all games since Portal 2)
Used to disable projected texture lighting and shadows on this entity. Identical to EF_NOFLASHLIGHT.
Disable ShadowDepth (disableshadowdepth) <boolean> (in all games since Portal 2)
Makes this entity not cast a shadow from env_projectedtexture entities. Identical to EF_NOSHADOWDEPTH.
Projected Texture Cache (shadowdepthnocache) <choices> (in all games since Portal 2)
Used to hint projected texture system whether it is sufficient to cache shadow volume of this entity or to force render it every frame instead. Identical toEF_SHADOWDEPTH_NOCACHE.
  • 0: Default
  • 1: No cache—render every frame
  • 2: Cache it—render only once

Miscellaneous

Glow Backface Multiple (glowbackfacemult) <float> (only in Left 4 Dead 2) !FGD
If this object has a glow effect, multiply the effect by this much on the sides of the object that are facing away from the viewer.
Move Type (MoveType) <choices> (in all games since Alien Swarm) !FGD
Sets a movetype for this entity, which changes its movement behavior.
Move Types
  • 0: None, don't move
  • 1: Isometric
  • 2: Walk, player only, moving on ground
  • 3: NPC, movement
  • 4: Fly, no gravity
  • 5: Fly, with gravity
  • 6: Physics
  • 7: Push
  • 8: Noclip
  • 9: Ladder, for players on ladders
  • 10: Spectator
  • 11: Custom
Collision Group (CollisionGroup) <choices> (in all games since Alien Swarm) !FGD
Sets a collision group for this entity, which changes its collision behavior.
Groups
  • 0: None
  • 1: Debris, collides only with the world and static props
  • 2: Debris, with trigger interaction
  • 3: Interactive Debris, doesn't collide with other debris
  • 4: Interactive, collides with everything except debris
  • 5: Player
  • 6: Breakable Glass
  • 7: Vehicle
  • 8: Player Movement
  • 9: In-Vehicle
  • 10: Weapon
  • 11: Vehicle Clip
  • 12: Projectile
  • 13: Door blocker, not permitted to go near doors
  • 14: Passable Door
  • 15: Dissolving
  • 16: Pushaway
  • 17: NPC Actor, NPCs ignore the player
  • 18: NPC Scripted, NPCs do not collide with each other
No Animation Sounds (SuppressAnimSounds) <boolean> (in all games since Portal 2) !FGD
Silences sounds linked to animations.DXLevelChoice:
Minimum / Maximum DX Level (mindxlevel / maxdxlevel) <choices> (removed since Left 4 Dead)
The entity will not exist if the engine is running outside the given range of DirectX Versions.
Choices
Warning.pngWarning:If these are used, the object may break when the user switches their DirectX settings.
SystemLevelChoice:
Minimum / Maximum Effect Details Level (mincpulevel / maxcpulevel) <choices> (in all games since Left 4 Dead)
Don't render for players with Effect Details levels that exceed the minimum or maximum.[Note.pngKey names are related to cpu_level cvar used by Effect Details.]
Choices
  • 0: Default ("Low" formincpulevel, "High" formaxcpulevel)
  • 1: Low
  • 2: Medium
  • 3: High
Minimum / Maximum Shader Details Level (mingpulevel / maxgpulevel) <choices> (in all games since Left 4 Dead)
Don't render for players with Shader Details levels that exceed the minimum or maximum.[Note.pngKey names are related to gpu_level cvar used by Shader Details.]
Choices
  • 0: Default ("Low" formingpulevel, "Very High" formaxgpulevel)
  • 1: Low
  • 2: Medium
  • 3: High
  • 4: Very High

DamageFilter:

Damage Filter (damagefilter) <targetname>
Name of the filter_damage_type entity that controls which entities can damage us.

Outputs


RappelNPC:
OnRappelTouchdown
Fires when done rappelling.

BaseNPC:
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."
Blank image.pngTodo: 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.

Base:

OnUser1 to OnUser4
These outputs each fire in response to the firing of the like-numbered FireUser1 to FireUser4 Input; see User Inputs and Outputs.
OnKilled  (only in Left 4 Dead)
This output fires when the entity is killed and removed from the game.

Model:

OnIgnite  !FGD
Fired when the entity catches fire, such as from an env_entity_igniter or the Ignite inputs.
OnFizzled  (only in Portal 2)
Fired when this entity is fizzled by a trigger_portal_cleanser or, for prop_weighted_cube, the Dissolve or SilentDissolve inputs.
Icon-Bug.pngBug:It does not fire when the object is fizzled by other means such as env_entity_dissolver.

Inputs

Assault <targetname>
Starts an assault at the specified rally point.

BaseCombine:
LookOn
See normally.
LookOff
Don't see for myself, use other squad member's eyes.
StartPatrolling
Patrol whenever I'm idle or alert.
StopPatrolling
Stop patrolling when I'm idle or alert.
ThrowGrenadeAtTarget <targetname>
Throw a grenade at the specified target.
ThrowTeleportGrenadeAtTarget <targetname> (in all games since Alien Swarm)
Icon-Bug.pngBug:Not implemented - attempting to compile will result in an unresolved external error. Most likely something from Episode Three.

RappelNPC:
BeginRappel
Start rappelling now.

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.

Base:
AddContext <string>
Adds to the entity's list of response contexts. See Context.
AddOutput <string>
Assigns a new keyvalue/output on this entity. For keyvalues, some rely on extra necessary code to be ran and won't work if its simply just changed through this input. There is a strict format that must be followed:
// Format of changing KeyValues: "AddOutput [key] [value]"
//// Raw text:
"OnUser1" "!self,AddOutput,targetname new_name"

// Format of adding an Output: "AddOutput {targetname}:{inputname}:{parameter}:{delay}:{max times to fire, -1 means infinite}"
//// Raw text:
"OnUser1" "!self,AddOutput,OnUser1:SetParent:!activator:0.0:-1"
// Arguments can be left blank, but the empty blank should still be contained.
//// Raw text:
"OnUser1" "!self,AddOutput,OnUser1:ClearParent::0.0:-1"
ClearContext
Removes all contexts from this entity's list.
ClearParent
Removes this entity from the the movement hierarchy, leaving it free to move independently.
FireUser1 to FireUser4
Fires the respectiveOnUseroutputs; see User Inputs and Outputs.
Kill
Removes this entity and any entities parented to it from the world.
KillHierarchy
Functions the same as Kill, although this entity and any entities parented to it are killed on the same frame, being marginally faster thanKillinput.
RemoveContext <string>
Remove a context from this entity's list. The name should match the key of an existing context.
SetParent <string>
Move with this entity. See Entity Hierarchy (parenting).
SetParentAttachment <string>
Change this entity to attach to a specific attachment point on its parent. The entity will teleport so that the position of its root bone matches that of the attachment. Entities must be parented before being sent this input.
SetParentAttachmentMaintainOffset <string>
As above, but without teleporting. The entity retains its position relative to the attachment at the time of the input being received.
Use  !FGD
Same as a player invoking +use; no effect in most cases.
DispatchResponse <string> !FGD
Dispatches a response to the entity. See Response and Concept.
DispatchEffect <string> (removed since Left 4 Dead) !FGD
Dispatches a special effect from the entity's origin; See also List of Client Effects. Replaced by the particle system since Left 4 Dead.
RunScriptFile <script> (in all games since Left 4 Dead 2) (also in Team Fortress 2)
Execute a VScript file from disk, without file extension. The script contents are merged with the script scope of the receiving entity.
RunScriptCode <string> (in all games since Left 4 Dead 2) (also in Team Fortress 2)
Execute a string of VScript source code in the scope of the entity receiving the input. String quotation may be needed when fired via console.
Icon-Bug.pngBug:In Hammer, using string arguments will corrupt the VMF file's structure, making the file unviewable for the next Hammer session.
Note.pngFix:Remove the string argument manually with a text editor.
Note.pngNote:Team Fortress 2 Backtick characters ` are replaced with quotation marks at runtime, allowing quotation marks to be used when normally not possible.
CallScriptFunction <string> (in all games since Left 4 Dead 2) (also in Team Fortress 2) !FGD
Calls a VScript function defined in the scope of the receiving entity.
TerminateScriptScope  (only in Team Fortress 2) !FGD
Destroys the script scope of the receving entity.
SetLocalOrigin <coordinates> (in all games since Alien Swarm) !FGD
Send this entity to a spot in the map. If the entity is parented to something, it will be offset from the parent by this amount.
SetLocalAngles <angles> (in all games since Alien Swarm) !FGD
Set this entity's angles.

Model:
skin <integer>
Selects a skin from the model's index, starting with 0.
SetBodyGroup <integer>
Sets the the active $bodygroup.
Ignite
Makes the entity catch on fire indefinitely.
IgniteLifetime <float>
Makes the entity catch on fire for a given amount of time.
IgniteNumHitboxFires <integer> (removed since Left 4 Dead 2)
Makes the entity catch on fire with a given number of hitbox fire particles. Does not function correctly in Left 4 Dead 2 onward.
IgniteHitboxFireScale <float> (removed since Left 4 Dead 2)
Makes the entity catch on fire with a given scale for hitbox fire particles. Does not function correctly in Left 4 Dead 2 onward.
BecomeRagdoll
Kills the entity and creates a client-side ragdoll from the model. Input is only passed if the model contains $collisionjoints. For other models, phys_convert can be used instead.
SetLightingOrigin <targetname>
Sets the entity's lighting origin to use this entity's position.
SetLightingOriginHack <targetname> (removed since Left 4 Dead) Obsolete
Deprecated. Offsets the entity's lighting origin by their distance from an info_lighting_relative. Use SetLightingOrigin instead.
fademindist <float>
Sets distance at which the entity starts fading. If <0, the entity will disappear instantly when end fade is hit. The value will scale appropriately if the entity is in a 3D Skybox.
fademaxdist <float>
Sets distance at which the entity ends fading. If <0, the entity won't disappear at all. The value will scale appropriately if the entity is in a 3D Skybox.
SetModelScale <vector> (only in Source 2013)
Multiplies the size of the model. Does not alter the physics collisions in most cases. Can take two values separated by a space, in which case the first value would be the target model scale and the second value would be the number of seconds the change in scale will be spread over. If there is no second value, the model will scale instantly.
Tip.pngTip:The modelscale keyvalue can be AddOutputed as a workaround for other games with this input missing.
Warning.pngWarning:Negative or extremely high values can cause crashes!
SetCycle <float> (only in Team Fortress 2)
Skip to a specific point in the current animation.
SetModel <string> (only in Team Fortress 2)
Changes the model to the specified path. Form of models/ammo/ammo_us.mdl.
Icon-Important.pngImportant:Absolutely NO quotes! Make sure you use the forward slash '/'. Merasmus says to heed this advice, else thou shalt corrupt the VMF.
SetPlayBackRate <float> (only in Team Fortress 2)
Change the animation speed multiplier.
Alpha <integer>
Sets the entity's transparency to a number from 0 (invisible) to 255 (fully visible). Requires the entity to have its Render Mode (rendermode) set to a number other than 0.
AlternativeSorting <boolean>
Swaps the rendering order of the entity. Used to attempt to fix sorting problems when rendering, for example an object rendering in front of translucent materials.
Color <color255>
Sets an RGB color for the entity.
SetDamageFilter <targetname>
Sets a filter for this entity for when it receives damage.
EnableDamageForces
Allows the entity to be pushed by damage done to it (usually force amount correlates with the damage done).
DisableDamageForces
Prevents the entity from being pushed by damage done to it.

Reflection:

DisableDrawInFastReflection  (in all games since Portal 2)
Turns off rendering of this entity in reflections when using $reflectonlymarkedentities in water material.
EnableDrawInFastReflection  (in all games since Portal 2)
Turn on rendering of this entity in reflections when using $reflectonlymarkedentities in water material.

Shadow:

DisableShadow
Turn dynamic shadows off for this entity. Identical to applying  EF_NOSHADOW.
EnableShadow
Turn dynamic shadows on for this entity.
DisableReceivingFlashlight  (in all games since Portal 2)
This object will not receive light or shadows from projected textures.
EnableReceivingFlashlight  (in all games since Portal 2)
This object may receive light or shadows from projected textures.

DamageFilter:

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

Flags

  •  [1] : Wait Till Seen
       Prevents this NPC from seeing (or being seen) until it enters a player's viewcone.
  •  [2] : Gag
       Won't make IDLE sounds until it's angry.
  •  [4] : Fall to ground (unchecked means teleport to ground)
  •  [8] : Drop Healthkit
       Causes this NPC to drop an item_healthvial upon dying.
  •  [16] : Efficient
       Don't acquire enemies or avoid obstacles
  •  [128] : Wait For Script
       Forces this NPC to "wait" in an idle state until it finishes playing a scripted_sequence.
  •  [256] : Long Visibility/Shoot
       By default, increases a NPC's sight range to 6,000 units and allows it to attack from anywhere within that distance.
  •  [512] : Fade Corpse
  •  [1024] : Think outside PVS
       Allows this NPC to run its regular AI outside of any player's PVS.
  •  [2048] : Template NPC
       Marks this NPC as a template for entities like npc_template_maker. The NPC will not spawn on its own. This is not needed for point_template.
  •  [4096] : Do Alternate collision for this NPC (player avoidance)
    Note.pngNote:This flag is disabled in Half-Life 2: Episode One Half-Life 2: Episode Two episodic for player companions, because the StartScripting input does this.
  •  [8192] : Don't drop weapons
  •  [16384] : Ignore player push (in all games since Source 2006)
       Entity won't give way to player.
  •  [65536] : Start LookOff
  •  [131072] : Don't drop grenades
    Icon-Bug.pngBug:If a Combine soldier dies in the middle of throwing a grenade, they will drop the grenade, regardless of whether or not this flag is set
  •  [262144] : Don't drop ar2 alt fire (elite only) (in all games since Half-Life 2: Episode One)

See also