Commit e22ded1bb23b14cc8e894a9ea692281d20301486
1 parent
e7c3d3da
被动技奖励
Showing
1 changed file
with
13 additions
and
6 deletions
Show diff stats
src/adv/Adv.lua
@@ -642,16 +642,13 @@ function Adv:over(success, rewardRatio, overType) | @@ -642,16 +642,13 @@ function Adv:over(success, rewardRatio, overType) | ||
642 | end | 642 | end |
643 | local chapterData = csvdb["adv_chapterCsv"][self.chapterId] | 643 | local chapterData = csvdb["adv_chapterCsv"][self.chapterId] |
644 | -- 扣除的东西给积分 | 644 | -- 扣除的东西给积分 |
645 | - local reward = self.owner:getProperty("advItems"):toNumMap() | ||
646 | local addScore = 0 | 645 | local addScore = 0 |
647 | - for itemId, count in pairs(reward) do | 646 | + for itemId, count in pairs(self.owner:getProperty("advItems"):toNumMap()) do |
648 | local itemCsv = csvdb["itemCsv"][itemId] | 647 | local itemCsv = csvdb["itemCsv"][itemId] |
649 | if not itemCsv then | 648 | if not itemCsv then |
650 | print("ERROR: no itemId in ItemCsv : ", itemId) | 649 | print("ERROR: no itemId in ItemCsv : ", itemId) |
651 | elseif itemCsv.type == ItemType.AdvItem then | 650 | elseif itemCsv.type == ItemType.AdvItem then |
652 | addScore = addScore + count * itemCsv.advScore | 651 | addScore = addScore + count * itemCsv.advScore |
653 | - else | ||
654 | - reward[itemId] = math.ceil(count * rewardRatio / 100) | ||
655 | end | 652 | end |
656 | end | 653 | end |
657 | self:scoreChange(AdvScoreType.ItemBack, addScore) | 654 | self:scoreChange(AdvScoreType.ItemBack, addScore) |
@@ -662,10 +659,20 @@ function Adv:over(success, rewardRatio, overType) | @@ -662,10 +659,20 @@ function Adv:over(success, rewardRatio, overType) | ||
662 | local scoreReward = math.floor(score / chapterData.scoreAward) | 659 | local scoreReward = math.floor(score / chapterData.scoreAward) |
663 | self.owner:award({[ItemId.OldCoin] = scoreReward}) | 660 | self.owner:award({[ItemId.OldCoin] = scoreReward}) |
664 | 661 | ||
665 | - reward = self.owner:award(reward) | ||
666 | - | 662 | + -- 被动技会影响奖励 |
667 | self.battle.player:triggerPassive(Passive.ADV_OVER, {score = score, level = self.level}) | 663 | self.battle.player:triggerPassive(Passive.ADV_OVER, {score = score, level = self.level}) |
668 | 664 | ||
665 | + local reward = {} | ||
666 | + for itemId, count in pairs(self.owner:getProperty("advItems"):toNumMap()) do | ||
667 | + local itemCsv = csvdb["itemCsv"][itemId] | ||
668 | + if not itemCsv then | ||
669 | + print("ERROR: no itemId in ItemCsv : ", itemId) | ||
670 | + elseif itemCsv.type ~= ItemType.AdvItem then | ||
671 | + reward[itemId] = math.ceil(count * rewardRatio / 100) | ||
672 | + end | ||
673 | + end | ||
674 | + reward = self.owner:award(reward) | ||
675 | + | ||
669 | if success then | 676 | if success then |
670 | self.owner:checkTaskEnter("AdvPass", {id = self.chapterId, level = self.level, score = score}) | 677 | self.owner:checkTaskEnter("AdvPass", {id = self.chapterId, level = self.level, score = score}) |
671 | 678 |