See if the damage formula makes sense.
Play on maps with hills and see if the value of k seems reasonable. (Add some print lines to spit out the actual elevation differences, etc.)
See if my understanding of the code is correct.
I accidently left in the spread fix from D780, so ignore that line.
I'll add tests once the formula is okayed.
In GetRange(), there's ApplyValueModificationsToEntity for elevationBonus. Currently there's no tech or aura that actually modifies that, and I'm not sure how it would want to be applied, to elevationBonus or elevationBonus + elevationDifference or something else. (Are we expecting towers to grow?) So I simply ignored calling that in GetElevationBonus().