Quote:
Originally Posted by Micah
I think the "if (dx>0...)" bits subtract 1 from the range for each of those pairs that are true
|
Yeah. Normally, arrows would ignore diagonal movement and range would be determined as if they'd fly all the way to the front and then all the way to the side. That's the Manhattan metric, like a taxi cab that has to calculate distance by moving through the city blocks. If there is a greater amount of diagonal movement involved, though, then the game acknowledges that and allows for a little leeway by reducing the total distance a bit.
I'd think that this formula was chosen to speed up processing mostly.