8.9 2024-05-31
Updated for Gold Road
8.8 2024-03-18
-Fixed Chinese zone lua error (sorry, and thanks for the fix bevisbear)
8.7 2024-03-11
-Updated API version for Scions of Ithelia
-Added new zones
8.6 2023-08-04
Updated APIversion
Updated GeoPArentData for Apocrypha public dungeons & delves which showed their parent = Telvanni Peninsula (thanks to DeadSoon)
8.5 2023-05-02
-Updated API version for Necrom
-Added new zones for Necrom
-Added 2 new public dungeons
8.4 2023-03-14
-Updated API version for Scribes of Fate
-Added new zones for Scribes of Fate
8.3 2022-12-27
-Updated API version for Firesong
-Added new zones for Firesong
8.2 2022-08-26
-Updated API version
-Added new zones for geoParent -> IsJustaGhost
8.1 2022-07-30
-Updated for API101035 Lost Depths
-Added new zoneIds and names
-Added support for Spanish zone names (language: ES)
8.0 2022-07-11
-Added on request:
Geographical parent data - by IsJustaGhost
Used so far in addon: AccurateWorldMap by Thal-J
[New API functions]
--Get the zoneData of the zoneId and read it's pinInfo, and return the parentZoneId and,
--if exists, poiIndex of the map pin associated with the zoneId.
--parameters number: zoneId, number:nilable parentZoneId
-->return: number:nilable parentZoneId, number:nilable parentZoneIndex, table:nilable poiIndex
function lib:GetZoneMapPinInfo(zoneId, parentZoneId)
--Get the geographical parentZoneId of a zoneId. This will not use the games API function GetParenZoneId(zoneId) as this
--might return any other zoneId which is not the geographical parent zoneId.
--If you need to get the normal parent zoneId use GetParenZoneId(zoneId)
-->return: number:nilable parentZoneId
function lib:GetZoneGeographicalParentZoneId(zoneId)
--Get the geographical parentMapId of a zoneId.
-->return: number:nilable parentMapId
function lib:GetZoneGeographicalParentMapId(zoneId)
--Get the geographical parentMapId of a mapId
-->return: number:nilable parentMapId
function lib:GetGeographicalParentMapId(mapId)
-- Display mapPins of relevant POIs for the selected zone.
--parameters number: zoneId
function lib:InspectZonePoiInfo(zoneId)
----Debugging and adding/updating new geo parent zone data after patches----
--Display mapPins' poiIndex and name of relevant POIs for the selected zone.
--parameters number zoneId
function lib:DebugInspectZonePoiInfo(zoneId)
-- Used after updating geoDataReferenceTable with savedVariable data to clear the geoDebugData savedVariables.
function lib:DebugClearGeoDataSv()
-- Runs a series of functions to check if any zones have not been accounted for in lib.geoDataReferenceTable and lib.geoDebugData savedVariables.
-- For all zones not accounted for, adds to a savedVariable based on if it was matched with a map pin or not.
--
-- use regex to condense the savedVariable output.
-- [1318] = [1318] = {
-- { [1318] = 0, -- High Isle --> High Isle
-- [1318] = 0, },
-- ["1318_target"] = "-- High Isle --> High Isle"
-- },
--
-- Attempt to locate map pins for unverified entries. Use savedVariables zonePoiInfo as reference. Or, attempt to locate online.
-- Minimal requirement is to ensure parentZoneId is correct. If no map pin just leave at 0.
-- Manually append verified and updated unverified entries to lib.geoDataReferenceTable.
-- LibZone:DebugClearGeoDataSv() to clear the geoDebugData savedVariables.
function lib:DebugVerifyGeoData()
7.8 2022-04-22
Updated API
Updated with High Isle data
Added 2 new public dungeons
7.7 2022-03-12
Updated API
Updated with Ascending tide data
Fixed zone detection functions LibZone:GetCurrentZoneAndGroupStatus(), LibZone:IsInDelve, LibZone:IsInPublicDungeon() to not return true for delve/group/public dungeon if you are outside near it so that the POI's name is shown above the compass already
7.6 2021-12-17
Updated API
Updated with Deadlands data
7.5
-Fixed lib:IsInAnyDungeon() -> thanks to Xandaros
-Added table lib.publicDungeonMapIds and excel document for the list
This is used within the lib's API functions to determine if we are in a public dungeon
7.4
-Updated API to Blackwood
-Added new zone info of Blackwood
-Changed API function GetZoneNameByLocalizedSearchString to allow return = search language
7.2
Removed debug message
7.1
-Updated API version for Flames of Ambition
-Added/changed preloaded zone data
-Added automatically check for zoneIds which are not known yet at an APIversion -> Will be removed from the preloaded zonedata as long as the zoneIds do not exist ingame
7.0
-API100032 + 100033 Markarth ready
6.9
-API100031 + 100032 Stonethorn ready
6.8
-API100030 + 100031 Greymoor ready
-Added functions:
--Get the zone and subZone string from the given map's tile texture (or the current's map's tile texture name)
--> Returns: string zoneName, string subZoneName, string mapTileTextureNameLowerCase, string mapTileTextureNameUnchangedComplete
function lib:GetZoneNameByMapTexture(mapTileTextureName, patternToUse, chatOutput)
--Get the current map's zoneIndex and via the index get the zoneId, the parent zoneId, and return them
--+ the current zone's index and parent zone index
--> Returns: number currentZoneId, number currentZoneParentId, number currentZoneIndex, number currentZoneParentIndex
function lib:GetCurrentZoneIds()
6.7
Updated API properly
Removed entries with lastScanned and APIVersion in translated zoneId data
6.6
Rescanned DE, EN, FR translations as some values from PTS contained dummy names (e.g. Unhallowed Grave)
6.5
Updated API to Harrowstorm
Added new zonedata in de, en, fr languages
6.4
Updated preloaded Japanese translations. Thanks to: Calamath
6.3
Fixed: New scanned zoneNames in client language were not added to the preScanned data properly and the API functions did not find them.
Added: Prescanned zonedata for Southern Elsweyr (de, en, fr, ru)
API function GetMaxZoneId which will return as 1st parameter the maximum possible zoneId and as 2nd parameter the maximum possible zoneIndex.
Removed: LibStub support. Please only load this library via it's global variable "LibZone" now!
6.2
API update for Dragonhold.
Added new zone data of Elsweyr south.
6.1
Made LibSlashCommander optional. If the library is not installed/activated you cannot use the slash commands to translate zone names in chat!
But you still got access to the zone data via LibZone's API functions.
6
-Raised API
-Removed table LibZone.givenZoneData -> Please use the API function LibZone:GetAllZoneData() instead!
-Fixed translations for some zones
-Added new zones
-Preloaded the data for each zone in different languages.
-SavedVariables will NOT contain the whole zoneNames anymore! This will speed up the loading.
Only the unknown/non translated zoneNames will be written to the SavedVariables autoamtically now.
If you want to provide me your client's language zoneNames you can provide me your SavedVariables file "LibZone.lua".
The following languages are up 2 date: DE, EN, FR
The following languages need updates: JP, RU, PL
All other languages are missing so far.
5
-Raised API
-Added ##IsLibrary: true manifest TXT tag
-Made the library work without LibStub and with.
You can use the global variable
to access it without LibStub.
-Added Elsweyr zone names for de, en and fr. If you are using the pl, jp or ru clients send me the new zoneIds with their translations from your LibZone.lua SavedVariables please.
0.4
-Removed LibStub from the libs subfolder
-Removed the libs subfolder. This library needs the following libraries installed as standalone versions:
LibStub LibSlashCommander
-Updated Japanese translations
-Added Polish translations and chat commands: /lztpl or /transzpl
Thankls for provided the translations!
0.3
-Fixed localized zone data overwritten (corrected manifest txt)
-Added Japanese translations
-Added Russian translations
-Added ## AddOnVersion tag to manifest txt
-Added function to get localized zoneNames and their zoneIds by help of a search String (zone name) and search language:
--Get the localized zone names matching to a localized search string
-->searchStr: The String with the search value of a zone name (using searchLanguage)
-->searchLanguage: The langauge to search the searchStr variable in Format example: "en". Can be nil (<nilable>)! If the searchLangauge is nil the client language will be taken as searchLanguage.
-->returnLanguage: The language for the translated results. e.g. you search for "Ostmar" with search language "de" and the return language "en". The result will be the "Eastmarch" zone.
--->Returns table containing the zoneId as table key and the localized (in language: returnLanguage) full zone name, matching to the search string, as table value
function lib:GetZoneNameByLocalizedSearchString(searchStr, searchLanguage, returnLanguage)
-Added: Slash commans /lzt or /transz:
Enter a zone name afterwards (in your client language) or choose it from the autocompletion list.
Press tab or space to chose the zonename, and you'll see another auto completion which will provide you the translations of this zone to other languages.
Chosing an entry will put the translated zone name into the chat.
-Added slash commands to search in your desired language:
/lztde or /transzde: German
/lzten or /transzen: English
/lztfr or /transzfr: French
/lztjp or /transzjp: Japanese
/lztru or /transzru: Russian