func_tank_combine_cannon
is a brush entity available in Half-Life 2, Half-Life 2: Episode One, Half-Life 2: Episode Two, and Half-Life 2: Deathmatch. This entity forms the basis of the three-way Combine Autogun seen in Episode Two on ep2_outland_09
. It is operated by an npc_enemyfinder_combinecannon
and fires a powerful beam of dark energy. In Half-Life 2, the shooting ability appears to not function. In Episode One, the gun can harm things, but the visual effects are somewhat different than Episode Two.
Note:For use as a Combine Autogun, Effect Handling should be set to Combine Cannon and Ammo Type should be Combine Heavy Cannon
Note:This entity is also in the code for . Its functionality is not guaranteed.
Flags
BaseTank flags
- Active : [
1 ]
- Player : [
2 ] !FGD
- Humans : [
4 ] !FGD
- Aliens : [
8 ] !FGD
- Only Direct: The tank will only fire if it's target is in direct line of sight. : [
16 ]
- Controllable (by player) : [
32 ]
- Damage Kick : [
64 ]
- Aim at a particular position : [
128 ] !FGD
- Aim assistance : [
256 ] !FGD
- NPC : [
512 ] !FGD
- NPC Controllable : [
1024 ]
- NPC Set Controller : [
2048 ]
- Allow friendlies to hit player : [
4096 ]
- Don't use range as a factor in determining if something is in view cone : [
8192 ] !FGD
- Non-solid. : [
32768 ]
- Sound on : [
65536 ] !FGD
- Perfect accuracy every 3rd shot at player : [
131072 ]
|
Keyvalues
- Name
(targetname)
<string>
- The name that other entities refer to this entity by, via Inputs/Outputs or other keyvalues (e.g.
parentname
or target
).
Also displayed in Hammer's 2D views and Entity Report.
BaseTank keyvalues
- Bullets
(bullet) <choices>
- Ammo type. Be aware that some games will use Ammo type instead.
Literal value |
Description
|
0 |
None
|
1 |
Pistol
|
2 |
SMG1
|
3 |
AR2 (shows pistol/smg1 bullets?)
|
4 |
Laser (does nothing)
|
- Ammo type
(ammotype) <choices>
- Ammo type. Be aware that some games will use Bullets instead.
Value |
Description
|
|
None
|
Pistol |
Pistol
|
SMG1 |
SMG1
|
AR2 |
AR2
|
CombineHeavyCannon |
Combine Heavy Cannon (Episode 2 autogun)
|
- Control Volume
(control_volume) <targetname>
- Name of a trigger the player must be inside to control the tank.
- (Team) Master
(master) <string>
- Not used for Source. Provided for backwards compatibility with
multisource or game_team_master .
- Yaw rate
(yawrate) <string>
- How fast tank can look left or right.
- Yaw range
(yawrange) <string>
- How far tank can turn left or right.
- Yaw tolerance
(yawtolerance) <string>
- Additional left-right range. If the gun tries to turn beyond Yaw range + Yaw tolerance, the gun will snap back to the maximum Yaw range.
- Pitch rate
(pitchrate) <string>
- How fast tank can look up or down
- Pitch range
(pitchrange) <string>
- How far tank can turn up or down
- Pitch tolerance
(pitchtolerance) <string>
- Additional up-down range. If the gun tries to turn beyond Pitch range + Pitch tolerance, the gun will snap back to the maximum Pitch range.
- Barrel Length
(barrel) <string>
- Solid length of the tank barrel. Any part of the barrel beyond this length may clip through objects.
- Barrel Horizontal
(barrely) <string>
- How wide the barrel is, horizontally.}
- Barrel Vertical
(barrelz) <string>
- How wide the barrel is, vertically.
- Smoke Sprite
(spritesmoke) <sprite>
- Smoke sprite to emit when gun fires.
Bug:Transparency may not work. [todo tested in?]
- Flash Sprite
(spriteflash) <sprite>
- Flash sprite to emit when gun fires.
- Sprite scale
(spritescale) <string>
- Sprite scale for both sprites above.
- Rotate Start Sound
(rotatestartsound) <sound>
- Sound to play when tank starts to turn.
- Rotate Loop Sound
(rotatesound) <sound>
- Sound to play when tank is turning.
- Rotate Stop Sound
(rotatestopsound) <sound>
- Sound to play when tank stops turning.
- Rate of Fire
(firerate) <string>
- Number of bullets to fire in a second.
- Damage Per Bullet
(bullet_damage) <string>
- How much a single bullet hurts everything except the player. If
0 , takes amount from the type of bullet/damage.
- Damage Per Bullet Vs Player
(bullet_damage_vs_player) <string>
- How much a single bullet hurts the player only. If
0 , takes amount from the type of bullet/damage.
- Firing persistence
(persistence) <string>
- How many seconds to keep firing at target's last known position after losing LOS (for NPCs).
- Firing persistence2
(persistence2) <string>
- After Firing persistence is over, how many seconds to periodically fire at target's last known position (for NPCs).
- Bullet accuracy
(firespread) <choices>
- How accurately the gun can fire.
- 0: Perfect Shot
- 1: Small cone
- 2: Medium cone
- 3: Large cone
- 4: Extra-large cone
- Minimum target range
(minRange) <string>
- Minimum range to target something (for NPCs). If a target is closer than this amount, the NPC will probably switch to any weapon they have on them.
- Maximum target range
(maxRange) <string>
- Maximum range to target something (for NPCs).
Confirm:This may actually be the distance for aim assistance instead?
- Gun Base Attachment
(gun_base_attach) <string>
- If Parent is specified, this is the attachment point on the parent to aim from.
- Gun Barrel Attachment
(gun_barrel_attach) <string>
- If Parent is specified, this is the attachment point on the parent to fire from. If you specify this, you'll want to specify the Gun Base Attachment too.
- Gun Yaw Pose Param
(gun_yaw_pose_param) <string>
- If Parent and Gun Pitch Pose Param are specified, then the gun itself will be invisible and the tank will steer a gun on the parent using the pose parameters.
- Gun Yaw Pose Center
(gun_yaw_pose_center) <float>
- The center yaw pose parameter of the gun on the parent.
- Gun Pitch Pose Param
(gun_pitch_pose_param) <string>
- If Parent and Gun Yaw Pose Param are specified, then the gun itself will be invisible and the tank will steer a gun on the parent using the pose parameters.
- Gun Pitch Pose Center
(gun_pitch_pose_center) <float>
- The center pitch pose parameter of the gun on the parent.
- Ammunition Count
(ammo_count) <integer>
- Amount of ammo when player is using. -1 = unlimited ammo.
- Lead Target
(LeadTarget) <boolean>
- Aim ahead to hit moving targets (for NPCs).
- NPC Man Point
(npc_man_point) <targetname>
- Point where NPC must stand to use.
- Post-NPC Attack Grace Period
(playergraceperiod) <float>
- If specified, NPC's manning this func tank won't fire at the player, after firing at a non-player, for this amount of time.
- Ignore Grace Upto
(ignoregraceupto) <float>
- The player grace period is ignored if the player is under this distance from the tank.
- Player Lock Time
(playerlocktimebeforefire) <float>
- The tank must be aiming right on the player for this amount of time before it's allowed to fire.
- Effect Handling
(effecthandling) <choices>
- Produce these sound and particle effects when firing.
- 0: Use Individual Settings.
- 1: AR2
- 2: Combine Cannon
|
Warning:Despite fire rate appearing variable, it is actually hardcoded to 1.5
Inputs
DisableHarrass
- Disable the cannon tracking an unseen player.
EnableHarrass
- Allow the cannon to track and pester a player who is hiding (by default, it can).
BaseTank inputs
Activate
- Turn the tank on.
Deactivate
- Turn the tank off (go dormant).
SetFireRate <float>
- How fast to fire (0 = don't fire).
SetDamage <integer>
- Set the Damage Per Bullet keyvalue.
SetTargetPosition <vector>
- World position (coordinates) that to aim at
SetTargetDir <vector>
- Direction (pitch yaw roll) to aim at.
SetTargetEntityName <targetname>
- "Set the entity I should follow/attack to the closest entity matching this name."[Clarify]
SetTargetEntity <entity>
- "Set the entity I should follow/attack to the passed in entity. This requires an output which passes an entity through the output."[Clarify]
ClearTargetEntity
- Clear the entity memory of any targets it was told to attack.
FindNPCToManTank <string>
- Find a nearby capable NPC to man this tank.
StartFindingNPCs
- Start searching for capable NPCs to man this tank.
StopFindingNPCs
- Stop searching for capable NPCs to man this tank.
ForceNPCOff
- Force the NPC manning this tank (if any) to leave.
SetMaxRange <float>
- Set the max range of the tank.
Confirm:Maximum distance a shot can go?
|
Outputs
OnShotAtPlayer
- Fired every time the cannon shoots at the player.
BaseTank outputs
OnFire
- Fires when the tank fires its bullets.
OnAquireTarget
- Fires when target is newly in range and can be shot.
OnLoseTarget
- Fires when when target goes out of range.
OnAmmoDepleted
- DO NOT USE. Exists in code, but never coded to fire at any point.
OnGotController
- Fires when an NPC starts to control this tank. Players do NOT fire this input.
OnGotPlayerController
- Fires when a Player starts to control this tank. NPCs do NOT fire this input.
OnLostController
- Fires when the NPC controller of the tank stops controlling it. Players do NOT fire this input.
OnLostPlayerController
- Fires when the Player controller of the tank stops controlling it. NPCs do NOT fire this input.
OnReadyToFire
- Fires once when the tank spawns, or is done waiting to fire between rounds. Useful for playing a reloading/charging/searching sound possibly.
|