physics_cannister
![]() |
---|
CPhysicsCannister |
![]() |
physics_cannister
is a model entity available in all Source games. It is a physically simulated gas canister (with a misspelled entity name) that can have its cap shot off, at which point gas will start escaping, causing the canister to fly around. If it takes enough damage, it will explode.



nozzle
attachment point, which is where gas will escape and thrust will be produced from.The thrust will be simulated along the Z axis, visualized as the blue line of the attachment in HLMV.
Usable models in Half-Life 2:
- models/props_c17/canister01a.mdl
- models/props_c17/canister02a.mdl
- models/props_c17/canister_propane01a.mdl
Entity behavior
By default, physics_cannister
spawns with 25 health. If its health is overriden to be at or below 0, it will also reset to 25. The canister will activate and start flying in the following cases:
- If fired at, with damage taken being less than the canister's health;
- If taking explosive damage less than the canister's health;
- If taking melee or crushing damage, but only 50% of the time;
- If being picked up and launched by the Gravity Gun (but not when punted or put down);
- By being inside the Barrel Volume of a func_tankphyscannister when it fires;
- By using the
Activate
input on the canister.
The canister will explode in the following cases:
- If taking damage that exceeds its health;
- If already active (flying) and taking any bullet/buckshot, explosive, or burn damage;
- If hitting something at >1000 speed.
It should be noted that the canister remains volatile and will explode even after it ceases flight. Rather notoriously, it can also explode, after stopping, when stepped on or pushed against any hard surface.
Canisters used in conjunction with a func_tankphyscannister
are programmed to fly in a straight line, otherwise a small offset is applied to the thruster, making the canister fly more chaotically. In addition, canister fired from a func_tankphyscannister
fly at 4 times the regular speed, are limited to only 10 seconds of flight, and explode upon touching anything.
Keyvalues
- Name (targetname) <string>[ Edit ]
- The name that other entities refer to this entity by, via Inputs/Outputs or other keyvalues (e.g.
parentname
ortarget
).
Also displayed in Hammer's 2D views and Entity Report.See also: Generic Keyvalues, Inputs and Outputs available to all entities
- Explosion Damage (expdamage) <string>
- The amount of damage done by the explosion created when the canister blows up.
- Explosion Radius (expradius) <string>
- The radius of the explosion to create when the canister blows up.
- Health (health) <integer>
- The amount of damage the canister takes before exploding.
- Thrust (thrust) <string>
- When the cap has been blown off, and the escaping gas is thrusting the canister about, this is the amount of thrust generated.
- Fuel Seconds (fuel) <string>
- The amount of time that gas leaks from the canister before being considered empty.
- Smoke Color (R G B) (rendercolor) <color255>
- Color of the smoke.
- Smoke Alpha (0 - 255) (renderamt) <integer 0–255>
- Transparency of the smoke.
- Thruster Sound (gassound) <sound>
- The sound played when the gas is escaping from the canister.
CBaseCombatCharacter:
- Relationship (Relationship) <string> !FGD
- <string|targetname or classname> <string|disposition> <int|rank>
- Changes whether this entity likes or dislikes certain other things. Used like the ai_relationship entity, with this entity as the subject.
- Values for
disposition
are:D_HT
: HateD_FR
: FearD_LI
: LikeD_NU
: Neutral
- Physics Impact Damage Scale (physdamagescale) <float>
- Multiplier for damage amount when this entity is hit by a physics object. With a value of 0 the entity will take no damage from physics.
Flags
- Start Asleep : [1]
- Explode : [2]

Inputs
- Activate
- Start gas escaping from the canister.
- Deactivate
- Stop gas escaping from the canister.
- Explode
- Force the canister to explode.
- Wake
- Wakes up the canister, 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.
Outputs
- OnActivate
- Fired when gas starts to escape from the canister.
- OnAwakened
- Fired when this entity becomes awake (collision/force is applied).
See also
Func_tankphyscannister - a brush entity that works as a controllable turret that shoots out physics_cannisters
.