Commit 0163328c949bab54dc12736d577eaa044a1310a8
1 parent
6d4b10bc
修改活动boss关卡三星条件
Showing
2 changed files
with
26 additions
and
12 deletions
Show diff stats
src/actions/ActivityAction.lua
| @@ -293,7 +293,12 @@ function _M.exchangeRpc(agent, data) | @@ -293,7 +293,12 @@ function _M.exchangeRpc(agent, data) | ||
| 293 | curData[actid] = exchangeData | 293 | curData[actid] = exchangeData |
| 294 | role.activity:updateActData("Exchange", curData) | 294 | role.activity:updateActData("Exchange", curData) |
| 295 | 295 | ||
| 296 | - local reward, change = role:award(actCfg.award, {log = {desc = "actExchange", int1 = actid, int2 = id}}) | 296 | + local award = actCfg.award:toNumMap() |
| 297 | + for k,v in pairs(award) do | ||
| 298 | + award[k] = v * count | ||
| 299 | + end | ||
| 300 | + | ||
| 301 | + local reward, change = role:award(award, {log = {desc = "actExchange", int1 = actid, int2 = id}}) | ||
| 297 | 302 | ||
| 298 | 303 | ||
| 299 | SendPacket(actionCodes.Activity_exchangeRpc, MsgPack.pack(role:packReward(reward, change))) | 304 | SendPacket(actionCodes.Activity_exchangeRpc, MsgPack.pack(role:packReward(reward, change))) |
| @@ -386,7 +391,7 @@ function _M.hangDropRpc(agent, data) | @@ -386,7 +391,7 @@ function _M.hangDropRpc(agent, data) | ||
| 386 | if type == 1 then | 391 | if type == 1 then |
| 387 | local actId = arr[2] | 392 | local actId = arr[2] |
| 388 | local carbonId = arr[3] | 393 | local carbonId = arr[3] |
| 389 | - if not role.activity:isOpenById(actid, "ChallengeLevel") then return 3 end | 394 | + if not role.activity:isOpenById(actId, "ChallengeLevel") then return 3 end |
| 390 | local clInfo = role.activity:getActData("ChallengeLevel") or {} | 395 | local clInfo = role.activity:getActData("ChallengeLevel") or {} |
| 391 | if not clInfo[carbonId] then | 396 | if not clInfo[carbonId] then |
| 392 | break | 397 | break |
| @@ -562,6 +567,14 @@ function _M.endBattleRpc(agent, data) | @@ -562,6 +567,14 @@ function _M.endBattleRpc(agent, data) | ||
| 562 | 567 | ||
| 563 | local actData = role.activity:getActData("ChallengeLevel") or {} | 568 | local actData = role.activity:getActData("ChallengeLevel") or {} |
| 564 | 569 | ||
| 570 | + -- 总输出 | ||
| 571 | + local dmg = 0 | ||
| 572 | + for k, v in pairs(msg.info.damage) do | ||
| 573 | + if k % 100 == 2 then | ||
| 574 | + dmg = dmg + v | ||
| 575 | + end | ||
| 576 | + end | ||
| 577 | + | ||
| 565 | local reward, change = {}, nil | 578 | local reward, change = {}, nil |
| 566 | 579 | ||
| 567 | local battleInfo = actData[id] or {} | 580 | local battleInfo = actData[id] or {} |
| @@ -617,6 +630,10 @@ function _M.endBattleRpc(agent, data) | @@ -617,6 +630,10 @@ function _M.endBattleRpc(agent, data) | ||
| 617 | check[7] = function(_, cond) | 630 | check[7] = function(_, cond) |
| 618 | return msg.info.atime and msg.info.atime <= cond | 631 | return msg.info.atime and msg.info.atime <= cond |
| 619 | end | 632 | end |
| 633 | + -- 8 总输出值 msg.info.atime | ||
| 634 | + check[8] = function(_, cond) | ||
| 635 | + return dmg >= cond | ||
| 636 | + end | ||
| 620 | curStar = 0 | 637 | curStar = 0 |
| 621 | local sweepConds = battleCfg.sweep_condition:toTableArray(true) | 638 | local sweepConds = battleCfg.sweep_condition:toTableArray(true) |
| 622 | for i, cond in ipairs(sweepConds) do | 639 | for i, cond in ipairs(sweepConds) do |
| @@ -624,8 +641,11 @@ function _M.endBattleRpc(agent, data) | @@ -624,8 +641,11 @@ function _M.endBattleRpc(agent, data) | ||
| 624 | curStar = curStar + (1 << (i - 1)) | 641 | curStar = curStar + (1 << (i - 1)) |
| 625 | end | 642 | end |
| 626 | end | 643 | end |
| 627 | - else | ||
| 628 | - curStar = 0 | 644 | + else |
| 645 | + curStar = 0 | ||
| 646 | + if battleCfg.rank ~= 0 then | ||
| 647 | + curStar = 1 | ||
| 648 | + end | ||
| 629 | end | 649 | end |
| 630 | local oldStarNum = getStarCount(battleCfg, battleInfo["star"] or 0) | 650 | local oldStarNum = getStarCount(battleCfg, battleInfo["star"] or 0) |
| 631 | local newStarNum = getStarCount(battleCfg, curStar) | 651 | local newStarNum = getStarCount(battleCfg, curStar) |
| @@ -635,12 +655,6 @@ function _M.endBattleRpc(agent, data) | @@ -635,12 +655,6 @@ function _M.endBattleRpc(agent, data) | ||
| 635 | 655 | ||
| 636 | if battleCfg.rank ~= 0 then | 656 | if battleCfg.rank ~= 0 then |
| 637 | -- 更新排行榜 最高伤害 | 657 | -- 更新排行榜 最高伤害 |
| 638 | - local dmg = 0 | ||
| 639 | - for k, v in pairs(msg.info.damage) do | ||
| 640 | - if k % 100 == 2 then | ||
| 641 | - dmg = dmg + v | ||
| 642 | - end | ||
| 643 | - end | ||
| 644 | battleInfo["top"] = math.max(battleInfo["top"] or 0, dmg) | 658 | battleInfo["top"] = math.max(battleInfo["top"] or 0, dmg) |
| 645 | battleInfo["sum"] = (battleInfo["sum"] or 0) + dmg | 659 | battleInfo["sum"] = (battleInfo["sum"] or 0) + dmg |
| 646 | local rankVal = 0 | 660 | local rankVal = 0 |
| @@ -659,7 +673,7 @@ function _M.endBattleRpc(agent, data) | @@ -659,7 +673,7 @@ function _M.endBattleRpc(agent, data) | ||
| 659 | if oldStarNum == 0 or battleCfg.rank ~= 0 then | 673 | if oldStarNum == 0 or battleCfg.rank ~= 0 then |
| 660 | reward = battleCfg.item_clear:toNumMap() | 674 | reward = battleCfg.item_clear:toNumMap() |
| 661 | end | 675 | end |
| 662 | - if (oldStarNum < 3 and newStarNum == 3) or battleCfg.rank ~= 0 then | 676 | + if (oldStarNum < 3 and newStarNum == 3) or (battleCfg.rank ~= 0 and newStarNum == 3) then |
| 663 | local aw = battleCfg.perfect_reward:toNumMap() | 677 | local aw = battleCfg.perfect_reward:toNumMap() |
| 664 | for k, v in pairs(aw) do | 678 | for k, v in pairs(aw) do |
| 665 | reward[k] = (reward[k] or 0) + v | 679 | reward[k] = (reward[k] or 0) + v |