Commit 5c6f50cbebb7d73678e09c7f50defdbf187405a1

Authored by zhangqijia
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