improved the shot class so most of the projectile specific actions are in the ShotType enum ,  fixed some issues