Npc launcher: Difference between revisions
		
		
		
		
		
		Jump to navigation
		Jump to search
		
				
		
		
	
| ChielTvarr (talk | contribs) mNo edit summary | m (Classifying as model entity) | ||
| (29 intermediate revisions by 20 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] | |||
| --> | |||
| !  | |||
| ==See  | |||
| [http://www.akilling.org/akg/tutorials/wiseNPCweapons.asp  | |||
Latest revision as of 04:33, 19 May 2025
|  Class hierarchy | 
|---|
| CNPC_Launcher | 
|  npc_launcher.cpp | 
npc_launcher  is a   model entity  available in  Half-Life 2 series,
 Half-Life 2 series,  Portal, and
 Portal, and 

 Source SDK Bases.
 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 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 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: 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:
Outputs
- OnLaunch
- !activator = enemy launched at
 !caller = this entity
 Fires when missile is launched.
| 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 
