#13 Shot function

This isn't completely right yet, but I figured I should commit it anyways