Don't tag minimap if we aren't in the same zone
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
## Interface: 70300
|
## Interface: 70300
|
||||||
## Title: Heimdall
|
## Title: Heimdall
|
||||||
## Version: 3.4.3
|
## Version: 3.4.4
|
||||||
## Notes: Watches over areas and alerts when hostiles spotted
|
## Notes: Watches over areas and alerts when hostiles spotted
|
||||||
## Author: Cyka
|
## Author: Cyka
|
||||||
## SavedVariables: Heimdall_Data
|
## SavedVariables: Heimdall_Data
|
||||||
|
BIN
Heimdall.zip
(Stored with Git LFS)
BIN
Heimdall.zip
(Stored with Git LFS)
Binary file not shown.
@@ -92,7 +92,9 @@ function shared.MinimapTagger.Init()
|
|||||||
---@param x number
|
---@param x number
|
||||||
---@param y number
|
---@param y number
|
||||||
---@param scale number?
|
---@param scale number?
|
||||||
local function PlantAlert(x, y, scale)
|
---@param doTag boolean?
|
||||||
|
local function PlantAlert(x, y, scale, doTag)
|
||||||
|
if doTag == nil then doTag = true end
|
||||||
local frame = nil
|
local frame = nil
|
||||||
for _, alertFrame in ipairs(alertFramePool) do
|
for _, alertFrame in ipairs(alertFramePool) do
|
||||||
if not alertFrame.custom.busy then
|
if not alertFrame.custom.busy then
|
||||||
@@ -124,7 +126,9 @@ function shared.MinimapTagger.Init()
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
PlantFrame(x, y, frame, scale, Heimdall_Data.config.minimapTagger.alertTTL)
|
if doTag then
|
||||||
|
PlantFrame(x, y, frame, scale, Heimdall_Data.config.minimapTagger.alertTTL)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
--endregion
|
--endregion
|
||||||
|
|
||||||
@@ -144,7 +148,9 @@ function shared.MinimapTagger.Init()
|
|||||||
---@param x number
|
---@param x number
|
||||||
---@param y number
|
---@param y number
|
||||||
---@param scale number?
|
---@param scale number?
|
||||||
local function PlantTag(x, y, scale)
|
---@param doTag boolean?
|
||||||
|
local function PlantTag(x, y, scale, doTag)
|
||||||
|
if doTag == nil then doTag = true end
|
||||||
local frame = nil
|
local frame = nil
|
||||||
for _, tagFrame in ipairs(tagFramePool) do
|
for _, tagFrame in ipairs(tagFramePool) do
|
||||||
if not tagFrame.custom.busy then
|
if not tagFrame.custom.busy then
|
||||||
@@ -176,7 +182,9 @@ function shared.MinimapTagger.Init()
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
PlantFrame(x, y, frame, scale, Heimdall_Data.config.minimapTagger.tagTTL)
|
if doTag then
|
||||||
|
PlantFrame(x, y, frame, scale, Heimdall_Data.config.minimapTagger.tagTTL)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
--endregion
|
--endregion
|
||||||
|
|
||||||
@@ -196,7 +204,9 @@ function shared.MinimapTagger.Init()
|
|||||||
---@param x number
|
---@param x number
|
||||||
---@param y number
|
---@param y number
|
||||||
---@param scale number?
|
---@param scale number?
|
||||||
local function PlantCombat(x, y, scale)
|
---@param doTag boolean?
|
||||||
|
local function PlantCombat(x, y, scale, doTag)
|
||||||
|
if doTag == nil then doTag = true end
|
||||||
local frame = nil
|
local frame = nil
|
||||||
for _, combatFrame in ipairs(combatFramePool) do
|
for _, combatFrame in ipairs(combatFramePool) do
|
||||||
if not combatFrame.custom.busy then
|
if not combatFrame.custom.busy then
|
||||||
@@ -228,7 +238,9 @@ function shared.MinimapTagger.Init()
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
PlantFrame(x, y, frame, scale, Heimdall_Data.config.minimapTagger.combatTTL)
|
if doTag then
|
||||||
|
PlantFrame(x, y, frame, scale, Heimdall_Data.config.minimapTagger.combatTTL)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
--endregion
|
--endregion
|
||||||
|
|
||||||
@@ -248,7 +260,9 @@ function shared.MinimapTagger.Init()
|
|||||||
---@param x number
|
---@param x number
|
||||||
---@param y number
|
---@param y number
|
||||||
---@param scale number?
|
---@param scale number?
|
||||||
local function PlantHelp(x, y, scale)
|
---@param doTag boolean?
|
||||||
|
local function PlantHelp(x, y, scale, doTag)
|
||||||
|
if doTag == nil then doTag = true end
|
||||||
local frame = nil
|
local frame = nil
|
||||||
for _, helpFrame in ipairs(helpFramePool) do
|
for _, helpFrame in ipairs(helpFramePool) do
|
||||||
if not helpFrame.custom.busy then
|
if not helpFrame.custom.busy then
|
||||||
@@ -280,7 +294,9 @@ function shared.MinimapTagger.Init()
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
PlantFrame(x, y, frame, scale, Heimdall_Data.config.minimapTagger.helpTTL)
|
if doTag then
|
||||||
|
PlantFrame(x, y, frame, scale, Heimdall_Data.config.minimapTagger.helpTTL)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
--endregion
|
--endregion
|
||||||
|
|
||||||
@@ -360,6 +376,19 @@ function shared.MinimapTagger.Init()
|
|||||||
shared.dumpTable(Heimdall_Data.config.minimapTagger)
|
shared.dumpTable(Heimdall_Data.config.minimapTagger)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
local doTag = true
|
||||||
|
local messageMapId = string.match(msg, "%[(%d+)%]") or 0
|
||||||
|
if messageMapId then messageMapId = tonumber(messageMapId) end
|
||||||
|
|
||||||
|
local currentMapId = GetCurrentMapAreaID()
|
||||||
|
if currentMapId ~= messageMapId then
|
||||||
|
if Heimdall_Data.config.minimapTagger.debug then
|
||||||
|
print(string.format("[%s] Current map ID (%d) does not match message map ID (%d), ignoring message",
|
||||||
|
ModuleName, currentMapId, messageMapId))
|
||||||
|
end
|
||||||
|
doTag = false
|
||||||
|
end
|
||||||
|
|
||||||
--region Tag
|
--region Tag
|
||||||
if string.find(msg, "^I see") then
|
if string.find(msg, "^I see") then
|
||||||
if Heimdall_Data.config.minimapTagger.tagTTL == 0 then
|
if Heimdall_Data.config.minimapTagger.tagTTL == 0 then
|
||||||
@@ -373,7 +402,7 @@ function shared.MinimapTagger.Init()
|
|||||||
print(string.format("[%s] Found alert position: %s, %s", ModuleName, tostring(x), tostring(y)))
|
print(string.format("[%s] Found alert position: %s, %s", ModuleName, tostring(x), tostring(y)))
|
||||||
end
|
end
|
||||||
if x and y then
|
if x and y then
|
||||||
PlantTag(tonumber(x), tonumber(y), 2)
|
PlantTag(tonumber(x), tonumber(y), 2, doTag)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
--endregion
|
--endregion
|
||||||
@@ -393,7 +422,7 @@ function shared.MinimapTagger.Init()
|
|||||||
print(string.format("[%s] Found combat position: %s, %s", ModuleName, tostring(x), tostring(y)))
|
print(string.format("[%s] Found combat position: %s, %s", ModuleName, tostring(x), tostring(y)))
|
||||||
end
|
end
|
||||||
if x and y then
|
if x and y then
|
||||||
PlantCombat(tonumber(x), tonumber(y), 2)
|
PlantCombat(tonumber(x), tonumber(y), 2, doTag)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
--endregion
|
--endregion
|
||||||
@@ -413,7 +442,7 @@ function shared.MinimapTagger.Init()
|
|||||||
print(string.format("[%s] Found death position: %s, %s", ModuleName, tostring(x), tostring(y)))
|
print(string.format("[%s] Found death position: %s, %s", ModuleName, tostring(x), tostring(y)))
|
||||||
end
|
end
|
||||||
if x and y then
|
if x and y then
|
||||||
PlantAlert(tonumber(x), tonumber(y), 2)
|
PlantAlert(tonumber(x), tonumber(y), 2, doTag)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
--endregion
|
--endregion
|
||||||
@@ -434,7 +463,7 @@ function shared.MinimapTagger.Init()
|
|||||||
end
|
end
|
||||||
if x and y then
|
if x and y then
|
||||||
x, y = tonumber(x), tonumber(y)
|
x, y = tonumber(x), tonumber(y)
|
||||||
PlantHelp(x, y, 1)
|
PlantHelp(x, y, 1, doTag)
|
||||||
if TomTom then
|
if TomTom then
|
||||||
if Heimdall_Data.config.minimapTagger.debug then
|
if Heimdall_Data.config.minimapTagger.debug then
|
||||||
print(string.format("[%s] Adding help waypoint to TomTom", ModuleName))
|
print(string.format("[%s] Adding help waypoint to TomTom", ModuleName))
|
||||||
|
Reference in New Issue
Block a user