Restructure the unlimited ammo check to be more efficient, closes #6