Commit 0163328c949bab54dc12736d577eaa044a1310a8

Authored by liuzujun
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
1 -Subproject commit 2930f3efda2c82192c931929584fd2bc3f66e647 1 +Subproject commit 3c3215a04ace7ebcb57dbb405f2fda22dc551615