The env_shooter entity allows to emit a model or sprite of your choice and shoot it into a certain direction (Pitch Yaw Roll), at a certain velocity. Sprites aren't specifically supported, though.
OnDestroy Function ondestroyfn : Name of the function to use from already parsed .as script files when entity is destroyed (killed) in any way. If the function belongs to namespace, you must use prefix with the namespace name (e.g. mynamespace::MyFunction) for the keyvalue.
Name targetname : Set name of env_shooter so other entities can trigger it to start shooting sprites or models. Every trigger use-type works uniformly. Can't be triggered when model/sprite shooting is in progress. Can be kill-targeted but gibs stay.
Pitch Yaw Roll (X Y Z) angles : Where Z means Y and Y means Z, that is, when you're thinking Hammer-grid. (Hammer uses Z for height and Y for depth, while every other sane 3D-application does this the other way round; nonetheless this keyvalue description has the letters in the conventional order) This, technically, is a 3D-vector containing Euler-angles to describe either the entity's rotation or direction of effect. E.g. a func_door_rotating will use this as its initial rotation, while a trigger_push will keep its original alignment and use this for the direction of its push-effect instead. Euler-angles are a hierarchical system to determine an object's orientation in 3D-space. A yaw-value of 0 would mean the entity would face east. (right in top-down view) 90 would mean it would face north. (up in top-down-view) After yaw, pitch is applied. Think aiming up/down with your character in first person. At last, the roll-value is applied. Think your character falling over sideways in first person. Some entities, mostly point entities, do not use the angles keyvalue for any purpose.
Number of Gibs m_iGibs : Set the amount of gibs to be shot when triggered.
Delay between shots delay : Set a delay between the individual gibs to be fired, in seconds.
Gib Velocity m_flVelocity : Firing-velocity of the gibs shot, in units per second.
Course Variance m_flVariance : This is multiplied with 3 random numbers from -1 to 1 to form a vector to be added to the normalized direction-vector of the gib-direction, per gib. A great value like 100 would make the gib-direction almost entirely random. You can think of this as a value between 0 and 1 resulting in a course-cone from 0 to 180 degrees size, though that's not exactly what it is, just an approximation.
Gib Life m_flGibLife : Time, in seconds, the gib will be visible till fading out of world and getting removed. This is actually randomly altered for every individual by minus to plus 5 per-cent.
Render FX renderfx : Set custom render FX effect. Only works when "Render Mode" is set to different than 'Normal'
Render Mode rendermode : Render mode determines how this entity is rendered.
FX Amount (1 - 255) renderamt : Render amount to use when other than "Render Mode" 'Normal' is used.
FX Color (R G B) rendercolor : Used with "Render Mode" 'Color' and 'Glow' to set color. Also sets color of 'Glow Shell' "Render Mode".
Model or Sprite name shootmodel : Set a model or sprite to shoot, preferably model. Path starts at modification's directory e.g. 'models/gib_skull.mdl' for models or 'sprites/glow03.spr' for sprites. Sprites path must be specified by hand or copied from elsewhere e.g. env_sprite.
Material Sound shootsounds : Sound-set to be used for when gibs collide with stuff.
Gib Scale scale : Scaling-factor for the models and sprites shot.
Gib Skin skin : Model sub-skin to be used. Leave at 0 if there are none.
1 : Repeatable : If set, the env_shooter can be used more than once.
2048 : Not in Deathmatch : Obsolete in Sven Co-op. Makes the entity don't appear in Multiplayer Games.
If your delay between shots is 0, the game will increase it notably; 0.01 works, though.
The gibs also bounce off players.
Gibs do not get stuck in each other.
Render-modes and -amount can be used to be applied to the gibs.
When shooting sprites, they often appear at the origin of the world.
Animated sprites won't animate. Model animations don't play, either.