You can use a rotation matrix and use the angle between the axis and the vector.
Also, you might want to add your suggestions to this thread:
But you should make sure that the stuff is not on the list yet, because I think the firerate modification, more sounds and effects and interacting with deployables are already on the list.