Add files via upload
This commit is contained in:
@@ -70,6 +70,56 @@ function RA:InitDB()
|
||||
if not RelationshipsAttuneCharDB.announced then RelationshipsAttuneCharDB.announced = {} end
|
||||
if not RelationshipsAttuneCharDB.progress then RelationshipsAttuneCharDB.progress = {} end
|
||||
if not RelationshipsAttuneCharDB.expanded then RelationshipsAttuneCharDB.expanded = {} end
|
||||
if not RelationshipsAttuneCharDB.forcedSteps then RelationshipsAttuneCharDB.forcedSteps = {} end
|
||||
if not RelationshipsAttuneCharDB.forcedAtt then RelationshipsAttuneCharDB.forcedAtt = {} end
|
||||
end
|
||||
|
||||
-- ---------------------------------------------------------------
|
||||
-- Force-complete (manual override) helpers
|
||||
-- ---------------------------------------------------------------
|
||||
function RA:IsStepForced(attId, i)
|
||||
local t = RelationshipsAttuneCharDB.forcedSteps
|
||||
return t and t[attId] and t[attId][i] == true
|
||||
end
|
||||
|
||||
function RA:SetStepForced(attId, i, v)
|
||||
if not attId or not i then return end
|
||||
local t = RelationshipsAttuneCharDB.forcedSteps
|
||||
if not t then RelationshipsAttuneCharDB.forcedSteps = {}; t = RelationshipsAttuneCharDB.forcedSteps end
|
||||
if not t[attId] then t[attId] = {} end
|
||||
if v then t[attId][i] = true else t[attId][i] = nil end
|
||||
self:RecomputeAll()
|
||||
if RA.UI and RA.UI.Refresh then RA.UI:Refresh() end
|
||||
end
|
||||
|
||||
function RA:IsAttForced(attId)
|
||||
local t = RelationshipsAttuneCharDB.forcedAtt
|
||||
return t and t[attId] == true
|
||||
end
|
||||
|
||||
function RA:SetAttForced(attId, v)
|
||||
if not attId then return end
|
||||
if not RelationshipsAttuneCharDB.forcedAtt then
|
||||
RelationshipsAttuneCharDB.forcedAtt = {}
|
||||
end
|
||||
if not RelationshipsAttuneCharDB.completedAttunements then
|
||||
RelationshipsAttuneCharDB.completedAttunements = {}
|
||||
end
|
||||
if v then
|
||||
RelationshipsAttuneCharDB.forcedAtt[attId] = true
|
||||
RelationshipsAttuneCharDB.completedAttunements[attId] = true
|
||||
else
|
||||
RelationshipsAttuneCharDB.forcedAtt[attId] = nil
|
||||
RelationshipsAttuneCharDB.completedAttunements[attId] = nil
|
||||
if RelationshipsAttuneCharDB.forcedSteps then
|
||||
RelationshipsAttuneCharDB.forcedSteps[attId] = nil
|
||||
end
|
||||
if RelationshipsAttuneCharDB.announced then
|
||||
RelationshipsAttuneCharDB.announced[attId] = nil
|
||||
end
|
||||
end
|
||||
self:RecomputeAll()
|
||||
if RA.UI and RA.UI.Refresh then RA.UI:Refresh() end
|
||||
end
|
||||
|
||||
-- ---------------------------------------------------------------
|
||||
@@ -392,6 +442,20 @@ function RA:EvaluateAttunement(att)
|
||||
stepsInProgress[i] = nil
|
||||
end
|
||||
end
|
||||
-- Apply per-step forced completions (manual overrides from the UI).
|
||||
-- These are treated exactly like a real completion for tracking purposes.
|
||||
local forced = RelationshipsAttuneCharDB.forcedSteps and RelationshipsAttuneCharDB.forcedSteps[att.id]
|
||||
if forced then
|
||||
for i = 1, numSteps do
|
||||
local step = att.steps[i]
|
||||
if step and self:StepApplies(step) and forced[i] and steps[i] == false then
|
||||
steps[i] = true
|
||||
stepsInProgress[i] = false
|
||||
doneCount = doneCount + 1
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
-- Short-circuit: if the "final" step is complete, treat the whole
|
||||
-- attunement as done. Prefer an explicit final=true step; fall back to
|
||||
-- the last item step (key), then the last applicable step.
|
||||
|
||||
Reference in New Issue
Block a user