Abstract out damage calculation, and add a bit more to HG route