Refactored weapons fire