Commit 5c6f50cbebb7d73678e09c7f50defdbf187405a1
1 parent
78065fee
fix: 额外宝藏,在宝藏列表并且未过期的宝藏,不会再随机(与每日宝藏逻辑不同)
Showing
1 changed file
with
13 additions
and
10 deletions
Show diff stats
src/models/DailyPlugin.lua
| @@ -20,7 +20,7 @@ function DailyPlugin.bind(Daily) | @@ -20,7 +20,7 @@ function DailyPlugin.bind(Daily) | ||
| 20 | end | 20 | end |
| 21 | 21 | ||
| 22 | --CD | 22 | --CD |
| 23 | - function Daily:checkTreasureExpired(treasureAttr, treasureList) | 23 | + function Daily:checkTreasureExpired(treasureAttr, treasureList, isExtra) |
| 24 | local curInfo = treasureList[treasureAttr.id] | 24 | local curInfo = treasureList[treasureAttr.id] |
| 25 | local now = skynet.timex() | 25 | local now = skynet.timex() |
| 26 | if curInfo then | 26 | if curInfo then |
| @@ -41,6 +41,10 @@ function DailyPlugin.bind(Daily) | @@ -41,6 +41,10 @@ function DailyPlugin.bind(Daily) | ||
| 41 | end | 41 | end |
| 42 | curInfo = clone(treasureAttr) | 42 | curInfo = clone(treasureAttr) |
| 43 | end | 43 | end |
| 44 | + else | ||
| 45 | + if isExtra then | ||
| 46 | + curInfo = nil | ||
| 47 | + end | ||
| 44 | end | 48 | end |
| 45 | else | 49 | else |
| 46 | curInfo = clone(treasureAttr) | 50 | curInfo = clone(treasureAttr) |
| @@ -58,7 +62,6 @@ function DailyPlugin.bind(Daily) | @@ -58,7 +62,6 @@ function DailyPlugin.bind(Daily) | ||
| 58 | --1. 正在挖宝,未挖到 | 62 | --1. 正在挖宝,未挖到 |
| 59 | --2. 已经挖到宝藏,但未领取 | 63 | --2. 已经挖到宝藏,但未领取 |
| 60 | --3. 正在挂机 | 64 | --3. 正在挂机 |
| 61 | - local now = skynet.timex() | ||
| 62 | for _, curInfo in pairs(treasureList or {}) do | 65 | for _, curInfo in pairs(treasureList or {}) do |
| 63 | if (not curInfo["expire_time"] and curInfo["end_time"]) then | 66 | if (not curInfo["expire_time"] and curInfo["end_time"]) then |
| 64 | tmp_chapters[curInfo.chapter_id] = curInfo | 67 | tmp_chapters[curInfo.chapter_id] = curInfo |
| @@ -85,7 +88,7 @@ function DailyPlugin.bind(Daily) | @@ -85,7 +88,7 @@ function DailyPlugin.bind(Daily) | ||
| 85 | return chapters | 88 | return chapters |
| 86 | end | 89 | end |
| 87 | 90 | ||
| 88 | - --额外宝藏 | 91 | + --绑定通关关卡 额外宝藏 |
| 89 | function Daily:checkChaptersExtra(treasureList, treasureListOther) | 92 | function Daily:checkChaptersExtra(treasureList, treasureListOther) |
| 90 | local chapters = {} | 93 | local chapters = {} |
| 91 | local tmp_chapters = {} | 94 | local tmp_chapters = {} |
| @@ -93,7 +96,6 @@ function DailyPlugin.bind(Daily) | @@ -93,7 +96,6 @@ function DailyPlugin.bind(Daily) | ||
| 93 | --不可以绑定的关卡 | 96 | --不可以绑定的关卡 |
| 94 | --1. 未过期(未挖,在挖,未领) | 97 | --1. 未过期(未挖,在挖,未领) |
| 95 | --2. 正在挂机 | 98 | --2. 正在挂机 |
| 96 | - local now = skynet.timex() | ||
| 97 | for _, curInfo in pairs(treasureList or {}) do | 99 | for _, curInfo in pairs(treasureList or {}) do |
| 98 | if not curInfo["expire_time"] then | 100 | if not curInfo["expire_time"] then |
| 99 | tmp_chapters[curInfo.chapter_id] = curInfo | 101 | tmp_chapters[curInfo.chapter_id] = curInfo |
| @@ -307,13 +309,14 @@ function DailyPlugin.bind(Daily) | @@ -307,13 +309,14 @@ function DailyPlugin.bind(Daily) | ||
| 307 | 309 | ||
| 308 | --宝藏图鉴 | 310 | --宝藏图鉴 |
| 309 | function Daily:getTreasureList() | 311 | function Daily:getTreasureList() |
| 310 | - local tmpcsv = csvdb["idle_treasureCsv"] | ||
| 311 | local treasureList = self:getProperty("treasureList") or {} --挖宝列表 过期删除 领取奖励删除 跨天更新 | 312 | local treasureList = self:getProperty("treasureList") or {} --挖宝列表 过期删除 领取奖励删除 跨天更新 |
| 312 | local treasureListExtra = self:getProperty("treasureListExtra") or {} --额外宝藏列表 过期删除 领取奖励删除 跨天更新 | 313 | local treasureListExtra = self:getProperty("treasureListExtra") or {} --额外宝藏列表 过期删除 领取奖励删除 跨天更新 |
| 314 | + | ||
| 315 | + --获取宝藏列表(与额外宝藏逻辑不同) 进行随机获取宝藏 | ||
| 313 | local tmpTreasure = {} | 316 | local tmpTreasure = {} |
| 314 | local treasureBase = globalCsv.idle_treasure_base + self.owner:getBnousTreasureBaseMaximum() | 317 | local treasureBase = globalCsv.idle_treasure_base + self.owner:getBnousTreasureBaseMaximum() |
| 315 | - for _, val in pairs(tmpcsv) do | ||
| 316 | - if self:checkUnlock(val) == true then | 318 | + for _, val in pairs(csvdb["idle_treasureCsv"]) do |
| 319 | + if self:checkUnlock(val) then | ||
| 317 | local treasure = self:checkTreasureExpired(val, treasureList) | 320 | local treasure = self:checkTreasureExpired(val, treasureList) |
| 318 | if treasure then | 321 | if treasure then |
| 319 | table.insert(tmpTreasure, treasure) | 322 | table.insert(tmpTreasure, treasure) |
| @@ -380,14 +383,14 @@ function DailyPlugin.bind(Daily) | @@ -380,14 +383,14 @@ function DailyPlugin.bind(Daily) | ||
| 380 | end | 383 | end |
| 381 | 384 | ||
| 382 | function Daily:getTreasureExtra(tmpBaseExtra) | 385 | function Daily:getTreasureExtra(tmpBaseExtra) |
| 383 | - local tmpcsv = csvdb["idle_treasureCsv"] | ||
| 384 | local treasureList = self:getProperty("treasureList") or {} --挖宝列表 过期删除 领取奖励删除 跨天更新 | 386 | local treasureList = self:getProperty("treasureList") or {} --挖宝列表 过期删除 领取奖励删除 跨天更新 |
| 385 | local treasureListExtra = self:getProperty("treasureListExtra") or {} --额外宝藏 过期删除 领取奖励删除 跨天更新 | 387 | local treasureListExtra = self:getProperty("treasureListExtra") or {} --额外宝藏 过期删除 领取奖励删除 跨天更新 |
| 386 | 388 | ||
| 389 | + --获取宝藏列表(排除未过期的宝藏) 进行随机获取宝藏 | ||
| 387 | local tmpTreasure = {} | 390 | local tmpTreasure = {} |
| 388 | - for _, val in pairs(tmpcsv) do | 391 | + for _, val in pairs(csvdb["idle_treasureCsv"]) do |
| 389 | if self:checkUnlock(val) then | 392 | if self:checkUnlock(val) then |
| 390 | - local treasure = self:checkTreasureExpired(val, treasureListExtra) | 393 | + local treasure = self:checkTreasureExpired(val, treasureListExtra, true) |
| 391 | if treasure then | 394 | if treasure then |
| 392 | table.insert(tmpTreasure, treasure) | 395 | table.insert(tmpTreasure, treasure) |
| 393 | end | 396 | end |