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 | 1303 | return true |
1304 | 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 | 1306 | local eventCallFunc = { |
1314 | 1307 | [AdvEventType.Out] = clickOut, |
1315 | 1308 | [AdvEventType.InOut] = clickOut, |
... | ... | @@ -1323,7 +1316,6 @@ local eventCallFunc = { |
1323 | 1316 | [AdvEventType.Build] = clickBuild, |
1324 | 1317 | [AdvEventType.Click] = clickClick, |
1325 | 1318 | [AdvEventType.Layer] = clickLayer, |
1326 | - [AdvEventType.Task] = clickTask, | |
1327 | 1319 | } |
1328 | 1320 | |
1329 | 1321 | --点击处理 roomId, blockId | ... | ... |
src/adv/AdvBlock.lua
... | ... | @@ -198,7 +198,6 @@ function Block:getEventData() |
198 | 198 | [AdvEventType.Trap] = "event_trapCsv", |
199 | 199 | [AdvEventType.Click] = "event_clickCsv", |
200 | 200 | [AdvEventType.Layer] = "event_layerCsv", |
201 | - [AdvEventType.Task] = "event_questCsv", | |
202 | 201 | [AdvEventType.LinkChoose] = "event_linkchooseCsv", |
203 | 202 | } |
204 | 203 | ... | ... |
src/adv/AdvMap.lua
... | ... | @@ -224,8 +224,6 @@ function Map:getBlocksBySize(roomId, blockId, size) |
224 | 224 | return blocks |
225 | 225 | end |
226 | 226 | |
227 | - | |
228 | - | |
229 | 227 | -----------------------------随机地图----------------------------- |
230 | 228 | |
231 | 229 | -- isEnter isNewRelay 区分中继层的类型 --是否是开始进入 是否是第一次进入 |
... | ... | @@ -295,6 +293,7 @@ createMap = function(self, mapId, isEnter, isNewRelay) |
295 | 293 | return false |
296 | 294 | end |
297 | 295 | haveBoss = true |
296 | + self.haveBoss = true -- 刷新任务用的临时变量 | |
298 | 297 | end |
299 | 298 | randomFunc[AdvEventType.LinkChoose] = function() |
300 | 299 | if haveLChoose then return false end |
... | ... | @@ -337,9 +336,6 @@ createMap = function(self, mapId, isEnter, isNewRelay) |
337 | 336 | randomFunc[AdvEventType.Click] = randomCommon |
338 | 337 | --跨层点 |
339 | 338 | randomFunc[AdvEventType.Layer] = randomCommon |
340 | - --层级任务 | |
341 | - randomFunc[AdvEventType.Task] = randomCommon | |
342 | - | |
343 | 339 | |
344 | 340 | if randomFunc[etype] then |
345 | 341 | if randomFunc[etype]() ~= false then |
... | ... | @@ -517,9 +513,7 @@ getEventLib = function(self, needEventType) -- needEventType 需要的事件 |
517 | 513 | ["event_trapCsv"] = AdvEventType.Trap, |
518 | 514 | ["event_clickCsv"] = AdvEventType.Click, |
519 | 515 | ["event_layerCsv"] = AdvEventType.Layer, |
520 | - ["event_questCsv"] = AdvEventType.Task, | |
521 | 516 | ["event_linkchooseCsv"] = AdvEventType.LinkChoose, |
522 | - | |
523 | 517 | } |
524 | 518 | local eventLib = {} |
525 | 519 | ... | ... |
src/adv/AdvTask.lua
... | ... | @@ -83,6 +83,7 @@ function AdvTask.bind(Adv) |
83 | 83 | end |
84 | 84 | end |
85 | 85 | end |
86 | + self:addTask() | |
86 | 87 | end |
87 | 88 | |
88 | 89 | function Adv:checkTask(taskType, count, cond) |
... | ... | @@ -109,7 +110,26 @@ function AdvTask.bind(Adv) |
109 | 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 | 133 | local taskData = csvdb["event_questCsv"][taskId] |
114 | 134 | if taskData then |
115 | 135 | self.advTask[taskId] = 0 | ... | ... |