View Single Post
06-14-18, 06:48 PM   #46
Nimhfree
A Frostmaul Preserver
AddOn Author - Click to view addons
Join Date: Aug 2006
Posts: 267
Here is an example that hopefully helps.

On a live server if you are in Stormwind and you do:

/dump GetCurrentMapAreaID()

you get:

[1]=301,
[2]=false

Blizzard indicates that the mapId is 301 for Stormwind City.

If you do:

/dump GetAreaMapInfo(301)

you get a bunch of stuff which includes:

[2]=1519

This 1519 is the zone value that is used on a site like wowhead for Stormwind City.

If you look in the UIMapIDToWorldMapAreaID.lua file dumped from a BfA beta system you will see a line:

84,301,,0

This means that BfA beta considers the mapID 84 to be the same that live called 301.

Now you have the three pieces of information you wanted:

Live mapID: 301
Live zoneID: 1519
BfA mapID: 84

You can create any mapping you want, e.g., you can say that BfA map 84 really is the same as zone 1519 on wowhead.

Now the BfA map transition is a bit of a pain since we tend to store map data using its old mapID or possibly a combination of mapID and dungeon level. So if we are to transition old map data to new we need to use that UIMapIDToWorldMapAreaID.lua to change values.

However, the new BfA map stuff is really useful for at least two reasons:

(1) There is no longer a dungeon level concept. Each map has its own ID. Therefore, if you have a dungeon with three levels, you have three unique map IDs.

(2) A character is in more than one map at the same time. For example, all at the same time a character can be in a dungeon, in a city, in a zone, in a continent, on a world. On each map the coordinates will be different. When one looks at a map at any level one can easily see where the character is (assuming the map shows the character).
  Reply With Quote