diff --git a/libs/HereBeDragons/CHANGELOG.md b/libs/HereBeDragons/CHANGELOG.md
index 2edf0ca..93e111e 100755
--- a/libs/HereBeDragons/CHANGELOG.md
+++ b/libs/HereBeDragons/CHANGELOG.md
@@ -1,11 +1,15 @@
# Lib: HereBeDragons
-## [2.02-release](https://github.com/Nevcairiel/HereBeDragons/tree/2.02-release) (2019-07-24)
-[Full Changelog](https://github.com/Nevcairiel/HereBeDragons/compare/2.01-release...2.02-release)
+## [2.02-release-10-gd4da4b5](https://github.com/Nevcairiel/HereBeDragons/tree/d4da4b5ce4d13617d23f1d5a4205fb3e5b641df2) (2020-02-02)
+[Full Changelog](https://github.com/Nevcairiel/HereBeDragons/compare/2.02-release...d4da4b5ce4d13617d23f1d5a4205fb3e5b641df2)
-- Update TOC
-- Add World Map Data for Classic
-- Preliminary WoW Classic support
-- Add travis-ci support
-- Add LuaCheck and EditorConfig, and clean sources to pass
-- Fill in the map list by iterating over all known maps, in addition to processing the child tree
+- Update TOC for 8.3
+- Add static override for the minor vision in the Vale of Eternal Bossoms
+- Check for existing static overrides as well
+- Avoid dynamically mapping instances in both directions
+- Properly mark variables as unused
+- Add Uldum N'zoth Invasion Scenario override
+- Add Arms Warrior Artifact Scenario override
+- Add a dynamic instance ID override tracker for unknown scenarios
+- Consistently specify an error level
+- Add a type check for showFlag, otherwise it might error later
diff --git a/libs/HereBeDragons/HereBeDragons-2.0.lua b/libs/HereBeDragons/HereBeDragons-2.0.lua
index bfd1df8..bbcc3be 100755
--- a/libs/HereBeDragons/HereBeDragons-2.0.lua
+++ b/libs/HereBeDragons/HereBeDragons-2.0.lua
@@ -1,6 +1,6 @@
-- HereBeDragons is a data API for the World of Warcraft mapping system
-local MAJOR, MINOR = "HereBeDragons-2.0", 10
+local MAJOR, MINOR = "HereBeDragons-2.0", 13
assert(LibStub, MAJOR .. " requires LibStub")
local HereBeDragons, oldversion = LibStub:NewLibrary(MAJOR, MINOR)
@@ -66,7 +66,8 @@ local instanceIDOverrides = {
[1626] = 1220, -- Suramar Withered Scenario
[1662] = 1220, -- Suramar Invasion Scenario
-- BfA
- [2241] = 1, -- Uldum N'zoth invasion
+ [2241] = 1, -- Uldum N'zoth assault
+ [2275] = 870, -- Vale of Eternal Blossoms N'zoth Minor Vision
}
local dynamicInstanceIDOverrides = {}
@@ -254,7 +255,7 @@ local function UpdateCurrentPosition(instanceCheck)
-- try to override the instance if possible
if instanceCheck then
local _x, _y, instance = HereBeDragons:GetPlayerWorldPosition()
- if instance and mapData[uiMapID] and mapData[uiMapID].instance ~= instance and uiMapID ~= -1 and not dynamicInstanceIDOverrides[instance] then
+ if instance and mapData[uiMapID] and mapData[uiMapID].instance ~= instance and uiMapID ~= -1 and not instanceIDOverrides[instance] and not instanceIDOverrides[mapData[uiMapID].instance] then
dynamicInstanceIDOverrides[instance] = mapData[uiMapID].instance
end
end
diff --git a/libs/HereBeDragons/HereBeDragons-Pins-2.0.lua b/libs/HereBeDragons/HereBeDragons-Pins-2.0.lua
index 6470ec9..4fddedd 100755
--- a/libs/HereBeDragons/HereBeDragons-Pins-2.0.lua
+++ b/libs/HereBeDragons/HereBeDragons-Pins-2.0.lua
@@ -1,6 +1,6 @@
-- HereBeDragons-Pins is a library to show pins/icons on the world map and minimap
-local MAJOR, MINOR = "HereBeDragons-Pins-2.0", 6
+local MAJOR, MINOR = "HereBeDragons-Pins-2.0", 7
assert(LibStub, MAJOR .. " requires LibStub")
local pins, _oldversion = LibStub:NewLibrary(MAJOR, MINOR)
@@ -516,7 +516,7 @@ HBD.RegisterCallback(pins, "PlayerZoneChanged", UpdateMinimap)
-- @param floatOnEdge flag if the icon should float on the edge of the minimap when going out of range, or hide immediately (default false)
function pins:AddMinimapIconWorld(ref, icon, instanceID, x, y, floatOnEdge)
if not ref then
- error(MAJOR..": AddMinimapIconWorld: 'ref' must not be nil")
+ error(MAJOR..": AddMinimapIconWorld: 'ref' must not be nil", 2)
end
if type(icon) ~= "table" or not icon.SetPoint then
error(MAJOR..": AddMinimapIconWorld: 'icon' must be a frame", 2)
@@ -556,13 +556,13 @@ end
-- @param floatOnEdge flag if the icon should float on the edge of the minimap when going out of range, or hide immediately (default false)
function pins:AddMinimapIconMap(ref, icon, uiMapID, x, y, showInParentZone, floatOnEdge)
if not ref then
- error(MAJOR..": AddMinimapIconMap: 'ref' must not be nil")
+ error(MAJOR..": AddMinimapIconMap: 'ref' must not be nil", 2)
end
if type(icon) ~= "table" or not icon.SetPoint then
- error(MAJOR..": AddMinimapIconMap: 'icon' must be a frame")
+ error(MAJOR..": AddMinimapIconMap: 'icon' must be a frame", 2)
end
if type(uiMapID) ~= "number" or type(x) ~= "number" or type(y) ~= "number" then
- error(MAJOR..": AddMinimapIconMap: 'uiMapID', 'x' and 'y' must be numbers")
+ error(MAJOR..": AddMinimapIconMap: 'uiMapID', 'x' and 'y' must be numbers", 2)
end
-- convert to world coordinates and use our known adding function
@@ -642,7 +642,7 @@ HBD_PINS_WORLDMAP_SHOW_WORLD = 3
-- @param frameLevel Optional Frame Level type registered with the WorldMapFrame, defaults to PIN_FRAME_LEVEL_AREA_POI
function pins:AddWorldMapIconWorld(ref, icon, instanceID, x, y, showFlag, frameLevel)
if not ref then
- error(MAJOR..": AddWorldMapIconWorld: 'ref' must not be nil")
+ error(MAJOR..": AddWorldMapIconWorld: 'ref' must not be nil", 2)
end
if type(icon) ~= "table" or not icon.SetPoint then
error(MAJOR..": AddWorldMapIconWorld: 'icon' must be a frame", 2)
@@ -650,6 +650,9 @@ function pins:AddWorldMapIconWorld(ref, icon, instanceID, x, y, showFlag, frameL
if type(instanceID) ~= "number" or type(x) ~= "number" or type(y) ~= "number" then
error(MAJOR..": AddWorldMapIconWorld: 'instanceID', 'x' and 'y' must be numbers", 2)
end
+ if showFlag ~= nil and type(showFlag) ~= "number" then
+ error(MAJOR..": AddWorldMapIconWorld: 'showFlag' must be a number (or nil)", 2)
+ end
if not worldmapPinRegistry[ref] then
worldmapPinRegistry[ref] = {}
@@ -680,13 +683,16 @@ end
-- @param frameLevel Optional Frame Level type registered with the WorldMapFrame, defaults to PIN_FRAME_LEVEL_AREA_POI
function pins:AddWorldMapIconMap(ref, icon, uiMapID, x, y, showFlag, frameLevel)
if not ref then
- error(MAJOR..": AddWorldMapIconMap: 'ref' must not be nil")
+ error(MAJOR..": AddWorldMapIconMap: 'ref' must not be nil", 2)
end
if type(icon) ~= "table" or not icon.SetPoint then
- error(MAJOR..": AddWorldMapIconMap: 'icon' must be a frame")
+ error(MAJOR..": AddWorldMapIconMap: 'icon' must be a frame", 2)
end
if type(uiMapID) ~= "number" or type(x) ~= "number" or type(y) ~= "number" then
- error(MAJOR..": AddWorldMapIconMap: 'uiMapID', 'x' and 'y' must be numbers")
+ error(MAJOR..": AddWorldMapIconMap: 'uiMapID', 'x' and 'y' must be numbers", 2)
+ end
+ if showFlag ~= nil and type(showFlag) ~= "number" then
+ error(MAJOR..": AddWorldMapIconMap: 'showFlag' must be a number (or nil)", 2)
end
-- convert to world coordinates