diff --git a/src/actions/HangAction.lua b/src/actions/HangAction.lua index 4a03c07..e0ec9ea 100644 --- a/src/actions/HangAction.lua +++ b/src/actions/HangAction.lua @@ -132,7 +132,7 @@ local function checkReward(role, isTreasure, carbonId) for id, val in pairs(treasureList) do local award = val.award:toNumMap() for k,v in pairs(award) do - items[k] = (award[k] or 0) + v + items[k] = (items[k] or 0) + v end end end @@ -519,7 +519,7 @@ function _M.quickRpc(agent , data) for id, val in pairs(treasureList) do local award = val.award:toNumMap() for k,v in pairs(award) do - reward[k] = (award[k] or 0) + v + reward[k] = (reward[k] or 0) + v end end end diff --git a/src/models/Daily.lua b/src/models/Daily.lua index 51f39b2..ba259ca 100644 --- a/src/models/Daily.lua +++ b/src/models/Daily.lua @@ -242,6 +242,7 @@ function Daily:checkTreasureChapterId(curInfo, treasureList, chapterId) print("curInfo is nil") return treasure end + local treasureBase = self:getProperty("treasureBase") --开始挖宝关卡ID=挂机关卡ID if chapterId == curInfo.chapter_id then @@ -253,8 +254,12 @@ function Daily:checkTreasureChapterId(curInfo, treasureList, chapterId) if curInfo.cool_time > 1 then --宝藏冷却时间 if not curInfo["expire_time"] then - treasure = treasureList[curInfo.id] - curInfo["expire_time"] = skynet.timex() + curInfo.cool_time * oneDay + if treasureBase >= curInfo["treasure_value"] then + treasureBase = treasureBase - curInfo["treasure_value"] + + treasure = treasureList[curInfo.id] + curInfo["expire_time"] = skynet.timex() + curInfo.cool_time * oneDay + end else --已经领取宝藏 检索宝藏冷却时间 if skynet.timex() >= curInfo["expire_time"] then @@ -262,8 +267,12 @@ function Daily:checkTreasureChapterId(curInfo, treasureList, chapterId) end end else - treasure = treasureList[curInfo.id] - treasureList[curInfo.id] = nil + if treasureBase >= curInfo["treasure_value"] then + treasureBase = treasureBase - curInfo["treasure_value"] + + treasure = treasureList[curInfo.id] + treasureList[curInfo.id] = nil + end end end end @@ -274,8 +283,13 @@ function Daily:checkTreasureChapterId(curInfo, treasureList, chapterId) if curInfo.cool_time > 1 then --宝藏冷却时间 if not curInfo["expire_time"] then - treasure = treasureList[curInfo.id] - curInfo["expire_time"] = skynet.timex() + curInfo.cool_time * oneDay + if treasureBase >= curInfo["treasure_value"] then + treasureBase = treasureBase - curInfo["treasure_value"] + + treasure = treasureList[curInfo.id] + curInfo["expire_time"] = skynet.timex() + curInfo.cool_time * oneDay + end + else --已经领取宝藏 检索宝藏冷却时间 if skynet.timex() >= curInfo["expire_time"] then @@ -283,8 +297,12 @@ function Daily:checkTreasureChapterId(curInfo, treasureList, chapterId) end end else - treasure = treasureList[curInfo.id] - treasureList[curInfo.id] = nil + if treasureBase >= curInfo["treasure_value"] then + treasureBase = treasureBase - curInfo["treasure_value"] + + treasure = treasureList[curInfo.id] + treasureList[curInfo.id] = nil + end end else curInfo["end_time"] = nil -- libgit2 0.21.2