recursiveRemoveNestedFromCondition
Definition
-- @/lua/ge/extensions/gameplay/missions/missions.lua:344
local function recursiveRemoveNestedFromCondition(mId, cond)
-- Handle branch level condition sanitization
if cond.type == 'branchLevel' and cond.branchId then
-- Map the old branchId to the new path format
local newBranchId = career_branches.oldAttributeNamesToNewNames[cond.branchId]
if newBranchId then
cond.branchId = newBranchId
end
end
-- Handle nested conditions
if cond.nested then
if cond.type == 'multiAnd' or cond.type == 'multiOr' then
for _, n in ipairs(cond.nested) do
recursiveRemoveNestedFromCondition(mId, n)
end
else
cond.nested = nil
log("W","","In Mission " .. mId..": Nested condition found in a condition that should not have nested in it. Re-save the mission to apply fix.")
end
end
end
Callers
@/lua/ge/extensions/gameplay/missions/missions.lua
for _, n in ipairs(cond.nested) do
recursiveRemoveNestedFromCondition(mId, n)
end
missionData.visibleCondition = (missionData.visibleCondition or {type='automatic'})
M.recursiveRemoveNestedFromCondition(missionData.id, missionData.startCondition)
M.recursiveRemoveNestedFromCondition(missionData.id, missionData.visibleCondition)
M.recursiveRemoveNestedFromCondition(missionData.id, missionData.startCondition)
M.recursiveRemoveNestedFromCondition(missionData.id, missionData.visibleCondition)