Npc helicopter: Difference between revisions
Jump to navigation
Jump to search
Tip:Use info_target_helicopter_crash entities to suggest spectacular crashing points for defeated helicopters.
Placement Tip:Hunter-Choppers are used mainly in the Half-Life 2 series as chase vehicles, hence the name.
Placement Tip:Helicopter battles require the player to be very mobile, and have some cover available to them. Just one can present a great challenge, so like striders use them sparingly.
Note:Some keyvalues, spawnflags, effect flags, inputs, or outputs might not affect an NPC, based on the functionality and coding of the NPC.
(Added a Scrollbox to the Console Variables.) |
(Cleanup) |
||
Line 7: | Line 7: | ||
==Entity description== | ==Entity description== | ||
[[Image:Combine_helicopter.jpg|thumb|350px|right|Helicopter - click to enlarge.]] | [[Image:Combine_helicopter.jpg|thumb|350px|right|Helicopter - click to enlarge.]] | ||
[[Image:Hunter_chopper_mine.jpg|thumb|250px|right|The Helicopter Mine from Episode 2.]] | [[Image:Hunter_chopper_mine.jpg|thumb|250px|right|The Helicopter Mine from Episode 2.]] | ||
Line 19: | Line 18: | ||
* [[npc_heli_nobomb]] This entity suppresses helicopter bombing | * [[npc_heli_nobomb]] This entity suppresses helicopter bombing | ||
* [[helicopter_bomb]] This entity is a bomb that the helicopter can drop | * [[helicopter_bomb]] This entity is a bomb that the helicopter can drop | ||
{{tip|Use [[info_target_helicopter_crash]] entities to suggest spectacular crashing points for defeated helicopters.}} | {{tip|Use [[info_target_helicopter_crash]] entities to suggest spectacular crashing points for defeated helicopters.}} | ||
{{Placement Tip|Hunter-Choppers are used mainly in the Half-Life 2 series as chase vehicles, hence the name.}} | {{Placement Tip|Hunter-Choppers are used mainly in the Half-Life 2 series as chase vehicles, hence the name.}} | ||
{{Placement Tip|Helicopter battles require the player to be very mobile, and have some cover available to them. Just one can present a great challenge, so like [[Npc_strider|striders]] use them sparingly.}} | {{Placement Tip|Helicopter battles require the player to be very mobile, and have some cover available to them. Just one can present a great challenge, so like [[Npc_strider|striders]] use them sparingly.}} | ||
Line 91: | Line 87: | ||
==Keyvalues== | ==Keyvalues== | ||
{{KV BaseHelicopter}} | |||
{{KV|InitialSpeed|float|}} | |||
{{KV|GracePeriod|float|Time in seconds the helicopter has to see the player before he starts shooting.}} | |||
{{KV|PatrolSpeed|float|Speed at which the helicopter moves if he has no enemy.}} | |||
==Flags== | ==Flags== | ||
* {{Fl BaseHelicopter}} | * {{Fl BaseHelicopter}} | ||
* 65536 : Loud rotor wash sound | * 65536 : Loud rotor wash sound | ||
* 131072 : Electrical drone | * 131072 : Electrical drone | ||
* 262144 : Helicopter lights | * 262144 : Helicopter lights | ||
* 524288 : Ignore avoid spheres+boxes | * 524288 : Ignore avoid spheres+boxes | ||
* 1048576 : More aggressive attacks | * 1048576 : More aggressive attacks | ||
==Inputs== | ==Inputs== | ||
{{I BaseHelicopter}} | |||
{{ScrollBox|title=| | |||
{{IO|GunOn||}} | |||
{{IO|GunOff||}} | |||
{{IO|MissileOn||}} | |||
{{IO|MissileOff||}} | |||
{{IO|EnableRotorWash||}} | |||
{{IO|DisableRotorWash||}} | |||
{{IO|EnableRotorSound||}} | |||
{{IO|DisableRotorSound||}} | |||
{{IO|StartBombingVehicle|Starts the chopper leading enemy vehicles and dropping bombs on them.|}} | |||
{{IO|StartTrailingVehicle|Starts the chopper trailing enemy vehicles and shooting at them.|}} | |||
{{IO|StartDefaultBehavior|Starts the chopper in the mode where he always stops at nav points instead of stopping anywhere in between nav points.|}} | |||
{{IO|StartAlwaysLeadingVehicle|Starts the chopper *always* leading enemy vehicles (regardless of how they are moving w/respect to the path) and dropping bombs on them. This mode is different from StartBombingVehicle in that it never uses the machine gun.|}} | |||
{{IO|StartSprinkleBehavior|Starts the chopper dropping bombs randomly + shooting at the player.|}} | |||
{{IO|StartBullrushBehavior|Starts the chopper bullrushing the player.|}} | |||
{{IO|SetHealthFraction|Sets the chopper health as a percentage of max health.|param=float}} | |||
{{IO|EnableDeadlyShooting|Starts the chopper being deadly to on-foot players.|}} | |||
{{IO|DisableDeadlyShooting|Stops the chopper being deadly to on-foot players.|}} | |||
{{IO|StartNormalShooting|The chopper will fire in short bursts. Good for on-foot experiences.|}} | |||
{{IO|StartLongCycleShooting|The chopper fires in long bursts.|}} | |||
{{IO|StartContinuousShooting|The chopper fires continuously.|}} | |||
{{IO|ResetIdleTime|Allows the helicopter to fire immediately if he's not in the middle of charging or firing.|}} | |||
{{IO|SetAngles|Instantly snaps the orientation of the helicopter.|param=angles}} | |||
{{IO|DropBomb|Immediately drops a bomb based on normal bomb dropping rules.|}} | |||
{{IO|DropBombStraightDown|Immediately drops a bomb directly downwards.|}} | |||
{{IO|DropBombAtTarget|Immediately drops a bomb directly at the target destination, but only if the player isn't right there.|param=target_destination}} | |||
{{IO|DropBombAtTargetAlways|Immediately drops a bomb directly at the target destination, no matter whether it's fair or not.|param=target_destination}} | |||
{{IO|DropBombDelay|Add a delay before the next bomb is dropped.|param=float}} | |||
{{IO|BecomeIndestructible| Makes the helicopter take no more damage.|}} | |||
{{IO|DisablePathVisibilityTests|When the helicopter moves, he will not check for visibility from the path_track to the enemy to cull out path_tracks.|}} | |||
{{IO|EnablePathVisibilityTests|When the helicopter moves, he will only move to path_tracks that have line-of-sight to the enemy.|}} | |||
}} | |||
==Outputs== | ==Outputs== | ||
{{O BaseNPC}} | |||
{{IO|OnHealthChanged|Fires when the helicopter health changes. The integer is the percentage of health the chopper has from 0-100.|param=int}} | |||
[[Category:Half-Life 2 NPCs]] | [[Category:Half-Life 2 NPCs]] |
Revision as of 16:12, 4 February 2012
Template:Hl2 point A Combine helicopter, (also called a "Hunter-Chopper") armed with a machine gun and capable of dropping mines.
Entity description
The mines are buoyant, and their timer only activates when they collide with the environment. In Episode 2 their detonation timer is delayed when picked up by the Gravity gun. Upon touching an NPC they detonate instantly. They can be dropped one at a time, or when triggered the helicopter can rush a target dropping a massive amount of mines.
- This is a flying NPC that uses info_node_air, info_node_air_hint or path_tracks for AI navigation.
- This NPC can follow Path_track entities as well.
Related Entities:
- npc_heli_avoidbox Is a brush entity that the helicopter will avoid.
- npc_heli_avoidsphere Is an entity that keeps helicopters out of a spherical area.
- npc_heli_nobomb This entity suppresses helicopter bombing
- helicopter_bomb This entity is a bomb that the helicopter can drop




Dedicated Console Variables
Dedicated Console Variables:
- sk_helicopter_health <int>
- Helicopter Spawn Health (Default: 5600).
- sk_helicopter_firingcone <float>
- The angle in degrees of the cone in which the shots will be fired.
- sk_helicopter_burstcount <int>
- How many shot bursts to fire after charging up. Bigger number = longer firing.
- sk_helicopter_roundsperburst <int>
- How many shots to fire in a single burst.
- sk_helicopter_grenadedamage <float>
- The amount of damage the helicopter grenade deals.
- sk_helicopter_grenaderadius <float>
- The damage radius of the helicopter grenade.
- sk_helicopter_grenadeforce <float>
- The physics force that the helicopter grenade exerts.
- sk_npc_dmg_helicopter_to_plr <float>
- Damage helicopter shots deal to the player.
- Used in ammotype "HelicopterGun".
- sk_npc_dmg_helicopter <float>
- Damage helicopter shots deal to everything but the player.
- Used in ammotype "HelicopterGun".
- sk_helicopter_drone_speed <float>
- How fast does the zapper drone move?
- g_helicopter_chargetime <float>
- How much time we have to wait (on average) between the time we start hearing the charging sound + the chopper fires.
- g_helicopter_bullrush_distance <float>
- Todo: Add a description for this variable.
- g_helicopter_bullrush_bomb_enemy_distance <float>
- Todo: Add a description for this variable.
- g_helicopter_bullrush_bomb_time <float>
- Todo: Add a description for this variable.
- g_helicopter_idletime <float>
- Todo: Add a description for this variable.
- g_helicopter_maxfiringdist <float>
- Todo: Add a description for this variable.
- g_helicopter_bullrush_bomb_speed <float>
- Todo: Add a description for this variable.
- g_helicopter_bullrush_shoot_height <float>
- Todo: Add a description for this variable.
- g_helicopter_bullrush_mega_bomb_health <float>
- Todo: Add a description for this variable.
Keyvalues
BaseHelicopter:
- Initial Speed (InitialSpeed) <string>
- The speed that the entity should try to reach as soon as it spawns
- Target path_track (target) <targetname>
- The name of a path_track that this NPC will fly to after spawning.
- GracePeriod ([todo internal name (i)]) <float>
- Time in seconds the helicopter has to see the player before he starts shooting.
- PatrolSpeed ([todo internal name (i)]) <float>
- Speed at which the helicopter moves if he has no enemy.
Flags
- Wait Till Seen : [1]
- Gag (No IDLE sounds until angry) : [2]
- Fall to ground (unchecked means *teleport* to ground) : [4]
- Drop Healthkit : [8]
- Efficient - Don't acquire enemies or avoid obstacles : [16]
- No Rotorwash : [32]
- Await Input : [64]
- Wait For Script : [128]
- Long Visibility/Shoot : [256]
- Fade Corpse : [512]
- Think outside PVS : [1024]
- Template NPC (used by npc_maker, will not spawn) : [2048]
- Do Alternate collision for this NPC (player avoidance) : [4096]
- Don't drop weapons : [8192]
- 65536 : Loud rotor wash sound
- 131072 : Electrical drone
- 262144 : Helicopter lights
- 524288 : Ignore avoid spheres+boxes
- 1048576 : More aggressive attacks
Inputs
|
- GunOn
- GunOff
- MissileOn
- MissileOff
- EnableRotorWash
- DisableRotorWash
- EnableRotorSound
- DisableRotorSound
- StartBombingVehicle
- Starts the chopper leading enemy vehicles and dropping bombs on them.
- StartTrailingVehicle
- Starts the chopper trailing enemy vehicles and shooting at them.
- StartDefaultBehavior
- Starts the chopper in the mode where he always stops at nav points instead of stopping anywhere in between nav points.
- StartAlwaysLeadingVehicle
- Starts the chopper *always* leading enemy vehicles (regardless of how they are moving w/respect to the path) and dropping bombs on them. This mode is different from StartBombingVehicle in that it never uses the machine gun.
- StartSprinkleBehavior
- Starts the chopper dropping bombs randomly + shooting at the player.
- StartBullrushBehavior
- Starts the chopper bullrushing the player.
- SetHealthFraction <float >
- Sets the chopper health as a percentage of max health.
- EnableDeadlyShooting
- Starts the chopper being deadly to on-foot players.
- DisableDeadlyShooting
- Stops the chopper being deadly to on-foot players.
- StartNormalShooting
- The chopper will fire in short bursts. Good for on-foot experiences.
- StartLongCycleShooting
- The chopper fires in long bursts.
- StartContinuousShooting
- The chopper fires continuously.
- ResetIdleTime
- Allows the helicopter to fire immediately if he's not in the middle of charging or firing.
- SetAngles <angles >
- Instantly snaps the orientation of the helicopter.
- DropBomb
- Immediately drops a bomb based on normal bomb dropping rules.
- DropBombStraightDown
- Immediately drops a bomb directly downwards.
- DropBombAtTarget <targetname >
- Immediately drops a bomb directly at the target destination, but only if the player isn't right there.
- DropBombAtTargetAlways <targetname >
- Immediately drops a bomb directly at the target destination, no matter whether it's fair or not.
- DropBombDelay <float >
- Add a delay before the next bomb is dropped.
- BecomeIndestructible
- Makes the helicopter take no more damage.
- DisablePathVisibilityTests
- When the helicopter moves, he will not check for visibility from the path_track to the enemy to cull out path_tracks.
- EnablePathVisibilityTests
- When the helicopter moves, he will only move to path_tracks that have line-of-sight to the enemy.
Outputs
|
- OnHealthChanged <integer >
- Fires when the helicopter health changes. The integer is the percentage of health the chopper has from 0-100.