lots of refactoring

added constants and made projectile creation much cleaner