Yep, I think the general attack function works