diff --git a/src/adv/AdvTask.lua b/src/adv/AdvTask.lua index 5099265..422a656 100644 --- a/src/adv/AdvTask.lua +++ b/src/adv/AdvTask.lua @@ -132,10 +132,21 @@ function AdvTask.bind(Adv) end local advEventOpenStatus = self.owner:advEventOpenStatus() local pool = {} - for id, data in pairs(csvdb["event_questCsv"]) do - if data.levelchapter == chapterId and (data.unlockType == 0 or (advEventOpenStatus[etype] or {})[data.unlockType]) then - if AdvCommon.checkIsIn(level, data.leveltype, data.levellimit) then - pool[id] = {showup = data.showup} + + local mapData = self:getCurMap():getMapInfoCsv() + for _, id in ipairs(mapData.quest:toArray(true, "=")) do + local data = csvdb["event_questCsv"][taskId] + if data then + pool[id] = {showup = data.showup} + end + end + + if not next(pool) then + for id, data in pairs(csvdb["event_questCsv"]) do + if data.levelchapter == chapterId and (data.unlockType == 0 or (advEventOpenStatus[etype] or {})[data.unlockType]) then + if AdvCommon.checkIsIn(level, data.leveltype, data.levellimit) then + pool[id] = {showup = data.showup} + end end end end -- libgit2 0.21.2