Commit e994ca55fad96ba5e09f3dc2c7588f31730501f1

Authored by zhouhaihai
1 parent ef250300

任务 自动领取

@@ -162,7 +162,6 @@ AdvEventType = { @@ -162,7 +162,6 @@ AdvEventType = {
162 Trap = 6, --陷阱 162 Trap = 6, --陷阱
163 Click = 7, --点击生效 163 Click = 7, --点击生效
164 Layer = 8, --切换层的点 164 Layer = 8, --切换层的点
165 - Task = 9, --任务  
166 } 165 }
167 166
168 AdvBackEventType = { 167 AdvBackEventType = {
@@ -1303,13 +1303,6 @@ local function clickLayer(self, room, block, params) @@ -1303,13 +1303,6 @@ local function clickLayer(self, room, block, params)
1303 return true 1303 return true
1304 end 1304 end
1305 1305
1306 -local function clickTask(self, room, block, params)  
1307 - if self:addTask(block.event.id) then --增加任务  
1308 - block:clear()  
1309 - return true  
1310 - end  
1311 -end  
1312 -  
1313 local eventCallFunc = { 1306 local eventCallFunc = {
1314 [AdvEventType.Out] = clickOut, 1307 [AdvEventType.Out] = clickOut,
1315 [AdvEventType.InOut] = clickOut, 1308 [AdvEventType.InOut] = clickOut,
@@ -1323,7 +1316,6 @@ local eventCallFunc = { @@ -1323,7 +1316,6 @@ local eventCallFunc = {
1323 [AdvEventType.Build] = clickBuild, 1316 [AdvEventType.Build] = clickBuild,
1324 [AdvEventType.Click] = clickClick, 1317 [AdvEventType.Click] = clickClick,
1325 [AdvEventType.Layer] = clickLayer, 1318 [AdvEventType.Layer] = clickLayer,
1326 - [AdvEventType.Task] = clickTask,  
1327 } 1319 }
1328 1320
1329 --点击处理 roomId, blockId 1321 --点击处理 roomId, blockId
src/adv/AdvBlock.lua
@@ -198,7 +198,6 @@ function Block:getEventData() @@ -198,7 +198,6 @@ function Block:getEventData()
198 [AdvEventType.Trap] = "event_trapCsv", 198 [AdvEventType.Trap] = "event_trapCsv",
199 [AdvEventType.Click] = "event_clickCsv", 199 [AdvEventType.Click] = "event_clickCsv",
200 [AdvEventType.Layer] = "event_layerCsv", 200 [AdvEventType.Layer] = "event_layerCsv",
201 - [AdvEventType.Task] = "event_questCsv",  
202 [AdvEventType.LinkChoose] = "event_linkchooseCsv", 201 [AdvEventType.LinkChoose] = "event_linkchooseCsv",
203 } 202 }
204 203
src/adv/AdvMap.lua
@@ -224,8 +224,6 @@ function Map:getBlocksBySize(roomId, blockId, size) @@ -224,8 +224,6 @@ function Map:getBlocksBySize(roomId, blockId, size)
224 return blocks 224 return blocks
225 end 225 end
226 226
227 -  
228 -  
229 -----------------------------随机地图----------------------------- 227 -----------------------------随机地图-----------------------------
230 228
231 -- isEnter isNewRelay 区分中继层的类型 --是否是开始进入 是否是第一次进入 229 -- isEnter isNewRelay 区分中继层的类型 --是否是开始进入 是否是第一次进入
@@ -295,6 +293,7 @@ createMap = function(self, mapId, isEnter, isNewRelay) @@ -295,6 +293,7 @@ createMap = function(self, mapId, isEnter, isNewRelay)
295 return false 293 return false
296 end 294 end
297 haveBoss = true 295 haveBoss = true
  296 + self.haveBoss = true -- 刷新任务用的临时变量
298 end 297 end
299 randomFunc[AdvEventType.LinkChoose] = function() 298 randomFunc[AdvEventType.LinkChoose] = function()
300 if haveLChoose then return false end 299 if haveLChoose then return false end
@@ -337,9 +336,6 @@ createMap = function(self, mapId, isEnter, isNewRelay) @@ -337,9 +336,6 @@ createMap = function(self, mapId, isEnter, isNewRelay)
337 randomFunc[AdvEventType.Click] = randomCommon 336 randomFunc[AdvEventType.Click] = randomCommon
338 --跨层点 337 --跨层点
339 randomFunc[AdvEventType.Layer] = randomCommon 338 randomFunc[AdvEventType.Layer] = randomCommon
340 - --层级任务  
341 - randomFunc[AdvEventType.Task] = randomCommon  
342 -  
343 339
344 if randomFunc[etype] then 340 if randomFunc[etype] then
345 if randomFunc[etype]() ~= false then 341 if randomFunc[etype]() ~= false then
@@ -517,9 +513,7 @@ getEventLib = function(self, needEventType) -- needEventType 需要的事件 @@ -517,9 +513,7 @@ getEventLib = function(self, needEventType) -- needEventType 需要的事件
517 ["event_trapCsv"] = AdvEventType.Trap, 513 ["event_trapCsv"] = AdvEventType.Trap,
518 ["event_clickCsv"] = AdvEventType.Click, 514 ["event_clickCsv"] = AdvEventType.Click,
519 ["event_layerCsv"] = AdvEventType.Layer, 515 ["event_layerCsv"] = AdvEventType.Layer,
520 - ["event_questCsv"] = AdvEventType.Task,  
521 ["event_linkchooseCsv"] = AdvEventType.LinkChoose, 516 ["event_linkchooseCsv"] = AdvEventType.LinkChoose,
522 -  
523 } 517 }
524 local eventLib = {} 518 local eventLib = {}
525 519
src/adv/AdvTask.lua
@@ -83,6 +83,7 @@ function AdvTask.bind(Adv) @@ -83,6 +83,7 @@ function AdvTask.bind(Adv)
83 end 83 end
84 end 84 end
85 end 85 end
  86 + self:addTask()
86 end 87 end
87 88
88 function Adv:checkTask(taskType, count, cond) 89 function Adv:checkTask(taskType, count, cond)
@@ -109,7 +110,26 @@ function AdvTask.bind(Adv) @@ -109,7 +110,26 @@ function AdvTask.bind(Adv)
109 end 110 end
110 111
111 -- 点击任务地块领取任务 112 -- 点击任务地块领取任务
112 - function Adv:addTask(taskId) 113 + function Adv:addTask()
  114 + if self.isRelay or self.haveBoss then return end
  115 +
  116 + local chapterId, level = self.chapterId, self.level
  117 + if self:isEndless() then
  118 + level = AdvCommon.getEndlessDataLv(chapterId, level)
  119 + end
  120 + local advEventOpenStatus = self.owner:advEventOpenStatus()
  121 + local pool = {}
  122 + for id, data in pairs(csvdb["event_questCsv"]) do
  123 + if data.levelchapter == chapterId and (data.unlockType == 0 or (advEventOpenStatus[etype] or {})[data.unlockType]) then
  124 + if AdvCommon.checkIsIn(level, data.leveltype, data.levellimit) then
  125 + pool[id] = {showup = data.showup}
  126 + end
  127 + end
  128 + end
  129 +
  130 + if not next(pool) then return end
  131 +
  132 + local taskId = math.randWeight(pool, "showup")
113 local taskData = csvdb["event_questCsv"][taskId] 133 local taskData = csvdb["event_questCsv"][taskId]
114 if taskData then 134 if taskData then
115 self.advTask[taskId] = 0 135 self.advTask[taskId] = 0