In an ongoing project of mine, I have collected the coordinate data for most quests in the game using the lua files within the current version of the WoWPro Guides addon. The goal of this project is to determine what zone has the most clustered questing routes mathematically. This would be via calculating the rough travel length of each route from the guides.

I have one problem: the coordinate data I have is based on a 100x100 grid which disregards what scale each zone map uses. Unfortunately, this makes the data mostly unusable for my project as one coordinate unit could be anywhere from five to twenty in-game yards. However, I have found this addon's sort-of companion, TomTom, somehow shows the distance to a waypoint in yards from a bird's eye view, which is perfect for a rough estimate of area for clustered objectives.

My main question is this: how might I most easily convert each coordinate from the 100x100 grid system of the zone map's coordinates to in-game yards but within a spreadsheet?

I did some preliminary testing with TomTom by taking my character's current coordinates in the zone and adding a large number to the Y coordinate of that location. This lets me determine how far away my character is from the new waypoint far away from my character, and with this, I divide by the large number I added to the coordinate (around 10000 or so) in order to establish the horizontal scale for that zone to around four decimal points of precision. With that horizontal scale, I determine the vertical scale by multiplying by 1.5 (the most common ratio between horizontal and vertical length for each zone map).

This sort-of works... but it's not easy. At this stage, I would have to go into the game and perform these range-finding tasks for every zone... which is a lot of them at this point.

What would be simpler is to determine how TomTom calculates the yardage and perform those calculations in my spreadsheet without the game needing to be run. I haven't yet been able to identify TomTom's method for determining the distance in yards to a waypoint, and I need help.

Is there some other method for converting 100x100 coordinates to in-game yards? Or does someone out there know how TomTom calculates the yards 'til destination for display below the crazy arrow and is willing to show me the formulas?

Let me know your thoughts and findings. Thanks in advance.

  • You could try to look into the code of the Tomtom addon. It should have a function to determine the scaling factor either from the game itself or from a table of values you could copy. – Raidri supports Monica May 26 at 10:05
  • I have attempted to look through TomTom's functions to find how it calculates the yardage, but what I know about lua is very rusty. I've been able to track how it feeds this info to the main disply functions to TomTom.profile.arrow.arrival, but I can't seem to find the proper place where this variable is set. – dpcollier128 May 26 at 19:15
  • Good news! I not only found the point in the code where the arrival distance gets set, but I also found where the library used sets its table of zone map heights and widths... The bad news is: this height and width data isn't listed out in a readable fashion. I'll see what I can do about having the code spit this info out into a text document for me, but this may or may not be what I'm looking for anyway. It depends on how well the data is represented there. I'll see if I can simply have the lua scripts output the whole data table directly into text. – dpcollier128 May 26 at 20:41

So, I came to the conclusion that using the range-finding tasks I had before would be a simpler task than exporting the data from HereBeDragons then learning how to deconstruct it for my purposes. I basically flew around each continent activating a macro that would set a faraway point then tell me how far away that point is in under one second from making it. I used a chat copying addon to help me import the data to a form I can use instead of typing each thing in by hand, which made things bearable.

The trick was figuring out how far out the point could be without causing UI errors. I chose a Y value of 10000000 (10 million); at which point, I didn't have to add or subtract my current coordinates in order for this evaluation to be accurate enough. I simply truncated the trailing decimals past 4 places to give me more or less the right scalar I was using before when taking the time to add my current coords.

Sorry for the disappointing result. I just didn't have the patience to re-learn lua for this project nor the patience to decipher the data this particular addon library uses. I'm now onto another stage of my project. Thank you for the input provided.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.