add weapon and projectile classes, shooting spread