Fix ship#fireBullet error; refactor