As noted in D2759, splash calculates falloff based on centre-to-point distance, which is somewhat incorrect -> it ought to use nearest-edge-to-point distance.
This:
- cleans up GetUnitSize for just GetSize (unrelated in this iteration of the patch but I noticed it while working on this)
- Uses DistanceToPoint to calculate an exact distance for falloff
- Makes sure the damage multiplier cannot be below 0.
The change to DistanceToPoint might be controversial - it's certainly slower, but for buildings it's required.