Add files via upload
This commit is contained in:
@@ -6,7 +6,7 @@ RelationshipsAttune = RelationshipsAttune or {}
|
||||
local RA = RelationshipsAttune
|
||||
local L = RelationshipsAttune_L
|
||||
|
||||
RA.VERSION = "1.3.0"
|
||||
RA.VERSION = "1.4.0"
|
||||
RA.COMM_PREFIX = "RATTUNE"
|
||||
|
||||
RA.playerName = nil
|
||||
@@ -58,7 +58,7 @@ function RA:InitDB()
|
||||
end
|
||||
local o = RelationshipsAttuneDB.options
|
||||
if o.autoShare == nil then o.autoShare = true end
|
||||
if o.autoScanSeconds == nil then o.autoScanSeconds = 20 end
|
||||
if o.autoScanSeconds == nil then o.autoScanSeconds = 10 end
|
||||
if type(o.minimapAngle) ~= "number" then o.minimapAngle = 200 end
|
||||
if type(o.minimapRadius) ~= "number" then o.minimapRadius = 80 end
|
||||
if o.minimapHide == nil then o.minimapHide = false end
|
||||
@@ -472,16 +472,27 @@ end
|
||||
-- Throttled auto-scan
|
||||
-- ---------------------------------------------------------------
|
||||
RA._throttle = 0
|
||||
RA._periodic = 0
|
||||
RA._dirty = false
|
||||
RA._minRescan = 2.0
|
||||
RA._minRescan = 1.5
|
||||
|
||||
function RA:MarkDirty() RA._dirty = true end
|
||||
|
||||
-- Full periodic rescan (quest log + bags + recompute + UI refresh).
|
||||
function RA:AutoScan()
|
||||
RA:ScanQuestLog()
|
||||
RA:ScanBags()
|
||||
RA:RecomputeAll()
|
||||
if RA.UI and RA.UI.Refresh then RA.UI:Refresh() end
|
||||
end
|
||||
|
||||
function RA:_OnUpdate(elapsed)
|
||||
RA._throttle = RA._throttle + (elapsed or 0)
|
||||
elapsed = elapsed or 0
|
||||
RA._throttle = RA._throttle + elapsed
|
||||
RA._periodic = RA._periodic + elapsed
|
||||
local interval = (RelationshipsAttuneDB and RelationshipsAttuneDB.options
|
||||
and RelationshipsAttuneDB.options.autoScanSeconds) or 20
|
||||
if interval < 5 then interval = 5 end
|
||||
and RelationshipsAttuneDB.options.autoScanSeconds) or 10
|
||||
if interval < 3 then interval = 3 end
|
||||
|
||||
if RA._retryAt and GetTime then
|
||||
local now = GetTime()
|
||||
@@ -508,22 +519,22 @@ function RA:_OnUpdate(elapsed)
|
||||
end
|
||||
end
|
||||
|
||||
-- Event-driven rescan: something changed, catch up quickly.
|
||||
if RA._dirty and RA._throttle >= RA._minRescan then
|
||||
RA._dirty = false
|
||||
RA._throttle = 0
|
||||
RA:ScanQuestLog()
|
||||
RA:ScanBags()
|
||||
RA:RecomputeAll()
|
||||
if RA.UI and RA.UI.Refresh then RA.UI:Refresh() end
|
||||
RA._periodic = 0
|
||||
RA:AutoScan()
|
||||
return
|
||||
end
|
||||
|
||||
if RA._throttle >= interval then
|
||||
-- Unconditional periodic rescan so state stays fresh even if no events fire
|
||||
-- (e.g. reputation ticks from mob kills, quest turn-ins on stock 1.12
|
||||
-- without QUEST_TURNED_IN, background item pickups by other addons).
|
||||
if RA._periodic >= interval then
|
||||
RA._periodic = 0
|
||||
RA._throttle = 0
|
||||
RA:ScanQuestLog()
|
||||
RA:ScanBags()
|
||||
RA:RecomputeAll()
|
||||
if RA.UI and RA.UI.Refresh then RA.UI:Refresh() end
|
||||
RA:AutoScan()
|
||||
end
|
||||
end
|
||||
|
||||
@@ -632,6 +643,11 @@ ef:RegisterEvent("CHAT_MSG_ADDON")
|
||||
-- pcall prevents a hard failure on builds that don't recognise them.
|
||||
pcall(function() ef:RegisterEvent("QUEST_TURNED_IN") end)
|
||||
pcall(function() ef:RegisterEvent("KEYRING_UPDATE") end)
|
||||
pcall(function() ef:RegisterEvent("UNIT_INVENTORY_CHANGED") end)
|
||||
pcall(function() ef:RegisterEvent("ITEM_PUSH") end)
|
||||
pcall(function() ef:RegisterEvent("PLAYER_XP_UPDATE") end)
|
||||
pcall(function() ef:RegisterEvent("ZONE_CHANGED_NEW_AREA") end)
|
||||
pcall(function() ef:RegisterEvent("SKILL_LINES_CHANGED") end)
|
||||
|
||||
ef:SetScript("OnEvent", function()
|
||||
local e = event
|
||||
@@ -662,7 +678,12 @@ ef:SetScript("OnEvent", function()
|
||||
or e == "BAG_UPDATE"
|
||||
or e == "KEYRING_UPDATE"
|
||||
or e == "PLAYER_LEVEL_UP"
|
||||
or e == "UPDATE_FACTION" then
|
||||
or e == "UPDATE_FACTION"
|
||||
or e == "UNIT_INVENTORY_CHANGED"
|
||||
or e == "ITEM_PUSH"
|
||||
or e == "PLAYER_XP_UPDATE"
|
||||
or e == "ZONE_CHANGED_NEW_AREA"
|
||||
or e == "SKILL_LINES_CHANGED" then
|
||||
if RA.initialized then RA:MarkDirty() end
|
||||
|
||||
elseif e == "QUEST_TURNED_IN" then
|
||||
|
||||
Reference in New Issue
Block a user