Npc launcher: Difference between revisions
		
		
		
		
		
		Jump to navigation
		Jump to search
		
				
		
		
	
 (Notes on invalid defaults.)  | 
				m (Classifying as model entity)  | 
				||
| (35 intermediate revisions by 23 users not shown) | |||
| Line 1: | Line 1: | ||
{{  | {{CD|CNPC_Launcher|file1=1}}  | ||
{{This is a|model entity|name=npc_launcher|game=Half-Life 2 series|game1=Portal|game2=Source SDK Bases}}  | |||
{{immobile npc}}  | |||
Can fire rocket-propelled grenades or other missiles with many property customizations. The missiles can be made to home on a target or follow a path. It is used in [[d3_c17_06b]] when rockets break up a wood bridge. Also used in [[d1_eli_02]] to simulate the Combine APC rockets when the base is getting attacked.  | |||
== Keyvalues ==  | |||
{{KV|Start On|intn=StartOn|bool|Will the launcher be active at spawn?}}  | |||
{{KV|Missile Model|intn=MissileModel|model|The model for the fired missile}}  | |||
:{{warning|This KV's default value doesn't point to an existing resource. It should instead point to <code>models/Weapons/W_missile.mdl</code>.}}  | |||
{{KV|Launch Sound|intn=LaunchSound|string|Sound when the missile launches}}  | |||
{{KV|Fly Sound|intn=FlySound|string|The sound the missile makes in air}}  | |||
:{{warning|This KV's default value doesn't point to an existing resource. It should instead point to <code>weapons/rpg/rocket1.wav</code>.}}  | |||
{{KV|Smoke Trail|intn=SmokeTrail|choices|What trail the missile leaves behind}}  | |||
:*0: Off  | |||
:*1: On  | |||
:*2: On Homing  | |||
{{KV|Launch Smoke|intn=LaunchSmoke|bool|Is there smoke on launch?}}  | |||
{{KV|Launch Delay|intn=LaunchDelay|int|When ON, how long to wait between each launch}}  | |||
{{KV|Launch Speed|intn=LaunchSpeed|string|Initial launch speed of missile (in up direction)}}  | |||
{{KV|Path Corner Name|intn=PathCornerName|string|Name of a path corner.  If set launches a pathfollowing missing, rather than a homing missile}}  | |||
{{KV|Homing Speed|intn=HomingSpeed|string|Speed to reach when homing}}  | |||
{{KV|Homing Strength|intn=HomingStrength|int|How strong in homing effect (0-100)}}  | |||
{{KV|Homing Delay|intn=HomingDelay|string|Number of seconds to delay before homing starts}}  | |||
{{KV|Homing Ramp Up|intn=HomingRampUp|string|Number of seconds it takes to reach full homing strength after homing delay}}  | |||
{{KV|Homing Duration|intn=HomingDuration|string|Number of seconds the homing effect lasts}}  | |||
{{KV|Homing Ramp Down|intn=HomingRampDown|string|Number of seconds it takes homing effect to decay after homing duration}}  | |||
{{KV|Gravity|intn=Gravity|string|Scale for effect of gravity. (1.0 = normal gravity)}}  | |||
{{KV|Min Range|intn=MinRange|int|Minimun distance a target can be to be attacked}}  | |||
{{KV|MaxRange|intn=MaxRange|int|Maximum distance a target can be to be attacked}}  | |||
{{KV|Spin Magnitude|intn=SpinMagnitude|string|Strength of spin in missile trajectory}}  | |||
{{KV|Spin Speed|intn=SpinSpeed|string|How fast does the spin rotate through 360}}  | |||
{{KV|Damage|intn=Damage|string|How much damage does each missile do}}  | |||
{{KV|DamageRadius|intn=DamageRadius|string|How far away from impact does the missle do damage}}  | |||
{{KV BaseNPC}}  | |||
==  | == Flags ==  | ||
{{fl|65536|Check LOS}}  | |||
{{Fl BaseNPC}}  | |||
== Inputs ==  | |||
{{I|TurnOn|Turn on Launcher}}  | |||
{{I|TurnOff|Turn off Launcher}}  | |||
{{I|LOSCheckOn|Start checking line of sight before firing}}  | |||
{{I|LOSCheckOff|Stop checking line of sight before firing}}  | |||
{{I|SetEnemyEntity|Set entity I should attack. Ignores visibility. (output from other entity only)}}  | |||
{{I|ClearEnemyEntity|Clear set enemy enemy}}  | |||
{{I|FireOnce|Fire Once (if have enemy)}}  | |||
{{I BaseNPC}}  | |||
== Outputs ==  | |||
{{O|OnLaunch|activator=enemy launched at|Fires when missile is launched.}}  | |||
{{O BaseNPC}}  | |||
<!-- akilling.org has closed. When (and if) these tutorials are ported onto the VDC, please link to them instead!  | |||
== See also ==  | |||
* [http://www.akilling.org/akg/tutorials/wiseNPCweapons.asp Example use]  | |||
-->  | |||
!   | |||
=  | |||
*   | |||
Latest revision as of 03:33, 19 May 2025
| CNPC_Launcher | 
npc_launcher  is a   model entity  available in 
 Half-Life 2 series, 
 Portal, and ![]()
![]()
 Source SDK Bases.
Can fire rocket-propelled grenades or other missiles with many property customizations. The missiles can be made to home on a target or follow a path. It is used in d3_c17_06b when rockets break up a wood bridge. Also used in d1_eli_02 to simulate the Combine APC rockets when the base is getting attacked.
Keyvalues
- Start On (StartOn) <boolean>
 - Will the launcher be active at spawn?
 
- Missile Model (MissileModel) <model path>
 - The model for the fired missile
 
Warning:This KV's default value doesn't point to an existing resource. It should instead point to models/Weapons/W_missile.mdl.
- Launch Sound (LaunchSound) <string>
 - Sound when the missile launches
 
- Fly Sound (FlySound) <string>
 - The sound the missile makes in air
 
Warning:This KV's default value doesn't point to an existing resource. It should instead point to weapons/rpg/rocket1.wav.
- Smoke Trail (SmokeTrail) <choices>
 - What trail the missile leaves behind
- 0: Off
 - 1: On
 - 2: On Homing
 
 
- Launch Smoke (LaunchSmoke) <boolean>
 - Is there smoke on launch?
 
- Launch Delay (LaunchDelay) <integer>
 - When ON, how long to wait between each launch
 
- Launch Speed (LaunchSpeed) <string>
 - Initial launch speed of missile (in up direction)
 
- Path Corner Name (PathCornerName) <string>
 - Name of a path corner. If set launches a pathfollowing missing, rather than a homing missile
 
- Homing Speed (HomingSpeed) <string>
 - Speed to reach when homing
 
- Homing Strength (HomingStrength) <integer>
 - How strong in homing effect (0-100)
 
- Homing Delay (HomingDelay) <string>
 - Number of seconds to delay before homing starts
 
- Homing Ramp Up (HomingRampUp) <string>
 - Number of seconds it takes to reach full homing strength after homing delay
 
- Homing Duration (HomingDuration) <string>
 - Number of seconds the homing effect lasts
 
- Homing Ramp Down (HomingRampDown) <string>
 - Number of seconds it takes homing effect to decay after homing duration
 
- Gravity (Gravity) <string>
 
- Min Range (MinRange) <integer>
 - Minimun distance a target can be to be attacked
 
- MaxRange (MaxRange) <integer>
 - Maximum distance a target can be to be attacked
 
- Spin Magnitude (SpinMagnitude) <string>
 - Strength of spin in missile trajectory
 
- Spin Speed (SpinSpeed) <string>
 - How fast does the spin rotate through 360
 
- Damage (Damage) <string>
 - How much damage does each missile do
 
- DamageRadius (DamageRadius) <string>
 - How far away from impact does the missle do damage
 
| 
 CBaseCombatCharacter: 
 
 CAI_BaseNPC: 
 
 
 
 
 
 
 
 
 DamageFilter: 
  | 
Flags
- Check LOS : [65536]
 
BaseNPC flags 
- Wait Till Seen : [1]
 - Prevents this NPC from seeing (or being seen) until it enters a player's viewcone.
 
- Gag : [2]
 - Won't make IDLE sounds until it's angry.
 
- Fall to ground (unchecked means teleport to ground) : [4]
 
- Drop Healthkit : [8]
 - Causes this NPC to drop an item_healthvial upon dying.
 
- Efficient : [16]
 - Don't acquire enemies or avoid obstacles
 
- Wait For Script : [128]
 - Forces this NPC to "wait" in an idle state until it finishes playing a scripted_sequence.
 
- Long Visibility/Shoot : [256]
 - By default, increases a NPC's sight range to 
6,000units and allows it to attack from anywhere within that distance. 
- Fade Corpse : [512]
 
- Think outside PVS : [1024]
 - Allows this NPC to run its regular AI outside of any player's PVS.
 
- Template NPC : [2048]
 - 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.
 
- Do Alternate collision for this NPC (player avoidance) : [4096]
 
- Don't drop weapons : [8192]
 
- Ignore player push : [16384] (in all games since 
) - Entity won't give way to player.
 
Inputs
- TurnOn
 - Turn on Launcher
 
- TurnOff
 - Turn off Launcher
 
- LOSCheckOn
 - Start checking line of sight before firing
 
- LOSCheckOff
 - Stop checking line of sight before firing
 
- SetEnemyEntity
 - Set entity I should attack. Ignores visibility. (output from other entity only)
 
- ClearEnemyEntity
 - Clear set enemy enemy
 
- FireOnce
 - Fire Once (if have enemy)
 
BaseNPC inputs 
CAI_BaseNPC:
- ActivateSpeedModifier !FGD
 
- DisableSpeedModifier !FGD
 
- Break
 - Smash into pieces. If this is not possible, disappear.
 
- BecomeRagdoll   (in all games since 
) - 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 
) - 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 
) - 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 
) 
- UnholsterWeapon   (in all games since 
) - 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 
) - 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 
) - 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 
dispositionare:D_HT: HateD_FR: FearD_LI: LikeD_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:
Outputs
- OnLaunch
 - !activator = enemy launched at
!caller = this entity
Fires when missile is launched. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
  |