add attack fn