Commit e994ca55fad96ba5e09f3dc2c7588f31730501f1
1 parent
ef250300
任务 自动领取
Showing
5 changed files
with
22 additions
and
18 deletions
Show diff stats
src/GlobalVar.lua
src/adv/Adv.lua
@@ -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 |