Well, of you want the ammunition compartment to move in exactly the same way as the barrel does during recoil, then you can have it attached to the barrel as a child object. Otherwise, you'll probably need to do a custom animation.
As for the other effects, I know it is possible to generate shockwaves, smoke, and camera shaking through weapon FX lists (in FXList.ini if you want to take a look). A shell casing would be more difficult, but you might be able to do that by coding the shell casing as if it were debris in an OCL (which has support for random velocity) and then calling it using the FireOCL= tag in the cannon's weapon.
|