Commit e03f9e59f5a2cda0c66d3ba10deef70e83a40e9c
1 parent
6afa6078
fix: 修复挂机得到双倍宝藏奖励的bug
1.修复挂机得到双倍宝藏奖励的bug; 2.检查资源值足够才能获得宝藏。
Showing
2 changed files
with
28 additions
and
10 deletions
Show diff stats
src/actions/HangAction.lua
@@ -132,7 +132,7 @@ local function checkReward(role, isTreasure, carbonId) | @@ -132,7 +132,7 @@ local function checkReward(role, isTreasure, carbonId) | ||
132 | for id, val in pairs(treasureList) do | 132 | for id, val in pairs(treasureList) do |
133 | local award = val.award:toNumMap() | 133 | local award = val.award:toNumMap() |
134 | for k,v in pairs(award) do | 134 | for k,v in pairs(award) do |
135 | - items[k] = (award[k] or 0) + v | 135 | + items[k] = (items[k] or 0) + v |
136 | end | 136 | end |
137 | end | 137 | end |
138 | end | 138 | end |
@@ -519,7 +519,7 @@ function _M.quickRpc(agent , data) | @@ -519,7 +519,7 @@ function _M.quickRpc(agent , data) | ||
519 | for id, val in pairs(treasureList) do | 519 | for id, val in pairs(treasureList) do |
520 | local award = val.award:toNumMap() | 520 | local award = val.award:toNumMap() |
521 | for k,v in pairs(award) do | 521 | for k,v in pairs(award) do |
522 | - reward[k] = (award[k] or 0) + v | 522 | + reward[k] = (reward[k] or 0) + v |
523 | end | 523 | end |
524 | end | 524 | end |
525 | end | 525 | end |
src/models/Daily.lua
@@ -242,6 +242,7 @@ function Daily:checkTreasureChapterId(curInfo, treasureList, chapterId) | @@ -242,6 +242,7 @@ function Daily:checkTreasureChapterId(curInfo, treasureList, chapterId) | ||
242 | print("curInfo is nil") | 242 | print("curInfo is nil") |
243 | return treasure | 243 | return treasure |
244 | end | 244 | end |
245 | + local treasureBase = self:getProperty("treasureBase") | ||
245 | 246 | ||
246 | --开始挖宝关卡ID=挂机关卡ID | 247 | --开始挖宝关卡ID=挂机关卡ID |
247 | if chapterId == curInfo.chapter_id then | 248 | if chapterId == curInfo.chapter_id then |
@@ -253,8 +254,12 @@ function Daily:checkTreasureChapterId(curInfo, treasureList, chapterId) | @@ -253,8 +254,12 @@ function Daily:checkTreasureChapterId(curInfo, treasureList, chapterId) | ||
253 | if curInfo.cool_time > 1 then | 254 | if curInfo.cool_time > 1 then |
254 | --宝藏冷却时间 | 255 | --宝藏冷却时间 |
255 | if not curInfo["expire_time"] then | 256 | if not curInfo["expire_time"] then |
256 | - treasure = treasureList[curInfo.id] | ||
257 | - curInfo["expire_time"] = skynet.timex() + curInfo.cool_time * oneDay | 257 | + if treasureBase >= curInfo["treasure_value"] then |
258 | + treasureBase = treasureBase - curInfo["treasure_value"] | ||
259 | + | ||
260 | + treasure = treasureList[curInfo.id] | ||
261 | + curInfo["expire_time"] = skynet.timex() + curInfo.cool_time * oneDay | ||
262 | + end | ||
258 | else | 263 | else |
259 | --已经领取宝藏 检索宝藏冷却时间 | 264 | --已经领取宝藏 检索宝藏冷却时间 |
260 | if skynet.timex() >= curInfo["expire_time"] then | 265 | if skynet.timex() >= curInfo["expire_time"] then |
@@ -262,8 +267,12 @@ function Daily:checkTreasureChapterId(curInfo, treasureList, chapterId) | @@ -262,8 +267,12 @@ function Daily:checkTreasureChapterId(curInfo, treasureList, chapterId) | ||
262 | end | 267 | end |
263 | end | 268 | end |
264 | else | 269 | else |
265 | - treasure = treasureList[curInfo.id] | ||
266 | - treasureList[curInfo.id] = nil | 270 | + if treasureBase >= curInfo["treasure_value"] then |
271 | + treasureBase = treasureBase - curInfo["treasure_value"] | ||
272 | + | ||
273 | + treasure = treasureList[curInfo.id] | ||
274 | + treasureList[curInfo.id] = nil | ||
275 | + end | ||
267 | end | 276 | end |
268 | end | 277 | end |
269 | end | 278 | end |
@@ -274,8 +283,13 @@ function Daily:checkTreasureChapterId(curInfo, treasureList, chapterId) | @@ -274,8 +283,13 @@ function Daily:checkTreasureChapterId(curInfo, treasureList, chapterId) | ||
274 | if curInfo.cool_time > 1 then | 283 | if curInfo.cool_time > 1 then |
275 | --宝藏冷却时间 | 284 | --宝藏冷却时间 |
276 | if not curInfo["expire_time"] then | 285 | if not curInfo["expire_time"] then |
277 | - treasure = treasureList[curInfo.id] | ||
278 | - curInfo["expire_time"] = skynet.timex() + curInfo.cool_time * oneDay | 286 | + if treasureBase >= curInfo["treasure_value"] then |
287 | + treasureBase = treasureBase - curInfo["treasure_value"] | ||
288 | + | ||
289 | + treasure = treasureList[curInfo.id] | ||
290 | + curInfo["expire_time"] = skynet.timex() + curInfo.cool_time * oneDay | ||
291 | + end | ||
292 | + | ||
279 | else | 293 | else |
280 | --已经领取宝藏 检索宝藏冷却时间 | 294 | --已经领取宝藏 检索宝藏冷却时间 |
281 | if skynet.timex() >= curInfo["expire_time"] then | 295 | if skynet.timex() >= curInfo["expire_time"] then |
@@ -283,8 +297,12 @@ function Daily:checkTreasureChapterId(curInfo, treasureList, chapterId) | @@ -283,8 +297,12 @@ function Daily:checkTreasureChapterId(curInfo, treasureList, chapterId) | ||
283 | end | 297 | end |
284 | end | 298 | end |
285 | else | 299 | else |
286 | - treasure = treasureList[curInfo.id] | ||
287 | - treasureList[curInfo.id] = nil | 300 | + if treasureBase >= curInfo["treasure_value"] then |
301 | + treasureBase = treasureBase - curInfo["treasure_value"] | ||
302 | + | ||
303 | + treasure = treasureList[curInfo.id] | ||
304 | + treasureList[curInfo.id] = nil | ||
305 | + end | ||
288 | end | 306 | end |
289 | else | 307 | else |
290 | curInfo["end_time"] = nil | 308 | curInfo["end_time"] = nil |